我目前正在做足球比赛。
在这个迷你游戏中,当玩家触摸球时,它会增加力量,并且目标是获得更高的得分。
所以我写道:
void Update()
{
if(Input.touchCount == 1 && Input.GetTouch(0).phase== TouchPhase.Began)
{
AddForce, and playsound ect...
}
}
Run Code Online (Sandbox Code Playgroud)
这样,当我触摸屏幕上的任意位置时,它会增加力量,但是当我触摸我的游戏对象(球)时,我只想增加力量。
我怎样才能做到这一点?
谢谢!:)
我现在有点坚持我的剧本。当一个带有我的脚本的游戏对象具有特定游戏对象的触发事件时,我想在一段时间后销毁特定的游戏对象。
所以我来到了这个:
void OnTriggerEnter ( Collider other) {
if (other.gameObject.tag == "leaf1"){
StartCoroutine (LeafDestruction ());
}
}
IEnumerator LeafDestruction(){
yield return new WaitForSeconds (5);
Destroy (gameObject);
}
Run Code Online (Sandbox Code Playgroud)
我知道这是一个菜鸟错误,但我想我错过了一些东西,因为当我运行这个脚本时,它会破坏带有脚本的游戏对象,而不是特定的游戏对象(带有标签)。
我该如何解决?
我正在使用Unity开发游戏应用程序。我在移动GameObject时遇到问题。
在我的游戏中,当玩家使用其设备向上滑动时,GameObject从点A移至B,而当他向下滑动时,游戏对象则从B移至A。
我用游戏逻辑编写了一个C#脚本,但是涉及到这个问题。
问题在于GameObject立即从A移动到B。
这是我用来移动GameObject的代码行:
transform.localPosition = Vector3.MoveTowards (PositionA,PositionB,Time.deltaTime * speed);
Run Code Online (Sandbox Code Playgroud)
speed 是一个值为10.0f的浮点数。
我希望我的GameObject缓慢移动以将A指向B。尽管速度值发生了变化,但没有任何变化,它仍然在瞬间移动。
我该如何解决?(我尝试Vector3.Lerp过,但结果相同)。