■ このスレッドは過去ログ倉庫に格納されています
【3Dゲームエンジン】Unity質問スレッド10
- 1 :名前は開発中のものです。:2014/06/26(木) 23:02:03.72 ID:t35CWy1R.net
- 3Dゲームエンジン「Unity」の質問に優しく答えるスレです。
Windows/Mac用。JavaScript/C#/Booといった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他
次スレは>>970を踏んだ方が建てること。ダメなら>>980か>>990が建てて下さい。
■前スレ
【3Dゲームエンジン】Unity質問スレッド9
http://peace.2ch.net/test/read.cgi/gamedev/1399506271/
■本スレ
【3Dゲームエンジン】Unity総合スレッド22
http://toro.2ch.net/test/read.cgi/gamedev/1395140574/
■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
http://www24.atwiki.jp/unity2ch/
●リンク
・Unity(日本公式サイト)
http://unity3d.com/japan/
・ユーザーガイド&リファレンス
http://japan.unity3d.com/developer/document/
・チュートリアル
http://japan.unity3d.com/developer/document/tutorial/
・スクリプトリファレンス
http://docs-jp.unity3d.com/Documentation/ScriptReference/
・FAQ
http://answers.unity3d.com/index.html
・MSDN
http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
- 271 :名前は開発中のものです。:2014/07/06(日) 12:07:34.19 ID:/ZhdI6Tk.net
- Updateメソッドは毎F呼ばれる
falseにずっとなってても1度しか鳴らしたくないのであれば
フラグでも立てればいいのでは?
var flag : int = 0;
function Update () {
if(goalScript.cleared==false && flag == 0){
audio.Play();
audio.clip = voice;
flag = 1; //再プレイ抑止
}
- 272 :名前は開発中のものです。:2014/07/06(日) 12:07:36.22 ID:A7UAPEqP.net
- audio.Play()のつかいかた自体と言うよりも、
毎回、音がなってるからそれ制御してやって。
- 273 :名前は開発中のものです。:2014/07/06(日) 12:24:22.63 ID:www09xjy.net
- >>270
アセットを購入しましょう
- 274 :名前は開発中のものです。:2014/07/06(日) 12:24:31.86 ID:+M1clTAW.net
- >>271
Updateの考え方が分かりました。
PG初心者なもので、ありがとうございます。
毎F呼ばれるので、スタート時や何かアクションを
起こしたときに再生されるのですね。。。
また、ご連絡いただきましたスクリプトですと、
「cleared==false」になったと同時に「flag = 1」に
なってしまいます。
「audio.Play()」再生後に「flag = 1」にするには、
どのように対応すれば宜しいでしょうか。
すみませんが、宜しくお願いします。
- 275 :名前は開発中のものです。:2014/07/06(日) 12:46:49.69 ID:g+013jS2.net
- どういう用途でサウンドを再生したいの?
「スタート!」とかBGMとか効果音とかでやり方変わるよ
初心者ならフローチャートみたいのを書いた方が楽にできるだろうし、
論理的な考え方も身につくんじゃないかな?
- 276 :名前は開発中のものです。:2014/07/06(日) 12:52:35.12 ID:/ZhdI6Tk.net
- >>274
audio.Play();
audio.clip = voice;
ここ2ステップの正当性については検証していませんが
処理順的にvoiceが鳴ったあとにフラグONされるはずですが・・・
デバッガでステップインしたらちゃんとそこを通っていますか?
voiceにはちゃんと中身が入っていますか?
- 277 :名前は開発中のものです。:2014/07/06(日) 12:57:30.13 ID:+M1clTAW.net
- >>275
256です。
度々すみません
"キャラを3Dフィールドで動かして、「goalObj」というアーチオブジェクトを
通過したら、「voice」を再生。
また再度通過しても、同様に「voice」を再生する。"
という使用でサウンドを鳴らしたいと考えています。
宜しくお願いします。
- 278 :名前は開発中のものです。:2014/07/06(日) 13:10:34.33 ID:+M1clTAW.net
- >>276
256です。
いただきましたスクリプトで下記のように記述しています。
現状このような状態です。
・再生すると「flag」が常に1の状態です。
・「flag = 1」の部分をコメントアウトすると音声が流れます。
・「cleared==false」になったときに「flag = 0」になり
「voice」の再生が終わったら「flag = 1」になるイメージでしょうか。
(書き方がちょっと分かりませんが…)
宜しくお願いします。
var goalObj:GameObject;
var goalScript:GoalScript;
var voice: AudioClip;
var flag : int = 0;
function Start () {
goalScript=goalObj.GetComponent("GoalScript");
}
function Update () {
if(goalScript.cleared==false && flag == 0){
audio.Play();
audio.clip = voice;
flag = 1;
}
}
- 279 :名前は開発中のものです。:2014/07/06(日) 13:27:50.82 ID:N5QQMiFF.net
- goalScript.clearedって通過した瞬間だけ1になるようにできないの?
あるいは goalScriptのclearedをクリアチェックして更新してる箇所で
if(audio.isPlaying == false) {
audio.clip = voice;
audio.Play();
}
ぢゃないの?
も一つおまけにゴール通過した時とゴール地点に居座った時の区別とか付く?
- 280 :名前は開発中のものです。:2014/07/06(日) 13:33:54.41 ID:yBLHkZ9t.net
- まず、Updateの仕様を理解するところからはじめようぜ。
そのスクリプトをつけたゲームオブジェクトがシーンに存在している間は、1秒間に60回とか永遠にUpdateは実行される。
なにかのボタンを押した時だけ再生したいとかなら、そのボタンを押したという情報をUpdate内で判断してplayを実行しなきゃならん。
それが、flagだ。
だから、ボタンを押した時にこのflagを1にしてやる処理を書かないと動かん。
総レス数 1066
346 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★