[英]Unity3d not liking collision
using UnityEngine;
using System.Collections;
public class chicken_for : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void FixedUpdate () {
if (collision.gameObject.Quad == collisionObject){
Application.LoadLevel("SciFi Level");
}
}
}
我試圖當一個人碰到四邊形時,他去了這個科幻堡壘。 但是,它說“沖突”這個名稱在當前上下文中不存在。
您引用的變量不存在( collision
)。 您也有一個不存在的變量collisionObject
。
collision
通常是OnCollisionEnter
方法的參數名稱。 您的代碼可能應該在此方法內,而不是FixedUpdate
。 我猜您是從某個地方的教程中復制了代碼,但是將其放在錯誤的方法中。
collisionObject
,另一方面是難以猜測,但我相信,如果你的腳本旨在為玩家對象上的組件,然后collisionObject
應該是你的四核; 如果腳本位於四邊形上,則collisionObject
應該是播放器。
無論哪種方式,您都需要聲明該變量-可能是一個公共字段,以便可以從檢查器中填充它。
添加新功能,並確保在檢查器中將播放器標記為播放器。 您還需要確保播放器接觸的四邊形上有一個碰撞器,並且播放器上有一個剛體組件。
using UnityEngine;
using System.Collections;
public class chicken_for : MonoBehaviour {
//This function will handle the collision on your object
void OnCollisionEnter (Collider col){
if(col.gameobject.tag == "Player"){ //if colliding object if tagged player
Application.LoadLevel("SciFi Level"); //load the sci-fi level
}
}
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
}
這樣可以大致了解您想去的地方!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.