2013/09/09(月) [n年前の日記]
#1 [haxe] Haxe + HaxeFlixelで書いたプログラムがhtml5で出力できず
FlashDevelop + Haxe + OpenFL + HaxeFlixel で、サンプルプログラム程度のソレを書いてるのだけど。
flashで出力すると、画面も出るし、音も出る。しかし、html5で出力すると動かない。ローディング画面っぽいものが表示された後、読み込みバーが途中で止まったまま、ウンともスンとも言わなくなる。
色々検証してるのだけど…。
サウンドは、どうせブラウザ毎に対応フォーマットがバラバラだから、html5ではそもそも鳴らない、という扱いにしてもいいのだろうけど。jsonが読み込めないのでは…。
flashで出力すると、画面も出るし、音も出る。しかし、html5で出力すると動かない。ローディング画面っぽいものが表示された後、読み込みバーが途中で止まったまま、ウンともスンとも言わなくなる。
色々検証してるのだけど…。
- haxelib run flixel -name "Hello World" と打って、サンプルプロジェクトを生成直後なら、flash も html5 も動く。
- サンプルプロジェクト内の xml に assets で画像を追加して、画像表示処理を追加したら、これも動く。
- サウンド(mp3 と ogg)を追加。…このへんから動いたり動かなかったりする。mp3 を渡したら、Firefox は音が鳴らないが、GoogleChrome は鳴る状態になった。ogg を渡したら、どっちも鳴るはずなのに、Firefox はローディング画面で止まり始める。
- jsonファイルを assets に追加するところまでは動く。読み込みをしようとすると、charAt がどうとかエラーを出す。
サウンドは、どうせブラウザ毎に対応フォーマットがバラバラだから、html5ではそもそも鳴らない、という扱いにしてもいいのだろうけど。jsonが読み込めないのでは…。
◎ xml内の記述がなんだか怪しい。 :
それと、どうも xml 内に記述する assets 関連の記法が、あちこちおかしいんじゃないのかという気もしていて。
例えば、サウンドファイルを登録する際、Haxe や OpenFL の公式サイトのドキュメントを眺めた感じでは、以下のような記述ができそうだけど。
ちなみに、xml内のソレについて説明しておくと…。
例えば、サウンドファイルを登録する際、Haxe や OpenFL の公式サイトのドキュメントを眺めた感じでは、以下のような記述ができそうだけど。
<assets path="assets/sounds/se_jump.ogg" id="SeJump" if="html5" /> <assets path="assets/sounds/bgm_stage1.ogg" id="BgmStage1" if="html5" />
<assets path="assets/sounds/se_jump.ogg" id="SeJump" type="sound" if="html5" /> <assets path="assets/sounds/bgm_stage1.ogg" id="BgmStage1" type="music" if="html5" />
<sound path="assets/sounds/se_jump.ogg" id="SeJump" if="html5" /> <music path="assets/sounds/bgm_stage1.ogg" id="BgmStage1" if="html5" />
<assets path="assets" if="html5"> <sound path="sounds/se_jump.ogg" id="SeJump" /> <music path="sounds/bgm_stage1.ogg" id="BgmStage1" /> </assets>本来、どの書き方でもいいはず、と思えたのだけど。書き換えてビルドするとエラーが出たり出なかったりで。特定の書き方をすると毎回必ずエラーが出るならまだしも…書き方を変えてないのにエラーが出たり出なかったりするあたりが、よく分からない…。
ちなみに、xml内のソレについて説明しておくと…。
- if="flash" や if="html5" は、flash や html5 を出力する際に、定義(?)を変えるための記述。
- id="hoge" を指定しておくと、プログラム上では Assets.getSound("hoge") といった形で呼び出せる。
- type="sound" や type="music" は、ファイル形式の指定。効果音は "sound" で、BGMは "music"、らしいのだけど、扱いがどう違うのかは不明。
- type="〜" には、他にも、"text", "image", "binary", "font" が用意されてる。らしい。
- type="〜" は、本来なら、指定する必要はない。xml を読んで何かするソレが、ファイル拡張子を見て自動で対応付けをしている、という話も見かけた。でも、本当にやってくれてるのか怪しい…。それとは逆に、ファイル形式を指定するとかえっておかしくなる時があったような印象も。このへん、どうも怪しい。
- <assets path="〜" type="sound" /> といった書き方の他に、<sound path="〜" /> や <music path="〜" /> もあるらしいが、この記述が本当に反映されてるのかは不明。
[ ツッコむ ]
#2 [cg_tools][prog] BG画像が今一つ
奥の背景がなんだか寂しいので、巷のゲームの画面を見て勉強しようと。
クオリティの違いに凹んできたり。やっぱり絵描きさんは凄い。
クオリティの違いに凹んできたり。やっぱり絵描きさんは凄い。
[ ツッコむ ]
以上、1 日分です。