【发布时间】:2015-03-04 00:38:37
【问题描述】:
我创建了一个脚本,它使用 RayCasting 来检测两个 Prefab - 一个 prefab 有一个名为“target”的标签,第二个 prefab 有一个名为“unTarget”的标签。单击带有“Target”标签的预制件1时,它应该增加计数,而当点击带有“unTarget”标签的预制件2时,它应该减少计数。当场景中只有一个 Prefab 时,这似乎有效。当仅添加并单击一个时,它将递增/递减。当两个预制件都在场景中时,两个预制件都会增加。我不确定为什么会这样。任何帮助或想法?对不起,如果我的代码有点乱。
using UnityEngine;
using System.Collections;
public class clicks : MonoBehaviour
{
public int score;
void Start()
{
score = 0;
}
// Update is called once per frame
void Update()
{
if (Input.GetMouseButtonDown (0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit,200))
{
if (GameObject.FindGameObjectWithTag ("target"))
{
score++;
}
else
{
score--;
}
}
}
}
【问题讨论】:
-
另外,只实现 IPointerClickHandler 比手动进行光线投射要容易得多。
标签: c# unity3d monodevelop