tande lab.

Archive
Tag "ActionScript3"

仕事柄、Flash は swf よりも、exeプロジェクタをパブリッシュすることが多いです。
そしてexeプロジェクタ起動時にはフルスクリーン化したいことが良くあります。

やり方は簡単で、1フレーム目に

fscommand("fullscreen", "true");

を記述するだけ。

フルスクリーン解除は

fscommand("quit");

を何かのイベントに絡めればOK。
Escキーでもフルスクリーン解除できます。

fscommandは、exeプロジェクタのようにスタンドアロンアプリとして起動するFlashムービーに対して効果があるコマンドなので、HTMLに貼り付けたswfでは機能しません。

ちなみに、フルスクリーン表示の方法も色々設定可能。

// ステージサイズの縦横比を守ってフルスクリーン表示
// 縦横どちらかが100%表示になる
fscommand("allowscale", true);

// ステージサイズはそのままフルスクリーン表示
// ステージの外周に余白ができる
fscommand("allowscale", false); 

下記サイトが詳しいです。
FLASH学習・技法 fscommand

Read More

前記事 – [AS3] ボタン処理 と合わせてよく使う処理。

//クリック状態を判別するフラグ変数を準備
var clickFlag:Boolean = true;

//ステージにイベントリスナーを登録
//キーダウンを検知したらリスナー関数「KeyDownFunc」を呼び出す
stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDownFunc);

//KeyDownFunc関数
function KeyDownFunc(e:KeyboardEvent):void{
	
	if(e.keyCode == Keyboard.RIGHT){ //テンキー'右' 
		
		if(clickFlag == true){
			trace("いっち");
			clickFlag = false;
		}else if(clickFlag == false){
			trace("にぃ");
			clickFlag = true;
		}
	}
}
いっち
にぃ
いっち
にぃ
いっち
にぃ

キーを押す度にフラグ変数clickFlagが変更されて
交互に「いっち」「にぃ」を呼び出します。

Read More

変数に、Function型が存在するとのこと。なんと!!

Actionscript3.0:関数の、変数への代入 | memo-memo

関数を代入した変数を関数の識別子と同じ様に使えるとのことで
関数の引数に関数を指定したいシーンがいくつかあったんだけど
そんなときに使えそう。

これってJavaScriptもそうなのかな?
って @soranchu に聞いたらそうだよって言われた。ほー。

以下、サンプルコード。

Read More

numChildrenプロパティを利用することで
ステージ上に配置された全MovieClipのインスタンス名を取得できます。

var i:int;

//ステージ上の全MovieClip数を取得
var numMc:int = this.numChildren - 1;

//ステージ上の全MovieClipのインスタンス名を取得
for(i = 0;i <= numMc; i++){
	
	//MovieClipを代入
	var mc:MovieClip = this.getChildAt(i);

	//MovieClipのインスタンス名を取得
	var mcName:String = mc.name;
	
	trace(mcName);
}
instance1
instance2
instance3
Read More

しばらく触っていないと忘れる忘れる…。
のでAS3での基本ボタン処理をメモ。

ボタン化したいムービークリップのインスタンス名をbtn_mcとすると

btn_mc.buttonMode=true; //プロパティで既にボタンを設定してる場合は不要。
 
//マウスオーバー時
btn_mc.addEventListener(MouseEvent.ROLL_OVER , btn_mc_over);
function btn_mc_over(e:Event):void{
  //やりたいこと書く
}
 
//マウスアウト時
btn_mc.addEventListener(MouseEvent.ROLL_OUT , btn_mc_out);
function btn_mc_out(e:Event):void{
  //やりたいこと書く
}
 
//クリック時
btn_mc.addEventListener(MouseEvent.CLICK , btn_mc_click);
function btn_mc_click(e:Event):void{
  //やりたいこと書く
}

ただクリック処理だけしたいなら
クリック時のみの処理でOK。

Read More

00~99など大量の連番処理するときに便利です。

//数字を指定した桁数に揃える関数
function digitNumFunc(num:Number, digit:Number):String {

	var str:String = String(num);

	while (str.length < digit) {
		str = "0" + str;
	}

	return str;
}

//0〜9までの数字を01〜09に揃える
for(var i = 0; i < 10; i++){
  
  trace(digitNumFunc(i,2));

}
Read More

モーショントゥイーンはスクリプトで書いた方が楽なのかも。
秒数またはフレーム数でアニメーション時間を指定できるし。
私がよく使うTweenクラスのテンプレです。

Read More

考え方としては2通りあると思います。

(1) Flashを実行してからのフレーム数をカウントする方法
(2) getTimer関数を利用する方法

フレーム数で指定したいか、秒数で指定したいかで使い分けています。
おそらく(2)の方が負荷も少なく一般的だとは思います。

Read More

昨日、会社を定時であがって参加してきました。
67WS ActionScript 3.0による 三次元表現 in 銀座アップルストア

かの有名な野中文雄さんと池田泰延さんという豪華メンバーでした。
Amazonで野中さんの本をポチったのでそれを持って参加。

ActionScript 3.0による三次元表現ガイドブック
野中文雄
毎日コミュニケーションズ
売り上げランキング: 92062
Read More

連想配列を使うそうだ。

Read More