Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 统一中玩家爬升的c脚本问题_C#_Unity3d - Fatal编程技术网

C# 统一中玩家爬升的c脚本问题

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

我正试图让运动员爬梯子。2D游戏

我用了这个密码

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,力、碰撞或关节将不再影响刚体