「AS3」カテゴリーアーカイブ

[AS3][Progression]詳細!Progression 4 Flashフレームワーク入門ノート Section07-03>>リキッドレイアウトで固定したいアイテムのトゥイーンをやめる方法

詳細!Progression 4 Flashフレームワーク入門ノート」はProgressionを便利に使うために必要な本。サンプルをベースに細かな解説が豊富。

でも、昨日今日始めた僕にはまだまだ難しいことも多く、本を見て、webで調べて、コード書き換えて。あっち行ったりこっち行ったりとまだまだ大変。

 

今日はまったのは、

Section07-03>>リキッドレイアウト で画面サイズを変えると固定のボタンがトゥイーンで後からついて来ちゃうこと。

出来れば、画面のリサイズにぴったりついてきてくれるとうれしかった。

で、分かったことは、サンプルコードの中にある、

「MyNextButton.as」の中に書かれている

 

// ステージがリサイズされたならば位置を調整する
private function resizeHandler(eventObj:Event):void{ var sw:Number = stage.stageWidth; var sh:Number = stage.stageHeight; var com:SerialList = new SerialList(); com.addCommand(   new DoTweener( this, {x:sw-width-5, y:sh-height-5, time:0.2} ) ); com.execute(); }

 

ここの、time:0.2 を time:0 に書き換えることで、画面リサイズにぴったりくっついてくるボタンが出来ました。

[as3] ExternalInterface

swfからLightboxを呼び出す際に使うとよいらしい。

引用はここから
ActionScript 3.0 コンポーネントリファレンスガイド -ExternalInterface

ExternalInterface クラスは外部 API であり、ActionScript と Flash Player のコンテナとの間で直接通信できるようにするアプリケーションプログラミングインターフェイスです。コンテナの例としては、JavaScript が含まれる HTML ページがあります。JavaScript と ActionScript 間のすべての通信に、ExternalInterface を使用することを推奨します。
HTML ページで JavaScript を使用することにより、Flash Player から ActionScript 関数を呼び出すことができます。ActionScript 関数は値を返すことができ、JavaScript は、呼び出しの戻り値として即座にこの値を受け取ります。

ちなみに、参考にしたサイトはこちら
mission log さん
swfからlightboxを呼び出し、lightboxでswfを表示させる。

[AS3]クラスのインスタンスを作成する

var インスタンス変数名 = new クラス名();

例えば、
var ary = new Array(); //Array クラスのインスタンスを生成

var obj = new Object(); //Object クラスのインスタンスを生成

日時に関する機能を持っている「Date」クラスのインスタンスを生成
var hoge_date = new Date(); //Date クラスのインスタンスを生成

プロパティの参照は
インスタンス名.プロパティ名

kudox.jpさんのLiquidLayouterの分かりづらかったところ

kudox.jpさんが作られたAS3のライブラリ「LiquidLayouter」で悩んだところ。
AS3ライブラリ LiquidLayouterの使い方

実装自体はすごくわかりやすく、上記のページでも詳しく紹介されていたのですが、実際にパブリッシュしてもLiquidしなかった。

なんだろう、なんだろう、ということで地道にhtmlソースを調べてみたら、なんて簡単なこと。
<object id=”main-flash” classid=”hoge” width=”100%” height=”100%”>

(上記、htmlだけ手打ちで直しても、Safari以外はだめだった。こしゃくな。swfobject2。

パブリッシュの設定でステージサイズをw100% h100%にしなくちゃだめだ!

Flashのステージサイズの設定のままじゃなく、width=”100%” height=”100%” にしないとダメだったんだ。

気持ちが楽になった。
すてきなライブラリーをありがとう。

AS3のイベントモデル

イベントの登録方法

(オブジェクト).addEventListener(イベントタイプ, 関数);

MCでよく使うイベントタイプには

  • Event.CLICK クリックされたとき
  • Event.ENTER_FRAME [タイムライン]の1フレームごとに発生
  • KeyboardEvent.KEY_DOWN キーが押されたとき
  • KeyboardEvent.KEY_UP キーが離れたとき
  • MouseEvent.MOUSE_DOWN マウスボタンが押された時
  • MouseEvent.MOUSE_MOVE ポインタが移動したとき
  • MouseEvent.MOUSE_UP マウスボタンが離れたとき
  • MouseEvent.CLICK マウスボタンが押されたとき
  • イベントに応じた処理を実行するのが「イベントハンドラ」といい、AS3のイベントでは1つのイベントに対して、複数のイベントハンドラを登録可能。