我试图编写一个小的副作用,使得玩家在停止移动时滑动一些像素。
但是他们在动画结束前有这个小的卡顿,我实在不知道我的脚本什么地方会导致这个问题。
这才是我的代码:
var oldWeight = 0.6;//原始权重
var newWeight = 0.5;//新的权重
//移动速度=运动控制的右键-左键
move = (key_right - key_left);
targetspeed = move * maxSpeed;//目标速度=移动速度*最大速度
isTurning = (move != 0 && move * movespeed < 0);//判断是否正在转弯
//判断是否已经转弯并且在转弯时且旧的速率小于新速率,不断减少旧速率
if (isTurning && !alreadyTurned)
{
movespeed = (movespeed * oldWeight) + (targetspeed * newWeight);
alreadyTurned = true;
}
//在非转弯状态下,alwaysTurned变成false
if (!isTurning)
alreadyTurned = false;
//当move不等于零的时候(即正在移动时)
if (move != 0)
{
movespeed = approach(movespeed, targetspeed, accel);//使动画更加平滑
}
else
{
movespeed = approach(movespeed, 0, deccel);//使动画更加平滑
//当运动速率较小时,重新指定运动速率为0
if (Math.abs(movespeed) < move_axis)
movespeed = 0;
}
hsp = movespeed;//运动速率
//当对象正向运动且运动速度大于move_axis时,设置向量的方向
if (face_direction && Math.abs(hsp) > move_axis)
{
facing = sign(hsp);
xscale = facing;
}
评论 (0)