【问题标题】:why is my sound not playing为什么我的声音没有播放
【发布时间】:2012-03-20 03:21:55
【问题描述】:
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 OpenDoor (door : GameObject)
{   
    doorIsOpen = true;
    door.audio.PlayOneShot(doorOpenSound);
    door.transform.parent.animation.Play("doorOpen");
}

function OnControllerColliderHit (hit : ControllerColliderHit)
{

    if(hit.gameObject.tag == "playerDoor" && doorIsOpen == false)
    {
        OpenDoor(hit.gameObject);       
    }
}

这应该在我的角色撞到门时播放声音,但我不明白为什么

【问题讨论】:

  • 你确定这不是 ActionScript 吗?
  • 是的,我确定,我理解类似的混乱

标签: audio unity3d unityscript gameobject


【解决方案1】:

转到Project 然后Book Assets Folder 然后sounds folder 然后将Door_open 声音拖到这些变量:

var doorOpenSound : AudioClip; var doorShutSound : AudioClip;

你的声音会播放。

【讨论】:

    【解决方案2】:

    完成简单的步骤; 首先通过一些调试验证您的代码是否到达 OnControllerColliderHit,然后到达 OpenDoor(hit.gameObject); 还要确认可以播放 door.transform.parent.animation.Play("doorOpen"); (并以正常代码而不是条件发出声音)

    从代码 sn-p 可能是您的“playerDoor”定义在其他地方不正确

    【讨论】:

    • 我觉得自己像个白痴,它就像 playerDoor 一样简单,就像 playerdoor 那样你必须在这种时候踢自己
    • 哦,谢谢,如果你不提,我不会想到
    • 我们都去过那里;你看代码的次数越多,有时你就越会错过。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多