Flashのフレームワーク「Progression3」を始めてみよう!

第2回 サンプルを動作させてProgression3の基本を理解する

この記事を読むのに必要な時間:およそ 4.5 分

キャストオブジェクトを登場させる

次に,キャストオブジェクトを使用してみましょう。

個々のキャストオブジェクトは,用意されているキャストオブジェクトを継承して作成します。

作成したプロジェクトフォルダの下にTemplatesというフォルダがありますが,ここからMyCastSprite.asをコピーして,myprojectフォルダの下に配置してください。

図2 MyCastSprite.asをコピーして,myprojectフォルダの下に配置する

図2

コピー後,MyCastSpriteの4行目に以下のようにパッケージ名を追記します。

リスト3

package myproject{

次にMyCastSpriteの見た目を記述します。

MyCastSpriteの20行目からのコンストラクタに以下のとおりに記述します。

リスト4

public function MyCastSprite( initObject:Object = null ) {
  super( initObject );
  //赤色の円を描画
  graphics.beginFill(0x00FF0000);
  graphics.drawCircle(400, 300, 50);
  graphics.endFill();
}

次にMyCastSprite.asの32行目から下を以下のように追記してください。

リスト5

protected override function _onCastAdded():void {
  // 実行したいコマンドを登録します。
  addCommand(
    // 任意のコマンドを記述してください。
    new Prop(this,{alpha:0}),
    new DoTweener(this,{alpha:1,time:2})
  );
}

次にProgressionの表示リストに追加します。

まず,後のことを考えて,参照用のプライベート変数を宣言します。IndexScene.asの17行目に以下の一行を追加してください。

リスト6

private var _sprite:MyCastSprite; 

そして,IndexScene.asの43行目,_onInitメソッド内を以下のように書き換えてください。

リスト7

protected override function _onInit():void {
  // 実行したいコマンドを登録します。
  _sprite=new MyCastSprite();
  addCommand(
    new AddChild(progression.container, _sprite)
  );
}

ここまで記述できたら,ムービープレビューをしてみましょう。

少々分かりづらいかもしれませんが,円がフェードインして登場します。

図3 円が登場する

図3

今回overrideした_onCastAddedメソッドは,キャストオブジェクトが表示リストに追加された際に動作するメソッドです。

このようにキャストオブジェクトは出現時と退出時の振る舞いをオブジェクト側で記述できます(新しいコマンドが沢山登場しましたが,これらについては次回連載で述べますので,動作を見ることに集中してください)⁠

著者プロフィール

楢山哲弘(ならやまのりひろ)

3年前に上京してきた北海道出身のFlasher。

開発スピードを上げるため,Progressionに傾倒中。そのため,ブログではProgressionについての言及が多くなっている。

URLhttp://narayama.heteml.jp/