我正在使用DirectX在C++中进行游戏。我绘制了一个基本的AI。我想要的AI走动为正方形,例如:移动代码C++
- 的AI,直到它达到25向上移动Z轴,
- 那么AI沿着由25 X轴移动时,
- 然后沿着Z轴向下,沿着X轴向回,直到它完成了正方形的完整运动。
这是我到目前为止;这会使AI在Z轴上向上移动25,然后沿着Z轴向下移动25次。
if (ghost_moves_forward == true)
{
ghost_Z -= ghost_movement;
}
else if (ghost_moves_forward == false)
{
ghost_Z += ghost_movement;
}
if (ghost_Z >= 25)
{
ghost_moves_forward = true;
}
if (ghost_Z <= -25)
{
ghost_moves_forward = false;
}
在此先感谢您。
编辑:
float ghost_X = 0; //make the AI move along the x axis
float ghost_Z = 0; // makes the AI move along the Z axis
int ghost_movement = 1; // speed the AI moves
bool ghost_moves_forward = true; // true when AI moves forward, false when its moving sideways
bool ghost_moves_sideways = true;// true when moving sideways, false when moving forwards
我使用了AI的翻译职位ghost_X
和ghost_Z
。
D3DXMatrixTranslation(&g_matLocal, ghost_X, 0, ghost_Z);
那么你的问题是什么? –
即时通讯努力让我的脑袋围绕其余的if循环,使人工智能在一个正方形中移动,而不是仅仅向前和向后 – DK10
您需要提供比这更多的代码。所有变量代表什么? – StevieG