2016-02-13 99 views
1

我是新來的團結,我試圖讓無盡的跑步者。當我的球員(一個球)擊中牆壁時,比賽需要進入場景:LostMenu。我的問題是碰撞不起作用。碰撞時沒有任何反應......這裏是玩家和牆上的檢查員:牆壁http://prntscr.com/a2pgzm玩家http://prntscr.com/a2ph66Unity3D與角色控制器的碰撞

碰撞腳本的牆壁上:

using UnityEngine; 
using System.Collections; 

public class LostByWallCSR : MonoBehaviour 
{ 
    void OnCollisionEnter (Collision col) 
    { 
     if(col.gameObject.name == "Player") 
     { 
      Application.LoadLevel("LostMenu"); 
      Debug.Log ("WORKS!"); 
     } 
    } 
} 

運動腳本的球員:

using UnityEngine; 
using System.Collections; 

public class CharacterControllerz : MonoBehaviour { 

public float speed = 5f; 
public float gravity = 20f; 
private Vector3 moveDirections = new Vector3(); 
private Vector3 inputs = new Vector3(); 

void FixedUpdate() 
{ 
    CharacterController cc = GetComponent<CharacterController>(); 
    if (cc.isGrounded) 
    { 
     if (Input.GetKey("left")) 
      inputs.z = 3; 
     else if (Input.GetKey("right")) 
      inputs.z = -3; 
     else 
      inputs.z = 0; 

     moveDirections = transform.TransformDirection(inputs.x, 0, inputs.z) * speed;      
    } 

    inputs.x = 5; 
    moveDirections.y = inputs.y - gravity; 
    cc.Move(moveDirections * Time.deltaTime); 
} 
} 

如何設置碰撞妥善任何想法?附加一個rigibody並不能幫助它。除非我錯過了某些課程。

+0

沒有在這兩個機構連接剛體OnCollision將無法正常工作 –

+0

所以,你告訴我,我需要附加一個剛體和我的球員一個CharacterController?我不認爲這些東西一起工作得很好... – BelgianWizard

+0

將剛體連接到你的牆上而不是 –

回答

0

確保兩個物體都有碰撞組件。

你需要一個剛體元件附加的對象之一。(如果你不重視剛體它不會工作)

你的球撞機觸發,刪除或更改功能

public void OnTriggerEnter(Collider other) 
    { 

    }