こんにちは。きんくまです。
ファミコン風のゲームを作るのに便利なライブラリにflixelというのがあります。

ビットマップ系のゲームを以前に作ろうと思ったことがあったんですが、
飽きっぽい私の性格のせいですぐ挫折しちゃいました。
これならできるのかも!?
pngを用意してあげれば、パターンを指定するだけで便利にアニメーションしたり、
スムーズにスクロールしたりしてくれます。
これを使ったゲームがたくさんアップされています。
結構面白いです。
それで、チュートリアルらしきものは見つけられなかったのですが、
ゲーム丸々一本のソースコードがチュートリアルになっていました。
上のキャプチャでいうと、一番右上のやつです。
ソースコード見ながら、したのやつを作ってみました。
ボタンを押したらパーティクルが噴き出すというものです。
まだ詳しく見ていないのですが、サンプルを見ると
Progressionみたいに、シーンを管理しつつ、
FlxSpriteやFlxText、FlxButtonなんかを継承したものをいじるみたい。
ソースは最後に。
——
以下無駄話
最近2冊のアニメの監督の本を読みました。
>> 神山健治の映画は撮ったことがない~映画を撮る方法・試論 (STUDIO VOICE BOOKS) (単行本(ソフトカバー))
>> アフタヌーン新書 010 これが「演出」なのだっ 天才アニメ監督のノウハウ (新書)
そしたら、どちらも昔の映画でいわゆる名作というやつが結構紹介されてました。
ヒッチコック、チャップリン、黒澤明…。
それで、やっぱり見ておいた方がよいだろうと思い、とりあえず2本借りてきて鑑賞。
で、感想です。※ネタばれあり。
■街の灯
盲目の女性が視力を取り戻した後に、浮浪者のチャップリンが最初は恩人だと気づきません。それで、どうやって気づくのかなー?と思っていたら、手を触れることで気づくんです。そこにやられました。なんでかはわかりません。
とにかく、ぐっときました。
その後に、夢の王子様が実は浮浪者だったと知った女性の顔と、好きだった女性に再開できた喜びと自分が浮浪者だったことがわかってしまったことで夢をぶち壊してしまった困惑との間にゆれるチャップリンの表情。
ネットによると、この最後の場面が映画史に残る名場面らしいのですが、さすがにぐっときましたね。
コメディ部分は、物語中盤のボクシングの場面は、かなり楽しめました。
ただ、チャップリンの後にさんざん真似されてどんどん使い古されてしまったギャグ(自分でいうとドリフ)が多かったので、正直言うと笑えないところがありました。
コントの根っこというか源流を見ました。
ただ、当時はすごく面白かったんだと思います。
7人の侍もと思ったのですが、長くなったので次回にでも。
では。
——————
さきほどのソースコードです。
Main
package
{
import com.adamatomic.flixel.FlxGame;
import flash.display.Sprite;
import flash.events.Event;
import test.TestState;
[SWF(width = "640", height = "460", backgroundColor = "#000000")]
public class Main extends FlxGame
{
public function Main():void
{
super(320,240,TestState,2,0xff000000,false, 0xffff0000);
}
}
}
TestState
package test
{
import com.adamatomic.flixel.*;
public class TestState extends FlxState
{
[Embed(source = '../data/cursor.png')] private var ImgCursor:Class;
private var _txt1:FlxText;
private var _txt2:FlxText;
private var _startBtn:FlxButton;
private var _effect:FlxEmitter;
private var _isFlashed:Boolean = false;
override public function TestState()
{
_txt1 = new FlxText(105, 50, 150, 32, "HELLO", 0x6287DF, null, 32);
_txt2 = new FlxText(112, 90, 150, 32, "flixel", 0x6287DF, null, 32);
this.add(_txt1);
this.add(_txt2);
_startBtn = new FlxButton(107, 150,
new FlxSprite(null, 0, 0, false, false, 110, 15, 0xff6287DF),
onBtnClick,
new FlxSprite(null, 0, 0, false, false, 110, 15, 0xffffffff),
new FlxText(20, 0,100,15,"CLICK HERE", 0x000000, null, 10),
new FlxText(20, 0, 100, 15, "CLICK HERE", 0x000000, null, 10)
);
this.add(_startBtn);
var i:int;
var fa:FlxArray = new FlxArray();
var es:FlxSprite;
for (i = 0; i < 200; i++) {
es = new FlxSprite(null, 0, 0, false, false, 12, 12, 0xff6287DF);
this.add(es);
fa.add(es);
}
_effect = new FlxEmitter(FlxG.width/2 - 50, FlxG.height/2- 30, 100, 30, fa, -3, -200, 200, -500, -100,50,-50,400);
_effect.kill();
this.add(_effect);
FlxG.setCursor(ImgCursor);
}
override public function update():void
{
super.update();
}
private function onBtnClick():void
{
if (_isFlashed == false) {
_isFlashed = true;
FlxG.flash(0xff6287DF, 0.6, function():void { _isFlashed = false; } );
}
_effect.kill();
_effect.reset();
}
}
}

[...] http://www.kuma-de.com/blog/2009-10-05/1280 [...]
初めまして。
日本語でFlixelを解説している記事を探してこちらに辿り着きました。
わかりやすい解説と、公開してくださっているソースが非常に役立っております。
公式サンプルときんくま様の情報でFlixel習得もそこそこ進んでいるのですが、唯一未だに全くわからないのが、こちらのサンプルでGAME PAUSED画面中に左側にアイコンと共に表示されるA Button, B Button, Mouse, Moveの追加登録の仕方です。デフォルトだと右側の列だけしか表示してくれません。
過去のバージョンにはhelp()関数なるものがあったようですが最新版ではどうやら姿を消してしまっている様子で、それに代わる方法が何なのか未だに突き止められずにいる状態でございます。
見ず知らずの者ですがご教授いただければ幸いです。
Noriさんこんにちは。
http://www.kuma-de.com/blog/2010-11-12/2371
にカスタムのポーズ画面を作るやりかたを書いておきました。
よかったらみてみてください。
わざわざ記事にまでしていただいてありがとうございます!
数行程度で作れるものと思っていたので厚かましく質問してしまいましたが、こんな大掛かりな作業になるとは…。
個人的には配置場所を気にせず操作方法を説明できる手段だったので非常に気に入っていたのですが、アイコンすら削除されてしまっているところを見ると公式サイドとしては完全に廃止の方向なのでしょうね。
ともあれ記事の内容はしっかりと参考にさせていただきます。
重ね重ねお礼申し上げます。