c# - 当有许多具有相同标签的对撞机时,有没有办法只访问一个对撞机?
问题描述
我有一个脚本,可以将您正在触摸的对象移动到手指的位置,它基于标签,因此当我触摸带有标签的对象时,所有具有相同标签的对象都会移动到该位置。有没有办法只让我触摸的那个移动?
剧本
{
void FixedUpdate()
{
if (Input.touchCount > 0)
{
RaycastHit2D hitInformation = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position),Camera.main.transform.forward);
if (hitInformation.collider.gameObject.tag == "RocketPrefab")
{
Vector3 touchPosition = Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position);
touchPosition.z = -4;
transform.position = touchPosition;
Debug.Log(touchPosition);
}
}
}
} ```
解决方案
您可以访问您的 Raycast 正在接触的对象hitInformation.collider.gameObject
。
从我看到的代码来看,我认为这应该可行:
void FixedUpdate()
{
if (Input.touchCount > 0)
{
RaycastHit2D hitInformation = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position),Camera.main.transform.forward);
if (hitInformation.collider.gameObject.tag == "RocketPrefab")
{
Vector3 touchPosition = Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position);
touchPosition.z = -4;
hitInformation.collider.gameObject.transform.position = touchPosition;
Debug.Log(touchPosition);
}
}
}
推荐阅读
- jquery - Choppy CSS 悬停动画有多个元素
- javascript - 如何在选择文件按钮上显示完整的文件名
- javascript - “可选字段”Angular 2 Reactive 表单的自定义验证器
- ckan - 如何获取 Ckan API 访问统计信息?
- java - 当我们使用自己的线程池时,netty可以是线程安全的吗?如果netty可以,为什么?
- postgresql - Postgresql - 在时间戳字段中插入空白
- python - 谁能告诉我如何在 Python 中正确使用 GDAL Grid?
- reactjs - onSubmit() 在 React.js 中不起作用
- angular - MAT_DIALOG_DATA 的 Angular 测试依赖注入
- kubernetes - 获取部署的副本集