lemonovelで作ったゲームはHTML埋め込み型のゲームとしてhttpに公開する分にはなんの問題もないのですが
ローカルで実行するゲームとして配布するには注意が必要です。
HTML埋め込み型のゲームはhttpに配置するため
ユーザにtxtや画像などのリソースが見られる事はほぼありません。
しかし、ローカルで実行するゲームとして配布しようとすると
フォルダに入ったtxtや画像などのリソースがゲームをしなくても見えてしまいます。
「lemonovel AS3」にはlemonovel公式ページよりリソースを暗号化するツールが作られていますので
そちらを使用すると簡単に暗号化出来ますが
AS3ではない無印の方の「lemonovel」にはそれがありません。
「リソースの隠蔽方法」という形で隠蔽方法が記載していますが、万全ではないようです。
また、作成したゲームを暗号化したとしても
プロジェクトごと配布しローカルからブラウザで実行すると
ブラウザにもよりますが、起動できない場合が多いです。
ブラウザがローカルにあるFlashファイルの実行を、
「セキュリティ上よろしく無い」と判断して実行してくれないためです。
ブラウザのFlashのセキュリティの設定で
実行を許可するフォルダとして
ゲームを保存したフォルダを指定すれば実行出来るようになるのですが
プレイ前にそのような設定にするようにユーザに求めるのも微妙ですよね。
参照 > lemonovelの画面が真っ黒で動作しない
その為、lemonovelAS3で作成したゲームはAIRでパブリッシュしてパッケージ化すると良いと思います。
lemonovelAS3とlemonobelAIRは一部違いはありますが、
ピンポイントでその違いにあたる機能を使っていない限りそのままAIR化出来ます。
AIR化する方法については、公式サイトの「作品の公開方法」の「AIR版」に
詳しく記載されていますので問題なくAIR化出来るかと思います。
ちなみにAIR化すると◯◯.airという一つのファイルになりますが
こちらはインストールすると任意のフォルダにそのまま
airファイルを作成した時のリソースがコピーされますので
インストールしたフォルダを見るとリソースが見えます。
air化する場合でもリソースは暗号化した方がいいですね。
airをダウンロードで配布する際、
airファイルをブラウザが勝手にzip
ファイルにしてしまう事もあるようなのでご注意下さい。
参照 > web配布のlemonovel AS3 AIRファイルが実行出来ない
さて、ここからはlemonovelAS3で作ったゲームを
AIRでパブリッシュしてパッケージ化しようとした時にどうしようもなく
ドツボにハマった私の愚痴になります。
こんな人はいないと思うのでなんの参考にもならないと思いますが、やるせないので書きます。
まず、パブリッシュするためには
pfx形式の電子証明書(署名ファイル)を自分で発行しないといけません。
ここのやり方も公式サイトにかかれており、
「CreateCertificate.bat」という自分で発行するためのバッチファイルまで親切に用意されています。
電子証明書の発行はAdobeから無償で配布されている
AIR SDKをダウンロードして任意の場所に配布して
用意されているbatファイルにコマンドプロンプトでコマンドラインから
1~2行程度のコマンドを実行するだけで作成できるのですが
何故かそれが通りませんでした……
AIR SDKの実行にはJavaのランタイムが必要との事で
Javaのランタイムを入れるもコマンドは通らず
JDKを導入すると出来るという人がいたので
JDKも導入したのですが結局できず。
それで色々考えた結果
「AIR SDK」で作れないなら、「windows SDK」で作ればいいじゃない!
という極論に至ったわけです。
windows SDKでもpfxファイルは作れるようでしたので
windows SDKで作ろうとインストールしようとしたところ
何故かインストールからして出来ないorz
色々調べると
Microsoft Visual C++ 2010 x86 Redistributable
Microsoft Visual C++ 2010 x64 Redistributable
この2つがインストールしようとしてるVerより
インストールされているものの方が新しいので
インストール出来ないとの事。
結局先にその2つをアンインストールしてからインストールし直し。
でもmakecert.exeと付属のコマンドプロンプトを使うと
すんなり通ってpfxファイルはあっさり出来きました。
そのすぐ後に、
batファイルを知らぬ間に私が書きえ変えていて
意味の分からない文字にしてるという事が判明しました。
もう一度AIR SDKをDLしてbatファイルを置き換えると
普通にコマンドが通りました。
書き換えた記憶もないので、一度もdatファイルを開いて確認してませんでした。
本当になにをやってるんでしょうね。
そして、パッケージ化。
これもアプリケーションについて記述したXMLファイルを作成した後、
AIR SDKのbatファイルにコマンドラインからコマンドを実行すれば通るはずが
何故か通らない。
やはり通らないと言うべきか。
出るエラーが
「no such file bin\.」でした。
「binフォルダがないよ」って事のような気がします(たぶん
なのでフォルダ周りを調べたり
フォルダの名前を記述してるコマンドラインを調べたり
色々したけど結局間違えた記述は見つからず
管理者権限で実行してみたり、
作成されるはずのフォルダを予め作っておいたり、色々試しました。
でも、結局作成できず。
そこでふとコマンドブロンプトの挙動がおかしい気がして
pfxのパスワードを入力する際
手入力せずにテキストエディタに入力した入力したパスワードを
コピペしてみたら何故か通ったー!!
もちろん本来はパスワードをキータイプで打って入力しても問題のないところなんですが
キータイプするとなぜかエラーが出て
パスワードをコピペすると何故か成功しました。
本当なんでなんですかね。
パスワードをて入力せずにコピペするだけで安定してAIRファイルが作成出来るようになったので
まぁいいかと思うことにしました。
コメント