【发布时间】:2014-05-27 02:35:52
【问题描述】:
嘿,我在统一接受触摸注册时遇到问题。我正在创建的程序需要能够在阻止它的项目海洋中注册对特定项目的触摸。目前 Unity 没有注册我的触摸,因为我试图打印出消息以查看它在哪里结束并且它没有注册触摸。任何有关修复我的代码的帮助将不胜感激。 PS:代码是用Javascript编写的。
#pragma strict
var target: GameObject;
var SpawnPoint: Transform;
var TargetCollider : BoxCollider;
var hit : RaycastHit;
var clone: GameObject;
function Start () {
var x = Random.Range(-14,17);
var y = Random.Range(-6,9);
var z = Random.Range(2,3);
SpawnPoint.position = Vector3(x,y,0);
yield WaitForSeconds(5);
clone = Instantiate(target, SpawnPoint.position, SpawnPoint.rotation);
}
function Update ()
{
/*
if (Input.GetTouch(0))
{
if (hit.collider != null)
{
var hit = RaycastHit;
var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
TargetCollider = target.GetComponent(BoxCollider);
if (collider.Raycast(ray, RaycastHit, 100.00f)) {
if (hit.collider != null)
{
Destroy(clone);
Application.LoadLevel("Splash Screen Win");
}
}
}
}
*/
var tapCount = Input.touchCount;
for (var i = 0; i < tapCount; i++)
{
var touch = Input.GetTouch(i);
var hit : RaycastHit;
if (Physics.Raycast (Camera.main.ScreenPointToRay(touch.position)))
{
print("test");
/*if (hit.collider != null)
{
Destroy(clone);
Application.LoadLevel("Splash Screen Win");
}*/
}
}
}
【问题讨论】:
-
你想触摸的物体有碰撞器组件吗?确保它没有设置为触发模式(或者如果是,请在物理选项中启用“光线投射命中触发器”)。
标签: unity3d unityscript