C# 统一中玩家爬升的c脚本问题
我正试图让运动员爬梯子。2D游戏 我用了这个密码C# 统一中玩家爬升的c脚本问题,c#,unity3d,C#,Unity3d,我正试图让运动员爬梯子。2D游戏 我用了这个密码 void OnTriggerEnter2D(Collider2D collider){ if(collider.gameObject.tag=="Ladder"){ _canClimb = true; _anim.SetBool("Climb",true); } } void OnTriggerExit2D(Collider2D collider){ if(collider.gameObj
void OnTriggerEnter2D(Collider2D collider){
if(collider.gameObject.tag=="Ladder"){
_canClimb = true;
_anim.SetBool("Climb",true);
}
}
void OnTriggerExit2D(Collider2D collider){
if(collider.gameObject.tag=="Ladder"){
_canClimb = false;
_anim.SetBool("Climb",false);
}
}
在更新中
if(Input.GetKey(KeyCode.UpArrow) && _canClimb == true){
transform.position = Vector3.Lerp(transform.position,ladderTop.transform.position,Time.deltaTime);
}
我已经把一个儿童游戏对象放在梯子上,以获得梯子顶部的位置
但当玩家跳跃并用梯子的框碰撞器击中时,我可以看到攀爬动画。在那之后,球员再次摔倒在地。它不会向上移动。原因是什么?现在它正按照我的预期工作,下面是代码
if(Input.GetKey(KeyCode.UpArrow) && _canClimb == true){
_myRigidBody.isKinematic = true;
transform.position = Vector3.Lerp(transform.position,ladderTop.transform.position,Time.deltaTime);
}
我刚刚添加了这一行,效果非常好:
_myRigidBody.iskinetic=true
如果启用IsKinetic,力、碰撞或关节将不再影响刚体