2013/09/11(水) [n年前の日記]
#2 [haxe] HaxeFlixelをまだ勉強中
Tiled Map Editor のオブジェクトレイヤーの情報も取得できるように修正したり。と言っても、タイル画像を置いたものにしか対応してないけれど。ポリゴン等は、実際使う場面が出てきたら対応しよう…。
アイテムを取ったら消えるように処理を入れてみたり。なんだかゲームっぽくなってきた。
アイテムを取った際に、FlxEmitter を使ってパーティクルを飛ばしてみようとしたのだけど、FlxEmitter.makeParticle() が思った通りに動かなくてハマったり。第一引数に画像を ―― BitmapData を与えれば表示してくれるのかなと思ったら、反映されずに標準画像(default.png)が表示されてしまう。結局、FlxParticle を生成して、その FlxParticle に画像割り当て・アニメパターンを設定して、必要な個数分、FlxEmitter に add していくやり方で表示できるようになった。
本来、Flixel の FlxEmitter には、minParticleSpeed や maxParticleSpeed というプロパティがあるらしいけど。HaxeFlixel の FlxEmitter には存在してないらしい。とりあえずそこは諦める。
Flixel には、 FlxU という、便利なメソッドがまとめられたクラスがあるらしいのだけど。HaxeFlixel には FlxU 自体が見つからなくておかしいなと。情報を検索してみたら、HaxeFlixel は鋭意開発中のライブラリなので、FlxU はバラバラになった状態であちこちに分散してる状態、かつ、結構なメソッドが未実装だそうで。具体的には、FlxU.getTicks() 等が無かったり。仕方ないので、OpenFL 内のメソッドを代用・流用することでどうにかした。FlxU.getTicks() は、flash.Lib.getTimer() を使う、みたいな。
Haxe には sprintf() が無いので、StringTools.lpad(元文字列, 埋め用文字, 全文字数) を使ってどうにかした。
アイテムを取ったら消えるように処理を入れてみたり。なんだかゲームっぽくなってきた。
アイテムを取った際に、FlxEmitter を使ってパーティクルを飛ばしてみようとしたのだけど、FlxEmitter.makeParticle() が思った通りに動かなくてハマったり。第一引数に画像を ―― BitmapData を与えれば表示してくれるのかなと思ったら、反映されずに標準画像(default.png)が表示されてしまう。結局、FlxParticle を生成して、その FlxParticle に画像割り当て・アニメパターンを設定して、必要な個数分、FlxEmitter に add していくやり方で表示できるようになった。
本来、Flixel の FlxEmitter には、minParticleSpeed や maxParticleSpeed というプロパティがあるらしいけど。HaxeFlixel の FlxEmitter には存在してないらしい。とりあえずそこは諦める。
Flixel には、 FlxU という、便利なメソッドがまとめられたクラスがあるらしいのだけど。HaxeFlixel には FlxU 自体が見つからなくておかしいなと。情報を検索してみたら、HaxeFlixel は鋭意開発中のライブラリなので、FlxU はバラバラになった状態であちこちに分散してる状態、かつ、結構なメソッドが未実装だそうで。具体的には、FlxU.getTicks() 等が無かったり。仕方ないので、OpenFL 内のメソッドを代用・流用することでどうにかした。FlxU.getTicks() は、flash.Lib.getTimer() を使う、みたいな。
Haxe には sprintf() が無いので、StringTools.lpad(元文字列, 埋め用文字, 全文字数) を使ってどうにかした。
[ ツッコむ ]
以上です。