2016-04-14 4 views
0

"サウンドオフ"と "サウンドオン"イメージを使用してゲームサウンドを制御する方法を理解しようとしています。下のコードはサウンドボタンを表示しますが、クリックするとサウンドはミュートされますが、ボタンの上に影付きの円が追加されます。Unityのサウンドボタンを切り替えるJavascriptコード

私はユニティに慣れていないので、サウンドからサウンドオフのボタンに切り替える方法やガイドをしたいです。

画像ファイル名:SoundButton.psdとWhiteCircle.psd

var whiteCircle : GameObject; 
var numberOfTouch : int = 0; 
private var a : float = 1; 
function Start() { 
    if (PlayerPrefs.GetInt("SoundBoolean") == 0) { 
     //check whether the sound is included, if turned on, then play sound. 
     numberOfTouch = 0; 
     whiteCircle.GetComponent(SpriteRenderer).enabled = false; 
    } 
    if (PlayerPrefs.GetInt("SoundBoolean") == 1) { 
     //check whether the sound is included, if turned off, then turn off the sound. 
     numberOfTouch = 1; 
     whiteCircle.GetComponent(SpriteRenderer).enabled = true; 
    } 
} 
function OnMouseDown() { 
    if (a <= 0) { 
     if (numberOfTouch == 0) { 
      //completely turn off the music. 
      a = 1; 
      numberOfTouch = 1; 
      gameObject.GetComponent.<AudioSource>().Play(); 
      whiteCircle.GetComponent(SpriteRenderer).enabled = true; 
      PlayerPrefs.SetInt("SoundBoolean", 1); 
      PlayerPrefs.Save(); 
     } 
    } 
    if (a <= 0) { 
     if (numberOfTouch == 1) { 
      //a fully turn on the music. 
      a = 1; 
      numberOfTouch = 0; 
      whiteCircle.GetComponent(SpriteRenderer).enabled = false; 
      PlayerPrefs.SetInt("SoundBoolean", 0); 
      PlayerPrefs.Save(); 
     } 
    } 
} 
function Update() { 
    if (a >= 0) { 
     a -= 0.1; 
    } 
} 
+0

unityscriptタグがかなり小さく、「javascript」と「audio」タグの人が再クエリしていないので、質問にもっとユニティ関連のタグ(「unity3d、unity5など」など)を追加することをお勧めします。特定の知識。 – IdeaMan

+0

ありがとう@IdeaManはそれを行った。 – Chelseawillrecover

+0

あなたのために今働いていないものは教えていただけますか?あなたのプログラムにはどんなふるまいがありますか? – Joetjah

答えて

0

私が正しく理解されているように、あなたが持っているオブジェクト上のスプライトを変更するために何かを探しています。私は自分のコードや何かをテストしているわけではありませんが、恐らくあなたの問題を解決するのに役立ちます。

var sprite1 : Sprite; // Drag your first sprite here 
var sprite2 : Sprite; // Drag your second sprite here 
var spriteRenderer : SpriteRenderer = whiteCircle.GetComponent(SpriteRenderer); 

var whiteCircle : GameObject; 
var numberOfTouch : int = 0; 
private var a : float = 1; 
function Start() { 
    if (PlayerPrefs.GetInt("SoundBoolean") == 0) { 
     //check whether the sound is included, if turned on, then play sound. 
     numberOfTouch = 0; 
     spriteRenderer.sprite = sprite2; 
    } 
    if (PlayerPrefs.GetInt("SoundBoolean") == 1) { 
     //check whether the sound is included, if turned off, then turn off the sound. 
     numberOfTouch = 1; 
     spriteRenderer.sprite = sprite1; 
    } 
} 
function OnMouseDown() { 
    if (a <= 0) { 
     if (numberOfTouch == 0) { 
      //completely turn off the music. 
      a = 1; 
      numberOfTouch = 1; 
      gameObject.GetComponent.<AudioSource>().Play(); 
      spriteRenderer.sprite = sprite1; 
      PlayerPrefs.SetInt("SoundBoolean", 1); 
      PlayerPrefs.Save(); 
     } 
    } 
    if (a <= 0) { 
     if (numberOfTouch == 1) { 
      //a fully turn on the music. 
      a = 1; 
      numberOfTouch = 0; 
      spriteRenderer.sprite = sprite2; 
      PlayerPrefs.SetInt("SoundBoolean", 0); 
      PlayerPrefs.Save(); 
     } 
    } 
} 
function Update() { 
    if (a >= 0) { 
     a -= 0.1; 
    } 
} 

基本的に、あなたが(代わりに、オンとオフそれを回すの)特定のspriterenderer上のスプライトを交換、その後、あなたの画像ファイルをドラッグできる場所への2つのスプライトポイントを追加します。

+0

それを試してエラーが発生しました: ERROR1 - SoundButton.js(1,8):BCE0043:予期しないトークン:スプライト。 ERROR2 - SoundButton.js(2,8):BCE0043:予期しないトークン:スプライト。 ERROR3 - SoundButton.js(3,9):BCE0043:予期しないトークン:SpriteRenderer。 – Chelseawillrecover

+0

@Chelseawillrecover私は自分の投稿を編集しました。 UnityScriptの代わりにC#を使用しました。 – Joetjah

+0

次の[変更](http://snag.gy/ELJnk.jpg)を実行して別の問題が発生しました。 SoundButtonとSoundButtonOffは各ボタン画像のファイル名です。 エラー:SoundButton.js(2,15):BCE0018: 'SoundButtonOff'という名前が有効なタイプ( 'not found')を示していません。あなたは 'System.Net.Mail.SmtpDeliveryMethod'を意味しましたか? – Chelseawillrecover

関連する問題