mieki256's diary



2013/09/03(火) [n年前の日記]

#3 [haxe] HaxeFlixelを少し触ってたり

Flashには、というか、ActionScript3 には、 _Flixel なる、2Dゲーム用のライブラリが存在するらしいのだけど。それの Haxe版、 _HaxeFlixel なるものもあると知り、試しに少し触ってみたり。

導入。 :

導入方法は、 _Installing HaxeFlixel | HaxeFlixel に書いてある通り。
haxelib install flixel
もちろん、Haxe や OpenFL がインストール済みであることが前提。

とりあえず、 _Hello World Command Line | HaxeFlixel に従って、任意のフォルダを作成後、その中で以下を実行。
haxelib run flixel -name "Hello World"
おそらくは雛形となるファイル一式が自動生成された。中には FlashDevelop のプロジェクトファイル(Hello World.hxproj) が入っていたので、それを開いてみたところ、FlashDevelop 上で作業ができるようになった。

HaxeFlixel 自体のドキュメントはほとんど見かけず、Flixel のドキュメントやチュートリアルに頼ってソースを書く状態に。

以下、若干ハマった点をメモ。

Assets云々。 :

Assets 云々は、openfl.Assets を使う。ソースの最初のほうに
import openfl.Assets;
を書いておけば、
var spr:FlxSprite = new FlxSprite();
spr.loadGraphic(Assets.getBitmapData("image/charzera_0.png"), true, true, 25, 45);
といった記述で、FlxSprite に画像を割り当てることができる。FlxSprite てのは、名前の通り、スプライト相当のクラス。

FlxSpriteに用意されてない定数がある。 :

Flixel には、本来、FlxSprite.LEFT、FlxSprite.RIGHT 等の定数があるのだけど。HaxeFlixel には用意されてないようで。その代わり(?)、FlxObject.LEFT、FlxObject.RIGHT を指定するらしい。

速度成分、加速度成分の単位がよく分からず。 :

FlxSprite には、速度成分として velocity、加速度成分として acceleration というプロパティが用意されているのだけれど。それぞれの単位が全くの謎。どうやらドット単位ではないらしい。また、velocity と acceleration の単位も一致していないように思える。

と思ったが、 _Flixel勉強会:第4回 | IPLFlex に解説があった。velocity は、1秒で何ドット移動するか、の値が入るのか…。1フレームで変化する値、ではないのだな。

tmxを読み込んでみたいのだけど。 :

Tiled で作ったマップファイル (.tmx)を読み込んで表示できる何かしらは無いのかな、と思って検索しているところだけれど。今一つ、よく分からず。とりあえず2つほどあるみたいだけど…。

_crazysam/HaxeFlixelTiled - GitHub
_po8rewq/HaxeFlixelTiled - GitHub

前者は、後者を fork?して作ったものらしい。ただ、nme を使うことが前提っぽいんだよな…。

_cooljith91112/HaxeFlixeltmx_test - GitHub という、おそらくはサンプル相当も見かけたのだけど。DLして FlashDevelop に読ませたところ、エラーが出てビルドできず。どうやらこれも、NME を使うことが前提のプロジェクトファイルらしい。

_ActionScript入門Wiki - タイルマップエディタ によると、AS3 + Flixel なら .tmx を読み込めるっぽいのだけど。

以上です。

過去ログ表示

Prev - 2013/09 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project