自动瞄准系统是iOS游戏必备的内容,玩家不想使用复杂的右摇杆指向打击敌人,这时候可以为他们提供更加‘人体工程’的选择(很时髦的硬件话语不是吗;)自动瞄准系统。可恶的《枪火战线》!
我将研究一下自动瞄准系统的应用。
在PlayerController中有PlayerMove函数,对该函数进行分析:
该函数是控制人物操作的基本函数,在该函数内修改PC或是手柄的操作。
一些重要的变量,
local vector NewAccel;
local vector NewLookDir;
local vector TraceHitLoc;
local vector TraceHitNormal;
local rotator OldRotation;
local AntEnemy traceEnemy;
local float closetTraceEnemyDistance;
local float currentTraceEnemyDistance;
local bool SetAnyTarget;
由于我现在的能力很牛逼,现在不对这些东西做解释,有一些见名知意;)
OldRotation=rotation; //存储一下现在的方向
NewAccel.X=PlayerInput.RawJoyUp;
NewAccel.y=PlayerInput.RawJoyRight; //两者的方向
NewAccel=Pawn.AccelRate*Normal(NewAccel); //啊哈,原来半天在搞的是Pawn.AccelRate的方向啊
这时候是我着重考虑的地方,摇杆的使用!
if(UseGamePadControl)
{
if(Abs(PlayerInput.RawJoyLookUp)<0.1&&Abs(PlayerInput.RawJoyLookRight)<0.1) //看好这可是右摇杆RawJoyLookUp
{
NewLookDir=NewAccel; //人物的前进方向就是当前角色的转向
}
else
{
NewLookDir.X=-PlayerInput.RawJoyLookUp;
NewLookDir.Y=PlayerInput.RawJoyLookRight; //转动玩家的方向
NewLookDir.Z=0; //Z轴方向不变
}
}
算了,再写这篇文章的时候自动瞄准系统我已经写完了。byebye