【发布时间】:2014-05-30 17:53:03
【问题描述】:
我试图在 Unity C# 中为 Pong 游戏制作 AI,但问题是 AI 的移动速度似乎与球的飞行速度相同。我似乎无法弄清楚如何让 AI 以设定的速度或与玩家相同的速度移动。
using UnityEngine;
using System.Collections;
public class AIController : MonoBehaviour {
Transform Ball;
Transform Ai;
void Update ()
{
//
Ball = GameObject.FindGameObjectWithTag ("Ball").transform;
Ai = GameObject.FindGameObjectWithTag ("Ai").transform;
if (Ball.position.y > 0) {
Debug.Log ("Ball Pos " + Ball.position.y);
Ai.position = new Vector3(Ai.position.x, Ball.position.y, 0);
}
else if (Ball.position.y < 0)
{
Debug.Log("Ball Pos " + Ball.position.y);
Ai.position = new Vector3(Ai.position.x, Ball.position.y, 0);
}
}
}
【问题讨论】:
-
你在什么时候让它对玩家的行为做出反应?
-
它对球的运动做出反应,但由于某种原因与球的速度相同。
-
你期望你当前的代码做什么,除了 AI y position 跟踪球的精确位置?
标签: c# unity3d artificial-intelligence pong