[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つのイベントに対して、複数のイベントハンドラを登録可能。

    Flash AS3の配列って

    Flash AS3の配列ってこう書く

    var hoge = new Array();

    PHPで使われていた連想配列って、AS3では「オブジェクト変数」っていうの?

    なんだかピンとこない。

    結局一緒じゃないの?

    var hoge = new Object();

    へぇ、オブジェクトなんだ。

    忘れないうちに、memo memoっと。

    Translate »