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() じゃすまないんですね。

この記事には、カテゴリ AS3 タグは , がつけられています。