我正在尝试通过关于Unity的教程(Will Goldstone的书籍3.x Game Development Essentials)并继续遇到错误消息,我无法弄清楚我的代码有什么问题。它来自第5章,我用Javascript写这个。我能看到的一切都是正确的 - 在我的OpenDoor功能线2&在我的shutDoor功能line2。:
空参考例外 PlayerCollisionsjs.OpenDoor(UnityEngine.GameObject门)(在Assests / Scripts /PlayerCollisionsjs.js:47 **和37行下面的行。)
我错过了什么?我的OpenDoor
&如果我删除关闭的门请求......任何想法
CloseDoor
声音并且代码可以正常工作
#pragma strict
private var doorIsOpen : boolean = false;
private var doorTimer : float = 0.0;
private var currentDoor : GameObject;
var doorOpenTime : float = 3.0;
var doorOpenSound : AudioClip;
var doorShutSound : AudioClip;
function Start () {
}
function Update () {
if(doorIsOpen) { doorTimer += Time.deltaTime;
if(doorTimer > doorOpenTime) {
shutDoor(currentDoor);
doorTimer = 0.0f;
}
}
}
function OnControllerColliderHit(hit : ControllerColliderHit){
if(hit.gameObject.tag == "playerDoor" && doorIsOpen == false) {
currentDoor == hit.gameObject;
OpenDoor(hit.gameObject);
OpenDoor(currentDoor);
}
}
function OpenDoor(door: GameObject) {
doorIsOpen = true;
door.audio.PlayOneShot(doorOpenSound);
door.transform.parent.animation.Play("dooropen");
}
function shutDoor(door : GameObject) {
doorIsOpen = false;
door.audio.PlayOneShot(doorShutSound);
door.transform.parent.animation.Play("doorshut");
}
我确实看到其他人卡在相同的代码上,但我们没有遇到同样的问题,我的音频在插入shutDoor功能之前就有效了。
答案 0 :(得分:0)
我认为您没有将开门和关门声音分配给两个音频片段,首先将这些声音分配给您的变量,然后您的错误就会完成。