AS3でタイムラインベース開発
ホント初心者でスミマセン。
root変数
AS3のタイムラインベース開発で、入れ子になったmcの内側からroot変数を参照するときは、AS2だと _root.hoge でよかったんですが、AS3では違います。rootをMovieClipにする必要があります。
//rootのタイムライン1 var rootNum:uint =1 // //mc1の内側 MovieClip(root).rootNum = 2
あるいは
var rootObj = this.root as MovieClip rootObj.rootNum = 2
サウンド
ここではライブラリに mySound というリンケージサウンドがあるものとして、このmySoundのボリュームを10%で1回再生したいときは、AS2では
var s1:Sound = new Sound(_root) s1.attachSound(mySound) s1.setVolume(10) s1.start(0,1)
だったんですが、AS3では違いますよね。
var s1:Sound = new mySound() var channel1:SoundChannel = s1.play(0,1) var trans:SoundTransform = channel1.soundTransform trans.volume = 0.1
サウンドごとにチャンネルを割り当てて、チャンネルごとにトランスフォーム(ボリューム、パン)を設定するということですね。じゃあボリュームを変えて再生を止めたいときは s1.setVolume(50);s1.stop() じゃすまないんですね。