初学Unity,最近在尝试做飞机大战小游戏,想问一下敌人弧线运动的问题?
在书上看到了这段代码:
void Update()
{
UpdateMove();
}
protected virtual void UpdateMove()
{
float rx = Mathf.Sin(Time.time) * Time.deltaTime;
transform.Translate(new Vector3(rx, 0, - m_speed * Time.deltaTime));
}
代码执行后,敌人运动轨迹是这样:
但为什么不是下图的轨迹呢?
希望各位指点一下!
我猜测你是修改的是z轴,然后看不到效果,我把你的代码改了一下,运行可以达到你上图效果
void UpdateMove()
{
float rx = Mathf.Sin(Time.time) * Time.deltaTime * 100;
transform.Translate(new Vector3(rx, -m_speed * Time.deltaTime, 0));
}