【发布时间】:2018-12-29 17:55:11
【问题描述】:
我想要实现的是当玩家触摸屏幕时显示一个精灵,当一个角色到达精灵的位置时让它消失,我做了一张图片如果我不清楚,请想象我的话:
感谢您的帮助
【问题讨论】:
标签: unity3d input rendering sprite
我想要实现的是当玩家触摸屏幕时显示一个精灵,当一个角色到达精灵的位置时让它消失,我做了一张图片如果我不清楚,请想象我的话:
感谢您的帮助
【问题讨论】:
标签: unity3d input rendering sprite
添加之前的答案: 你应该从你的触摸位置进行光线投射:
void Update()
{
Ray raycast = Camera.main.ScreenPointToRay(Input.GetTouch(0).position);
RaycastHit raycastHit;
if (Physics.Raycast(raycast, out raycastHit))
{
if (raycastHit.transform.GetComponent<BoxCollider2D>())
{
sprite.SetActive(false);
}
}
}
【讨论】:
1) 显示精灵使用
if (Input.touchCount > 0)
{ gameObjectToShow.SetActive(true); }
2) 消除它:将 Collider 添加到 gameObjectToShow (2D Box 或 Circle),使其触发,增加该 Collider 的半径并使用 OnTriggerEnter 和 gameObjectToShow.SetActive(false);
【讨论】: