ASOK?
ActionScriptでFlashつくるよ
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
page top

仕事でmProjector を使ってみたので雑感。

mProjector :: Create Flash Desktop RIAs Widgets and Applications

exe作るのはすごい簡単。ドラッグでウィンドウ移動も1行でOK。

ちょっとはまったのがエッジのアンチエイリアス。アンチエイリアスがかかっている(というかアルファ付の)ピクセルは、強制的に黒く塗られてしまう。シェイプでも画像でもマスクでも一緒。

Flash7では回避不能。今回は、アルファなしpngでFlashに持っていき、分解してから自動選択ツールでいらないところを消去で対処。他にもgifで持っていくなど、対処法は色々あるだろう。

Flash8なら、ムービークリップにカラー調整をデフォルト値でかけることで、(なぜか)回避できる。サンプルページ の「Flash Shaped Windows」で発見。

唯一の欠点は、インストーラが付属しないこと。今回は「簡単インストーラ 」というフリーウェアを使用してインストーラを作成した。

目下Windows版でMacアプリを書き出す手段が無いか探しているところ。

参考文献:

FLASHをAIR以外でデスクトップアプリケーションにする方法|_level0.CUPPY

mProjectorの注意点|_level0.CUPPY

スポンサーサイト
page top

Flash8「ActionScript 2.0 リファレンスガイド」によると、ExternalInterfaceの対応ブラウザは以下の通り。

  • Windows 用 Internet Explorer 5.0 以降
  • Firefox 1.0 以降
  • Mozilla 1.7.5 以降
  • Netscape 8.0 以降
  • Safari 1.3 以降

見ての通りOperaは入っていない。だがOpera9.2でExternalInterface.availableの値をチェックすると、なぜかtrueを返す。

実際にOpera9.2で動作確認してみると、なんか動いてるみたい。うれしい誤算だが、なんだか気持ち悪い。

page top

Flash / JavaScript Integration kit を使ってみた。だいたい動くようになった時点で、Windows IEだとFlashからJSを呼び出すたびにクリック音(ページ切り替え時のカチッというSE)が鳴っていることに気づく。

Flash→JSによるDHTMLアニメーションをやりたかったので、今回の目的には合わない。あきらめてExternalInterfaceを使うことにする。時間を無駄にした。

ExternalInterfaceにはIE用FlashPlayer 9,0,16での不具合があるが、致し方ない。バージョン判別でダウンロードを促すことにする。

Flash / JavaScript Integration kit 参考文献:

page top

Flash / JavaScript Integration Kit を使ってみた。

初っ端から、なぜかクラスファイルが正しく読み込まれないトラブル。付属のasファイルをインポートしてるだけなのに…。ダウンロードしなおしてもダメ。いきなり挫折しかけるが、ふと思いつきでasファイル冒頭の長いコメントを削除したら、普通に読み込めた。

なんだよ、それ!
どうやらFlash8Proは、asファイル冒頭に長いコメントがあると、ちゃんと読み込めないらしい。

page top

前から気になっていたJavaScript圧縮ツールを導入してみる。

高機能な JavaScript 圧縮ツール「jsjuicer」 - WebOS Goodies

せっかくコマンドラインソフトなので、ひさしぶりにbatファイルなど書いて自動化してみる。

publish.batの内容

@echo off
copy library.js+proj_main.js+proj_sub.js proj_tmp.js
jsjuicer -sm proj.js proj_tmp.js

copyコマンドでJSファイルを全部合体してから、JS圧縮をかけてる。
あー便利。

page top

例えば、class xArray extends Arrayとした場合、

Arrayを返す、オーバーライドしてないメソッドで問題が出る。

例えばconcatをサブクラスでオーバーライドしてない場合、xArray.concat()はxArrayが返ることが期待されるのにArrayが返ってくるので、コンパイラの型チェックにひっかかる。

サブクラスでメソッドを全部定義するしかないのか?

でも、prototype拡張には別の問題点が。

prototype拡張の注意点|_level0.CUPPY

ASSetPropFlagsのススメ|_level0.CUPPY

page top

ついさっきの出来事。
エントリーを書いて、「下書き(非公開)」ボタンを押して、下書き保存したつもりで一覧に戻ると書いたはずのエントリーが無い。
しまった!と思っても後の祭り。書いたはずのエントリーは跡形も無く消えた。
死ね!アメブロ

とか思ったけど、原因はJSをOFFにしてたことだった。死ねなんて言っちゃいけないよね。

死ね!さっきのオレ

page top

1個目の記事を書いてしまったので、デザインとかいじる。

適当にデザインを選び、
うっとおしい広告をサイドバーに移動し、
ごちゃごちゃしすぎてイライラするサイドバーの要素をガッツリ減らす

あースッキリ!

しかしながらアメブロは重くてイライラするな…

page top

MovieClipへのmix-inを作ってる。mix-inクラスからMovieClipのメンバを呼び出そうとすると、当然コンパイルエラーになるので、その対処法にセオリーがあるのか調べた。

Macromedia - Flex Documentation: Mix-in の使用

actionscriptグループ - mixin

ビルトインクラスの「DataProvider (Array への Mix-in) 」のソースを参考に、MovieClipのメンバを"var"で定義するようにした。

page top
Copyright © 2005 ASOK?. all rights reserved.

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。