我实际上有2个问题。我遇到的第一个问题是,当我开始游戏时,所有4门大炮无缘无故地执行动画序列,没有任何反应。我希望这不会发生。我遇到的第二个问题是炮弹射出地板上的产卵并沿着地板飞行。以下是解雇序列的代码:
using UnityEngine;
using System.Collections;
public class Cannon : MonoBehaviour {
public AudioClip sound;
public GameObject prefab;
public GameObject ejectPoint;
void Start () {
prefab = Resources.Load ("Cannon_Ball") as GameObject;
}
public void Fire () {
GameObject Cannon_Ball = Instantiate (prefab) as GameObject;
Cannon_Ball.transform.position = transform.position + ejectPoint.transform.forward * 2;
Rigidbody rd = Cannon_Ball.GetComponent<Rigidbody> ();
rd.velocity = ejectPoint.transform.forward * 130;
AudioSource.PlayClipAtPoint(sound, transform.position, 1);
GetComponent<Animation> ().Play ();
}
}
以下是问题的GIF:
答案 0 :(得分:0)
修复1:取消选中“自动播放”或在动画制作工具中找到相同的选项。我认为在你开始游戏后,你的动画师会因为恶劣的条件设置甚至完全没有条件而将他的状态从“开始”改为“射击”。如果您在此处粘贴动画师的屏幕截图,那将非常有用。
如果您想解决第二个问题,请观看此视频: