添加扭矩与固定角度2D字符
本文关键字:2D 字符 添加 | 更新日期: 2023-09-27 18:09:08
这几天我一直在纠结这个问题,所以我希望你们能帮忙。
我正在制作一款2D游戏,我希望我的角色在冰上跑得太久时滑倒、向后倒并撞到头部。我的目标是,如果你在冰上长时间按住奔跑按钮,他就会向后滑,伤到自己。我用的是playmaker,不过我懂一点c#编程。
我尝试的第一件事是制作一个动画浮动,随着时间的推移增加Z轴的旋转,但这出现了严重的错误,使角色到处跳跃/跳过/故障。
我想到的第二件事是添加2D扭矩,使他开始向后滑动,但他保持相同的旋转与fixedAngle true。
所以当他在冰上时,fixedAngle为假,但当我开始奔跑时,他立即向前或向后摔倒。我把重心放在正中间,所以只要他不动,他就能站得很好。
有谁知道达到我想要的效果的方法吗?这是我的第一款游戏,我是个新手,所以希望有一个更简单/正确的方法来处理这个问题。我可能做错了,所以任何正确方向的指导都将非常感谢。
从你的语言来看,你似乎想要追踪玩家在冰上奔跑的时间。
如果你想将此绑定到运行键处于下,则在按钮处于下时启动计时器,并在一定时间后触发"滑倒"事件。
如果你想将此与玩家停留在冰面上的时间联系起来,那么当玩家到达冰面时启动计时器,并在一定时间后触发"滑倒"事件。
如果你想有一个视觉倾斜,将时间增量与对象的角度联系起来。设定一个角度来触发"滑倒"事件。
Update(){
if(this.running && _terrainAtPos == <Ice> && isGrounded){
transform.Rotate(0,0,3*Time.deltaTime);
if(tranform.rotation.z > 180){
//do falling event
}
}
}
编辑:以上不是工作示例。我只是想说明一下。