listing2.cpp
来自「C人工智能游戏开发的一些实例源代码 C Game development in 」· C++ 代码 · 共 34 行
CPP
34 行
/* Copyright (C) Gari Biasillo, 2001.
* All rights reserved worldwide.
*
* This software is provided "as is" without express or implied
* warranties. You may freely copy and compile this source into
* applications you distribute provided that the copyright text
* below is included in the resulting source code, for example:
* "Portions Copyright (C) Gari Biasillo, 2001"
*/
// Once the AI has chosen its target, appropriate actions must
// be taken to resolve how to reach it. The AI aims to mimic user
// input so it must calculate the relative direction to travel and
// apply the appropriate steering.
float CCarAI::SteerToTarget(const vector3& dest)
{
vector3 DestForward, cp;
DestForward = dest - m_Pos;
DestForward.y = 0.0f;
DestForward.normalize();
// Compute the sine between current & destination.
cp = CrossProduct(m_Forward, DestForward);
float steer = cp.magnitude() * m_SteerConvert;
// Steer left or right ?
if (cp.y > 0.0f) {steer = -steer;}
steer = Clamp(steer, -1.0f, 1.0f);
return (steer);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?