外部swfでループを伴うサウンドを制御するにはイベントサウンド処理する事お勧めします。
イベントサウンドは何度ループしても必要な処理量は変わりませんが、ストリーミングはループすれば
した分だけ処理を必要とするからです。
標準的なイベントサウンドの再生方法。
「サウンド」タブで再生したいサウンドを選択。同期を「スタート」に設定。「繰り返し」タブで繰り返したい数を設定。
標準的なイベントサウンドの停止方法。
同期を「スタート」させたサウンドを再生している時にそのサウンドを「ストップ」に設定しているフレームに
飛ばすと止まります。
これからプログラムで効率よくイベントサウンドの再生を停止する方法を模索予定

2007年11月30日
2007年11月29日
引数にデフォルトの値を設定
引数のデフォルト値を設定する事ができる。
デフォルト値を設定するには関数に引数を設定する際に数値を入れる。
その数値が引数のデフォルト値になる。
例題
defaultParameterという関数に引数を設定。第一引数にデフォルト値を設定しない引数。第二引数にデフォルト値、「12」を設定した
引数を設定。
defaultParameterにアクセスする際に、第一引数だけに「1」の値を入れる。
defaultParameterが 呼び出し元が設定した値の1と、defaultParameterが第二引数に設定したデフォルト値の「12が出力される」
function defaultParameter(ef:uint,sp:Number=12)
{
trace(ef+sp);
}
defaultParameter(0)// 0,12
デフォルト値を設定するには関数に引数を設定する際に数値を入れる。
その数値が引数のデフォルト値になる。
例題
defaultParameterという関数に引数を設定。第一引数にデフォルト値を設定しない引数。第二引数にデフォルト値、「12」を設定した
引数を設定。
defaultParameterにアクセスする際に、第一引数だけに「1」の値を入れる。
defaultParameterが 呼び出し元が設定した値の1と、defaultParameterが第二引数に設定したデフォルト値の「12が出力される」
function defaultParameter(ef:uint,sp:Number=12)
{
trace(ef+sp);
}
defaultParameter(0)// 0,12
2007年11月28日
「ctrl」のキーイベントを感知して処理を実行
「ctrl」キーを押すと処理を実行する。
ctrlのキーコードは「17」。
ボタンを押すとイベントを発行するのは
「KeyboardEvent.KEY_DOWN」
押していたボタンを離すとイベントを発行するのは
「KeyboardEvent.KEY_UP」
var isSkip:Boolean=false;
var index_ui:uint=0;
stage.addEventListener(KeyboardEvent.KEY_DOWN, ctrlDownHandler);
//faは
function ctrlDownHandler(event:KeyboardEvent){
if(event.keyCode == 17){
trace("開始!!"+index_ui);
isSkip=true;
trace("処理一");
trace("処理2");
index_ui++;
trace("終了"+index_ui);
}
}
stage.addEventListener(KeyboardEvent.KEY_UP, KeyUpFunc);
function KeyUpFunc(event:KeyboardEvent){
if(event.keyCode == 17){
trace("ctrlが離された時点でのindex_ui="+index_ui);
isSkip=false;
}
}
ctrlのキーコードは「17」。
ボタンを押すとイベントを発行するのは
「KeyboardEvent.KEY_DOWN」
押していたボタンを離すとイベントを発行するのは
「KeyboardEvent.KEY_UP」
var isSkip:Boolean=false;
var index_ui:uint=0;
stage.addEventListener(KeyboardEvent.KEY_DOWN, ctrlDownHandler);
//faは
function ctrlDownHandler(event:KeyboardEvent){
if(event.keyCode == 17){
trace("開始!!"+index_ui);
isSkip=true;
trace("処理一");
trace("処理2");
index_ui++;
trace("終了"+index_ui);
}
}
stage.addEventListener(KeyboardEvent.KEY_UP, KeyUpFunc);
function KeyUpFunc(event:KeyboardEvent){
if(event.keyCode == 17){
trace("ctrlが離された時点でのindex_ui="+index_ui);
isSkip=false;
}
}
「ctrl」のキーイベントを感知し処理を実行
「ctrl」キーを押すと処理を実行する。
ctrlのキーコードは「17」。
ボタンを押すとイベントを発行するのは
「KeyboardEvent.KEY_DOWN」
押していたボタンを離すとイベントを発行するのは
「KeyboardEvent.KEY_UP」
var isSkip:Boolean=false;
var index_ui:uint=0;
stage.addEventListener(KeyboardEvent.KEY_DOWN, ctrlDownHandler);
//faは
function ctrlDownHandler(event:KeyboardEvent){
if(event.keyCode == 17){
trace("開始!!"+index_ui);
isSkip=true;
trace("処理一");
trace("処理2");
index_ui++;
trace("終了"+index_ui);
}
}
stage.addEventListener(KeyboardEvent.KEY_UP, KeyUpFunc);
function KeyUpFunc(event:KeyboardEvent){
if(event.keyCode == 17){
trace("ctrlが離された時点でのindex_ui="+index_ui);
isSkip=false;
}
}
ctrlのキーコードは「17」。
ボタンを押すとイベントを発行するのは
「KeyboardEvent.KEY_DOWN」
押していたボタンを離すとイベントを発行するのは
「KeyboardEvent.KEY_UP」
var isSkip:Boolean=false;
var index_ui:uint=0;
stage.addEventListener(KeyboardEvent.KEY_DOWN, ctrlDownHandler);
//faは
function ctrlDownHandler(event:KeyboardEvent){
if(event.keyCode == 17){
trace("開始!!"+index_ui);
isSkip=true;
trace("処理一");
trace("処理2");
index_ui++;
trace("終了"+index_ui);
}
}
stage.addEventListener(KeyboardEvent.KEY_UP, KeyUpFunc);
function KeyUpFunc(event:KeyboardEvent){
if(event.keyCode == 17){
trace("ctrlが離された時点でのindex_ui="+index_ui);
isSkip=false;
}
}
2007年11月27日
クリックしてハンドラされるイベントとタイマーイベントでハンドラされる関数を統一
テストのテスト。
クリックしてハンドラされるイベントとタイマーイベントでハンドラされる関数を同じにしました。
var isAuto:Boolean=true;
var auto_tm:Timer=new Timer(1000,0);
auto_tm.addEventListener(TimerEvent.TIMER,sampleHandler)
function sampleHandler(evt:Event)
{
trace("アクセス");
if(isAuto)
{
trace("trueなのでタイマーイベントで定期的にアクセス");
auto_tm.start();
}
}
sample_mc.addEventListener(MouseEvent.CLICK,sampleHandler)
クリックしてハンドラされるイベントとタイマーイベントでハンドラされる関数を同じにしました。
var isAuto:Boolean=true;
var auto_tm:Timer=new Timer(1000,0);
auto_tm.addEventListener(TimerEvent.TIMER,sampleHandler)
function sampleHandler(evt:Event)
{
trace("アクセス");
if(isAuto)
{
trace("trueなのでタイマーイベントで定期的にアクセス");
auto_tm.start();
}
}
sample_mc.addEventListener(MouseEvent.CLICK,sampleHandler)
2007年11月26日
unload () メソッドでLoaderオブジェクトがロードしたswfを消去する。
Loaderオブジェクトがロードしたデータを消去するunload () メソッドについて解説します。
unload メソッドを使うことLoaderがロードしたデータを消去する事ができます。
例題
Loaderがロードしたswfをunload()メソッドを使って消去。
var my_lo:Loader=new Loader();
my_lo.contentLoaderInfo.addEventListener(Event.COMPLETE,loadHandler)
my_lo.load(new URLRequest("sample.swf"))
var unLoad_tm:Timer=new Timer(1000,0);
unLoad_tm.addEventListener(TimerEvent.TIMER,unloadHandler)
addChild(my_lo)
function loadHandler(evt:Event)
{
trace("ロード完了");
trace("my_lo="+my_lo.content)//[object MainTimeline]
unLoad_tm.start();
}
function unloadHandler(evt:Event)
{
trace("my_loのデータを消去します");
my_lo.unload();
trace("my_lo="+my_lo.content)//null
unLoad_tm.stop();
}
Loaderでロードしたデータが不要になったらすぐにunload()メソッドでデータを消去しておく事をお勧めします。
unload メソッドを使うことLoaderがロードしたデータを消去する事ができます。
例題
Loaderがロードしたswfをunload()メソッドを使って消去。
var my_lo:Loader=new Loader();
my_lo.contentLoaderInfo.addEventListener(Event.COMPLETE,loadHandler)
my_lo.load(new URLRequest("sample.swf"))
var unLoad_tm:Timer=new Timer(1000,0);
unLoad_tm.addEventListener(TimerEvent.TIMER,unloadHandler)
addChild(my_lo)
function loadHandler(evt:Event)
{
trace("ロード完了");
trace("my_lo="+my_lo.content)//[object MainTimeline]
unLoad_tm.start();
}
function unloadHandler(evt:Event)
{
trace("my_loのデータを消去します");
my_lo.unload();
trace("my_lo="+my_lo.content)//null
unLoad_tm.stop();
}
Loaderでロードしたデータが不要になったらすぐにunload()メソッドでデータを消去しておく事をお勧めします。
2007年11月24日
「navigateToURL」メソッドのおさらい
Webサイトにアクセスするには「navigateToURL」メソッドを使います
第一引数にサイトパス、第二引数に_blankなど開くウィンドゥの形式を指定します。
例題
sample_mcというmcをクリックするとindex.htmlに飛びます。
sample_mc.addEventListene(MouseEvent.CLICK,gameMCClickHandler);
function gameMCClickHandler(evt:Event)
{
trace("evt"+evt.target)
navigateToURL(new URLRequest("index.html"),"_blank");
}
第一引数にサイトパス、第二引数に_blankなど開くウィンドゥの形式を指定します。
例題
sample_mcというmcをクリックするとindex.htmlに飛びます。
sample_mc.addEventListene(MouseEvent.CLICK,gameMCClickHandler);
function gameMCClickHandler(evt:Event)
{
trace("evt"+evt.target)
navigateToURL(new URLRequest("index.html"),"_blank");
}
2007年11月23日
配列にアクセスする時はデータ型を指定する事でアクセスが高速化される
配列にアクセスする時はデータ型を指定する事でアクセスが高速化されます。キャストという言い方もあります。
例題
整数値と文字列を入れた配列の値をデータ型を指定して取り出す。
my_arr=new Array();
my_arr[0]=5;
my_arr[1]="あいうえお";
trace(uint(my_arr[0]))//整数値のデータ型uint()で値を取り出す
trace(uint(my_arr[0]))//文字列のデータ型String()で値を取り出す
5という整数値を格納したmy_arr[0]から値を取り出すには
uint(my_arr[0])でuintのデータ型を指定して取りだします。
「あいうえお」という文字列を格納したmy_arr[1]から値を取り出すにはString(my_arr[1])でStringのデータ型を指定して取り出します。
データ型を指定して値を取り出す事で配列へのアクセスが高速化されます。
配列へアクセスする際はデータ型を指定して値を取り出す事をお勧めします。
例題
整数値と文字列を入れた配列の値をデータ型を指定して取り出す。
my_arr=new Array();
my_arr[0]=5;
my_arr[1]="あいうえお";
trace(uint(my_arr[0]))//整数値のデータ型uint()で値を取り出す
trace(uint(my_arr[0]))//文字列のデータ型String()で値を取り出す
5という整数値を格納したmy_arr[0]から値を取り出すには
uint(my_arr[0])でuintのデータ型を指定して取りだします。
「あいうえお」という文字列を格納したmy_arr[1]から値を取り出すにはString(my_arr[1])でStringのデータ型を指定して取り出します。
データ型を指定して値を取り出す事で配列へのアクセスが高速化されます。
配列へアクセスする際はデータ型を指定して値を取り出す事をお勧めします。
2007年11月22日
Loaderがファイルのロードに失敗した時のIOErrorEvent.IO_ERROR
Loaderがファイルのロードに失敗した時のIOErrorEvent.IO_ERRORについて解説します。IOErrorEvent.IO_ERRORはLoaderやURLLoaderがファルのロードに失敗した時のイベント処理です。なんらかの事情でファイルが正常にロードされない事もあるので、Loaderを使う処理を行う時は、ロードに失敗した時の事も考えてIOErrorEventの処理をきちんと設定しておく事をお勧めします。
例題
URLLoaderがファイルをロードした際に、ファイルがみつからなかった場合のIOErrorEvent.IO_ERRORで設定した関数にアクセス。
xmlLoader.addEventListener (IOErrorEvent.IO_ERROR,xmlIoErrorEvent);
xmlLoader.load(new URLRequest("notfound.swf"));;
function xmlIoErrorEvent(evt:IOErrorEvent)
{
trace("XMLのロードに失敗しました。")
}
例題
URLLoaderがファイルをロードした際に、ファイルがみつからなかった場合のIOErrorEvent.IO_ERRORで設定した関数にアクセス。
xmlLoader.addEventListener (IOErrorEvent.IO_ERROR,xmlIoErrorEvent);
xmlLoader.load(new URLRequest("notfound.swf"));;
function xmlIoErrorEvent(evt:IOErrorEvent)
{
trace("XMLのロードに失敗しました。")
}
2007年11月21日
一つのLoaderで新しいswfをロードすると前にロードしたswfのデータは消去される。
一つのLoaderで新しいswfをロードすると前にロードしていたswfのデータは消去されます。
2007年11月20日
addEventListenerでイベントを定義したLoaderオブジェクトをnewで初期化するとaddEventListenerで定義した イベントも初期化される
addEventListenerでイベントを定義したLoaderオブジェクトをnewで初期化するとaddEventListenerで定義した
イベントも初期化されます。
newで初期化したLoaderに初期前のLoaderと同じ振る舞いをさせたい時は同じイベントをもう一度設定する必要があります。
例題 Loaderがswfをロードが完了したら完了通知のイベントをトリガさせる。初期化した後にロードしてもイベント定義が初期化
されているため、完了通知のイベントはトリガしない。
var my_lo:Loader=new Loader();
my_lo.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler)
my_lo.load(new URLRequest("sample.swf"));
function completeHandler(evt:Event)
{
//ファイルをロードが完了した際にトリガされるイベント
}
my_lo.load(new URLRequest("sample.swf"));
//my_loオブジェクトを初期化する
my_lo=new Loader();
my_lo.load(new URLRequest("sample.swf"));//newで初期化されているためイベントがトリガされない
イベントも初期化されます。
newで初期化したLoaderに初期前のLoaderと同じ振る舞いをさせたい時は同じイベントをもう一度設定する必要があります。
例題 Loaderがswfをロードが完了したら完了通知のイベントをトリガさせる。初期化した後にロードしてもイベント定義が初期化
されているため、完了通知のイベントはトリガしない。
var my_lo:Loader=new Loader();
my_lo.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler)
my_lo.load(new URLRequest("sample.swf"));
function completeHandler(evt:Event)
{
//ファイルをロードが完了した際にトリガされるイベント
}
my_lo.load(new URLRequest("sample.swf"));
//my_loオブジェクトを初期化する
my_lo=new Loader();
my_lo.load(new URLRequest("sample.swf"));//newで初期化されているためイベントがトリガされない
2007年11月19日
ダイナミックテキストにフォントを定義
ダイナミックテキストにフォントを定義するには、「TextFormat」オブジェクトのfontメソッドを
使用します。
font:String [read-write]
TextFormat.font="フォント名"
""にフォント名を指定します。
このフォント名を指定したTextFormatオブジェクトをテキストフィールドに適用する事で
テキストフィールドにフォントが定義されます。
ちなみにテキストフィールドにTextFormatオブジェクトを指定するにはdefaultTextFormatメソッドを使用します。
my_txt.defaultTextFormat=my_fmt;
var my_txt:TextField=new TextField();
var my_fmt:TextFormat=new TextFormat();
my_fmt.font="Arial"
my_txt.defaultTextFormat=my_fmt;
my_txt.text="フォントテスト";
使用します。
font:String [read-write]
TextFormat.font="フォント名"
""にフォント名を指定します。
このフォント名を指定したTextFormatオブジェクトをテキストフィールドに適用する事で
テキストフィールドにフォントが定義されます。
ちなみにテキストフィールドにTextFormatオブジェクトを指定するにはdefaultTextFormatメソッドを使用します。
my_txt.defaultTextFormat=my_fmt;
var my_txt:TextField=new TextField();
var my_fmt:TextFormat=new TextFormat();
my_fmt.font="Arial"
my_txt.defaultTextFormat=my_fmt;
my_txt.text="フォントテスト";
2007年11月18日
定数を決めるconstについて
定数を定義するconstについて解説します。
定数とは値を一度だけ指定する変数です。
例
const samlple_ui:uint=10;
samlple_ui=20//error
constで定義したsample_uiには違う値を代入する事はできません。
一度定義した後は絶対に変更しない数をconstで定義するとバグの防止に繋がります。
プログラムの不具合を防ぐために変更しない数はconstとして定義しておきましょう。
定数 (値を 1 回だけ割り当てることができる変数) を指定します。
定数とは値を一度だけ指定する変数です。
例
const samlple_ui:uint=10;
samlple_ui=20//error
constで定義したsample_uiには違う値を代入する事はできません。
一度定義した後は絶対に変更しない数をconstで定義するとバグの防止に繋がります。
プログラムの不具合を防ぐために変更しない数はconstとして定義しておきましょう。
定数 (値を 1 回だけ割り当てることができる変数) を指定します。
2007年11月17日
スライダーのコンポーネントを使って外部swfで読み込んだ音声ファイルのボリュームを調整しました。
スライダーのコンポーネントを使って外部swfで読み込んだ音声ファイルのボリュームを調整しました。後日仕組みを解説したいと思います。
以下ソースコード
import fl.events.SliderEvent;
var my_arr:Array=new Array();
var my_lo:Loader=new Loader();
var seBgm_lo:Loader=new Loader();
var se_lo:Loader=new Loader();
var seBgm_obj:Object;
var my_obj:Object;
var se_obj:Object;
my_obj=my_lo;
seBgm_obj=seBgm_lo;
se_obj=se_lo;
my_lo.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler)
seBgm_lo.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler)
se_lo.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler)
my_lo.load(new URLRequest("sound/bgm.swf"));
seBgm_lo.load(new URLRequest("sound/se_bgm.swf"));
se_lo.load(new URLRequest("sound/se.swf"));
function completeHandler(evt:Event)
{
trace("ロード完了");
var bgmTrans:SoundTransform = my_obj.content.soundTransform;
var seTrans:SoundTransform = se_obj.content.soundTransform;
trace("trans="+bgmTrans.volume)
config_mc.bgmVol_txt.text=""+bgmTrans.volume*100;
config_mc.seBgmVol_txt.text=""+seTrans.volume*100;
//var previewBgmVol_num=trans.volume*100;
//bgmVol_txt.text=""+previewBgmVol_num;
}
config_mc.bgmSlider_vol.addEventListener(SliderEvent.THUMB_DRAG,bgmVolumeSliderChangeFunc)
config_mc.seBgmSlider_vol.addEventListener(SliderEvent.THUMB_DRAG,seBgmVolumeSliderChangeFunc)
function bgmVolumeSliderChangeFunc(evt:Event)
{
trace("bgmここです");
var trans:SoundTransform = my_obj.content.soundTransform;
trans.volume = config_mc.bgmSlider_vol.value;
my_obj.content.soundTransform = trans;
var previewBgmVol_num:uint=trans.volume*100;
config_mc.bgmVol_txt.text=""+previewBgmVol_num;
}
function seBgmVolumeSliderChangeFunc(event){
trace("seここです");
var seBgmTrans:SoundTransform = seBgm_obj.content.soundTransform;
var seTrans:SoundTransform = se_obj.content.soundTransform;
seBgmTrans.volume = config_mc.seBgmSlider_vol.value;
seTrans.volume = config_mc.seBgmSlider_vol.value;
seBgm_obj.content.soundTransform = seBgmTrans;
se_obj.content.soundTransform = seTrans;
var previewSeBgmVol_num:uint=seBgmTrans.volume*100;
trace("previewSeBgmVol_num="+ previewSeBgmVol_num)
//trace("seTrans.volume ="+seTrans.volume +"seBgmTrans"+seBgmTrans.volume)
config_mc.seBgmVol_txt.text=""+previewSeBgmVol_num;
};
以下ソースコード
import fl.events.SliderEvent;
var my_arr:Array=new Array();
var my_lo:Loader=new Loader();
var seBgm_lo:Loader=new Loader();
var se_lo:Loader=new Loader();
var seBgm_obj:Object;
var my_obj:Object;
var se_obj:Object;
my_obj=my_lo;
seBgm_obj=seBgm_lo;
se_obj=se_lo;
my_lo.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler)
seBgm_lo.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler)
se_lo.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler)
my_lo.load(new URLRequest("sound/bgm.swf"));
seBgm_lo.load(new URLRequest("sound/se_bgm.swf"));
se_lo.load(new URLRequest("sound/se.swf"));
function completeHandler(evt:Event)
{
trace("ロード完了");
var bgmTrans:SoundTransform = my_obj.content.soundTransform;
var seTrans:SoundTransform = se_obj.content.soundTransform;
trace("trans="+bgmTrans.volume)
config_mc.bgmVol_txt.text=""+bgmTrans.volume*100;
config_mc.seBgmVol_txt.text=""+seTrans.volume*100;
//var previewBgmVol_num=trans.volume*100;
//bgmVol_txt.text=""+previewBgmVol_num;
}
config_mc.bgmSlider_vol.addEventListener(SliderEvent.THUMB_DRAG,bgmVolumeSliderChangeFunc)
config_mc.seBgmSlider_vol.addEventListener(SliderEvent.THUMB_DRAG,seBgmVolumeSliderChangeFunc)
function bgmVolumeSliderChangeFunc(evt:Event)
{
trace("bgmここです");
var trans:SoundTransform = my_obj.content.soundTransform;
trans.volume = config_mc.bgmSlider_vol.value;
my_obj.content.soundTransform = trans;
var previewBgmVol_num:uint=trans.volume*100;
config_mc.bgmVol_txt.text=""+previewBgmVol_num;
}
function seBgmVolumeSliderChangeFunc(event){
trace("seここです");
var seBgmTrans:SoundTransform = seBgm_obj.content.soundTransform;
var seTrans:SoundTransform = se_obj.content.soundTransform;
seBgmTrans.volume = config_mc.seBgmSlider_vol.value;
seTrans.volume = config_mc.seBgmSlider_vol.value;
seBgm_obj.content.soundTransform = seBgmTrans;
se_obj.content.soundTransform = seTrans;
var previewSeBgmVol_num:uint=seBgmTrans.volume*100;
trace("previewSeBgmVol_num="+ previewSeBgmVol_num)
//trace("seTrans.volume ="+seTrans.volume +"seBgmTrans"+seBgmTrans.volume)
config_mc.seBgmVol_txt.text=""+previewSeBgmVol_num;
};
2007年11月16日
swfのラベル名を取得するcurrentLabels プロパティ について
swfのラベル名を取得するcurrentLabels プロパティ について開設します。
currentLabels:Array [read-only]
currentLabelsプロパティはswfのラベル名をすべて取得する事ができます。取得したラベル名は配列で返します。
ロードした外部swfのラベル名にアクセスするには
loader.content.currentLabels;
loaderがロードした外部SWF内のラベル名を配列でまとめて返してくれます。
currentLabels:Array [read-only]
currentLabelsプロパティはswfのラベル名をすべて取得する事ができます。取得したラベル名は配列で返します。
ロードした外部swfのラベル名にアクセスするには
loader.content.currentLabels;
loaderがロードした外部SWF内のラベル名を配列でまとめて返してくれます。
2007年11月15日
ロードした外部SWFのラベル名とラベル名のフレーム番号を取得
ロードした外部SWFのラベル名とラベル名のフレーム番号を取得します。
var ef_lo:Loader=new Loader();
var ef_obj:Object;
ef_lo.contentLoaderInfo.addEventListener(Event.COMPLETE,getHandler)
ef_lo.load(new URLRequest("get.swf"));
function getHandler(evt:Event)
{
ef_obj=ef_lo
var my_arr:Array =ef_obj.content.currentLabels;
trace("my_arr="+my_arr[2].frame)
}
後日詳しく記述します。
var ef_lo:Loader=new Loader();
var ef_obj:Object;
ef_lo.contentLoaderInfo.addEventListener(Event.COMPLETE,getHandler)
ef_lo.load(new URLRequest("get.swf"));
function getHandler(evt:Event)
{
ef_obj=ef_lo
var my_arr:Array =ef_obj.content.currentLabels;
trace("my_arr="+my_arr[2].frame)
}
後日詳しく記述します。
2007年11月14日
SoundMixerクラスでタイムラインに配置したサウンドオブジェクトのボリュームを制御する
SoundMixerクラスでタイムラインに配置したサウンドオブジェクトのボリュームを制御します。
SoundMixerクラスを使うとswfのタイムライン内に配置したサウンドのボリュームを制御できます。
SoundMixerクラスのsoundTransformプロパティを使ってボリュームを調整します。
soundTransform:SoundTransform [read-write]
ボリュームを調整する時は
SoundMixer.soundTransform=soundTransform
という風にします。
SoundMixer.soundTransformにボリュームプロパティを設定したsoundTransformオブジェクトを代入する事で、swf内のすべての音声ファイルのボリュームを調整できます。
今後もswf内のサウンドのボリュームをボタンで調整するなど具体的な使用方法を研究していきます。
例題
swf内に埋め込まれた音声ファイルのボリュームを0.5に設定。
タイムラインに音楽ファイルを読み込んだswfに下記のプログラムを記述します。
var soMix_st = SoundMixer.soundTransform;
soMix_st.volume=0.5;
SoundMixer.soundTransform=soMix_st;
SoundMixerクラスを使うとswfのタイムライン内に配置したサウンドのボリュームを制御できます。
SoundMixerクラスのsoundTransformプロパティを使ってボリュームを調整します。
soundTransform:SoundTransform [read-write]
ボリュームを調整する時は
SoundMixer.soundTransform=soundTransform
という風にします。
SoundMixer.soundTransformにボリュームプロパティを設定したsoundTransformオブジェクトを代入する事で、swf内のすべての音声ファイルのボリュームを調整できます。
今後もswf内のサウンドのボリュームをボタンで調整するなど具体的な使用方法を研究していきます。
例題
swf内に埋め込まれた音声ファイルのボリュームを0.5に設定。
タイムラインに音楽ファイルを読み込んだswfに下記のプログラムを記述します。
var soMix_st = SoundMixer.soundTransform;
soMix_st.volume=0.5;
SoundMixer.soundTransform=soMix_st;
2007年11月13日
オブジェクトがaddChild(表示)された時にイベントを配信するEvent.ADDED
オブジェクトがaddChild(表示)された時にイベントを配信するEvent.ADDEDについて簡単に記述します。
Event.ADDEDはオブジェクトがaddChild(表示)された時にイベントを配信します。
頻繁に表示非表示にするオブジェクトの制御やクラスを使ってステージを参照する際に役に立ちます。
後日使用例をアップしたいと思います。
Event.ADDEDはオブジェクトがaddChild(表示)された時にイベントを配信します。
頻繁に表示非表示にするオブジェクトの制御やクラスを使ってステージを参照する際に役に立ちます。
後日使用例をアップしたいと思います。
2007年11月12日
表示したらイベントを配信するEvent.ADDED
表示したらイベントを配信するEvent.ADDEDを使います。後日詳しく記述します。
オブジェクトがaddChildされたら(表示されたら)イベントを配信します。頻繁に、表示、非表示を行うオブジェクトやクラスのステージの参照に使えそうです。
オブジェクトがaddChildされたら(表示されたら)イベントを配信します。頻繁に、表示、非表示を行うオブジェクトやクラスのステージの参照に使えそうです。






