mieki256's diary



2015/03/30(月) [n年前の日記]

#1 [prog] Haxe + OpenFLを少し勉強中

昨日書いた JavaScript + CreateJS と同じ処理を、FlashDevelop 上で Haxe + OpenFL を使って書き直してたのだけど、なんだか上手く行かず。FLASH としてビルドしたら思った通りの見た目になったけど、HTML5 + JavaScript としてビルドすると加算合成ができなくて。

_FLASH版

_HTML5 + JavaScript版

色々ググって調べたけれど、どうやら現状の OpenFL で HTML5 としてビルドした際は、blendMode とやらのプロパティをサポートしてないらしい。昔、おそらくは NME と呼ばれてた頃はサポートしてたという記述も見かけたけれど…。

将来的には対応したいと英文で書いてあったようにも読めたけど、2〜3年前も同じ話が出ていて、しかしそのままなわけで。このあたりの対応は望み薄っぽい気配。既に CreateJS は加算合成描画に対応済みだから、JavaScript だからできません、というわけでは無いのだろうけど。そもそも、OpenFL の html5 対応は進捗が無いらしくて、ムカついたから openfl-bitfive という別パッケージを作ったぜ、てな方も居るようで。ちなみに openfl-bitfive を使うと、ビルド時に「そんなプロパティはねえ!」と潔くエラーが出てくる模様。そのほうがまだありがたいかもしれず。

とりあえず、実験に使った上記の FlashDevelopプロジェクトも置いときます。

_haxe_openfl_bitmap_display_test01_20150330.zip (1MB)

ソースも載せとくか…。Gist にアップ。

_GIMP1.xのRGB交換相当っぽい感じのアニメをするHaxe+OpenFLソース

HaxeFlixelのバージョンが上がってた。 :

HaxeFlixel が 3.3.8 になってたのでアップデート。この版なら、テンプレートから新規作成しても、以下がエラーを出さずに動く模様。
lime test neko
lime test flash
lime test html5
どうやら修正してもらえたらしい。ありがたや。ただ、テンプレートから新規作成、
flixel tpl -n "ディレクトリ名"
をして動作確認しただけなので、他の細かいところはまだ何かあるのかもしれないけど確認できてないです。

一応今現在、手元に入ってるバージョンをメモ。
> haxelib list

actuate: [1.8.3]
box2d: [1.2.3]
createjs: [1.5.7]
flixel-addons: [1.1.0]
flixel-demos: [1.1.1]
flixel-templates: [1.0.2]
flixel-tools: [1.0.5]
flixel-ui: [1.0.2]
flixel: 3.3.4 3.3.5 3.3.6 3.3.7 [3.3.8]
format: [3.1.2]
hxcpp: 3.1.39 [3.2.37]
jQueryExtern: [2.0.3]
layout: [1.2.0]
lime-samples: [2.2.0]
lime-tools: 1.5.6 [1.5.7]
lime: 1.0.0 2.2.2 [2.3.0]
nme: [5.3.1]
openfl-bitfive: [2.1.6]
openfl-compatibility: [1.0.1]
openfl-native: [1.4.0]
openfl-samples: 1.3.0 [2.2.2]
openfl-tools: [1.0.10]
openfl: 2.0.0 2.0.1 2.1.5 2.1.6 2.1.8 2.2.2 2.2.4 2.2.7 2.2.8 [3.0.0-beta.3]
svg: [1.0.8]
swf: [1.8.2]

以上です。

過去ログ表示

Prev - 2015/03 - 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 31

カテゴリで表示

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


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

Powered by hns-2.19.6, HyperNikkiSystem Project