[flixel入門3] プレイヤーを表示して動かしてみよう

2009/11/13

こんにちは。きんくまです。
すっかり寒くなってきましたね。

さて、こないだスーパーに行って驚いたのですが、冷凍のラーメンがありまして。
どうやって調理をするのかというと、レンジでチンするだけなんです。
それで、つゆはみそみたいな感じになっていて、器にあけてお湯を注いでできあがりと。

気になるお味の方は、これがおいしい!
普通のカップめんよりも、そして生麺タイプのラ王よりも、麺がラーメン屋に近くていい感じ。
しかも、値段が乾麺タイプより安い。100円だったんです。

セブンプレミアムっちゅうプライベートブランドなんですが、なんで安いんですかね?
なんか悪いもん入ってるんですかね。まあ、いいか。

プレイヤーを表示して動かしてみよう

さて、今回のflixeです。
091113player2

>> 今回つくったもの
>> ソース一式

いろいろと解説したかったのですが、力尽きてしまいました。
ソースコードに簡単なコメントは書きました。

ポイントだけ押さえておくと

・FlxSpriteを継承したクラスをつくる
・アニメーションの設定をする
・減速drag、加速度accelarationを設定
・毎フレームごとによばれるupdateの中でいろいろとやる
・FlxG.kTopなどの判定でキーボードの入力が判定できる

という感じでしょうか。

以下ソースです。
ではでは。

package
{
  import com.adamatomic.flixel.*;
  /**
   * ...
   * @author KinkumaDesign
   */
  public class Player extends FlxSprite
  {
    //画像をうめこみ
    [Embed(source = 'data/player.png')] private var PlayerImg:Class;

    public function Player()
    {

      super(PlayerImg, 0, 0, true, true, 16, 16);//初期化
      //アニメーション登録
      addAnimation("normal", [0, 1], 3);
      addAnimation("down", [2, 3], 3);
      addAnimation("up", [4, 5], 3);
      play("normal");

      //減速。毎フレームごとに速度からひかれていく
      drag.x = 500;
      drag.y = 500;
      //最大速度
      maxVelocity.x = 150;
      maxVelocity.y = 150;
    }

    override public function update():void
    {
      acceleration.x = 0;
      acceleration.y = 0;

      //キーボード判定
      if (FlxG.kLeft) {
        facing = LEFT; //左向き
        acceleration.x = -drag.x;
        play("normal");//アニメーション表示
      }else if (FlxG.kRight) {
        facing = RIGHT; //右向き
        acceleration.x = drag.x;
        play("normal");
      }else if (FlxG.kUp) {
        acceleration.y = -drag.y;
        play("up");
      }else if (FlxG.kDown) {
        acceleration.y = drag.y;
        play("down");
      }

      super.update();
    }
  }

}

自作iPhoneアプリ 好評発売中!
フォルメモ - シンプルなフォルダつきメモ帳
ジッピー電卓 - 消費税や割引もサクサク計算!

ページトップへ戻る