タグ " *開発 "
FlashDevelopを使って、複数人でプロジェクトを進める場合、コメント行は大変助かる。
とはいえ、大規模なプロジェクトの開発となると、コメント行だけがあってもわかりにくい時がないとは言えない。
そこで、活躍するのがFlashDevelopのTaskListPanel。
以下のようにコメントを書くとTaskListPanelに表示される。
//TODO 未実装 - digitrick
デフォルトではTODOの他に『FIXME』と『BUG』が登録されているが、
項目は増やすことも減らすこともできる。
プロジェクトチームなどでカスタマイズするとよいと思う。
項目のカスタマイズは
<tools>メニュー » <Setting> » TaskListPanel
を開き、“Group Values”に文字列を追加する。
また、項目ごとにアイコンを指定することが可能。アイコンは“image indexes”に以下の場所にあるImages.pngに対応する番号で指定する。
C:¥Program Files¥FlashDevelop¥Settings¥Images.png
もちろん個人での開発にも多いに活用できると思う。
現在ADC(Apple Developer Connection)で配布されているSnow Leopard(Mac OS X 10.6)にも付属のXcode 3.2はiPhone OS 3.0までしかサポートしていないという表示が出る。
サポートしてないわけはなく、以下に3.0.1をサポートさせる方法がアナウンスされている。
ちゃんとチェックしていないとわからないとこかも。
- iPhone SDK 3.0 » Downloads » iPhone OS 3.0.1 Advisory(要ログイン)
- http://adcdownload.apple.com/iphone/iphone_sdk_3.0__final/iphone_os_3.0.1_advisory.pdf
ターミナルにコピペしてくれって書いてあるけど、そのままコピペすると失敗する可能性がある。
そんな時はおそらく後半の『/(ここ)Developer/』の部分にスペースが入ってしまっているんじゃないかと。
デバッグ版のFlashPlayerはリリース版のFlashPlayerより動作が遅いらしい。
リリース版のFlashPlayerは通常、デバッグ版FlashPlayerの2倍以上高速に動作するとのこと。
allowDomain()を使わずに読み込んだ別ドメインのswfとイベントのみをやりとりするsharedEventsの存在を知った。
// 送出側 loader.contentLoaderInfo.sharedEvents.dispatchEvent(new Event(Event.XXX));
// 受取側 loaderInfo.sharedEvents.addEventListener(Event.XXX,xxxHandler);
昨日までとんでもない勘違いをしていた。 ドキュメントクラスの実行タイミングは1フレーム目のロード直後。
ドキュメントクラスが実行されるのは、1フレーム目がロードされきった時なので、 これよりも前に色々書き出されてるといつまでたってもプリローダとかが実行されない。
また、ドキュメントクラスを使用している場合、1フレーム目はコンテンツが完全にロードされるまで次のフレームに移動しない。
当然ながら1フレーム目にステージ配置したムービークリップボタンなどがある場合、読み込まれて配置されるまでnullとなるので、デバッグ段階でもエラーが出る。
よく今までトラブらなかったものだ・・・
CS4もリリースされたし、FlashDevelopもRC1になったので、環境を整え直した。
以前に書いた記事で設定はほとんど変えてないんだけど、Parallels Desktopの共有アプリケーションという機能を使って、FlashDevelopからMacのFlashを呼び出してパブリッシュするようにした。
ちなみにParallels Desktopは4.0。3.0でも可能だと思う。
FlashDevelop + Flex4SDKでFlash Player 10の開発
- Parallels Desktopの仮想マシンの[構成] - [共有アプリケーション]で"Mac OS X アプリケーションを Windows と共有する"にチェック。
- Windowsの[スタートメニュー] - [すべてのプログラム] - [Parallels Shared Application]の"Adobe Flash CS4.app(Mac)"のプロパティを開く。
- [ショートカット]タブの[リンク先]をコピー(ダブルクォーテーションは不要)
- FlashDevelopの[Tools]メニューから[Program Settings] - [ASCompletion]項目で"Path To Flash IDE"にペースト。
[F6]キーでMac側のFlashでパブリッシュされる。
以前のブログ(http://blog.digitrick.net/)で、"FirefoxでFlashの100%表示にバグ"という記事を書いた。
- FirefoxでFlashの100%表示にバグ
- http://blog.digitrick.net/item-73.html
でも、これはバグではないことをマークアップエンジニアの方に聞いて初めて知る。
しかもFirefoxの動作は正常動作と言えるらしい。DOCTYPE宣言を消すなんてことはもうしなくていい。CSSだけで解決。
html,body {
height: 100%;
}
/* 念のため */
#flash {
height: 100%;
}
恥ずかしながら3年越しにスッキリした。
"chumby(チャンビー) 日本公式サイト | 日本語化ベータテスト 日本語化のベータテストとして日本語化キットを配布します"ということで、日本語化。
日本語化の方法は公式サイトにて。
- 日本公式サイト | 日本語化ベータテスト
- http://www.chumby.jp/news/japanease2.html
ウィジェット作成時、日本語化したchumbyで日本語表示するために使用できるフォントは"_typewriter"。
chumby.comのウィジェットのカテゴリにも「Japanese」カテゴリが追加されている。
- chumbyの公式サイトの[widget]メニュー - [submit a widget]を選択
- ウィジェットの情報を入力。アップデートの場合は[View your uploaded widgets.]リンクからアップロードしたウィジェットの一覧ページで行う。
- Name
名前(必須項目) - Description
詳細(必須項目) - Version
バージョン(デフォルトは1.0) - Category
カテゴリ(必須選択) - Default play time
デフォルトでの表示時間(デフォルトは15sec) - Widget
ウィジェットのSWFファイル(必須項目) - Thumbnail
サムネールのJPEGファイル(必須項目で、サイズはW80 × H60ピクセル) - Customize widget (optional)
ウィジェットをカスタマイズするためのSWFファイル(オプション) - Public or private
公開するか否か(デフォルトは公開しない) - Virtual chumby
バーチャルchumbyでの再生を許可するか否か(デフォルトで許可)
- Name
- [UPLOAD WIDGET]ボタンで登録
- [your uploaded widgets.]リンクからアップロードしたウィジェットの一覧ページへ
- アップロードしたウィジェットを[add to channel]リンクでmy channelsに登録
- chumby本体の[CHANNEL]メニュー - [RELOAD]ボタンでチャンネルを更新
ウィジェットをアップデートする場合は、アップロードしたウィジェットの一覧ページでアップデートするウィジェットを選択して行う。
なお、アップロードしたウィジェットの削除もここで行えるが、[update]ボタンの下にテキストリンクであるので、わかりにくいかも。
digitrick関連ブログではソースを表示するときにSyntaxHighlighter.jsを使っているのですが、
SyntaxHighlighter.jsの"クリップボードにコピー"が使えなくなってしまっている・・・
調べてみると・・・
Flash Player 10 からはマウスクリック等のユーザインタラクションによるイベントからのみ実行することができます。
SyntaxHighlighter.jsはJavaScriptからSWFへデータを渡してクリップボードへコピーさせているようなのですが、仕様変更のためSWFを直接表示して、マウスクリックイベントを発生させなければ、クリップボードにコピーされないということですね。
もう少しSyntaxHighlighter.jsの"クリップボードにコピー"について調べてみると・・・
そもそも、このリンクどういう仕組みかというと、javascriptを呼んでいて ・IEだったら、clipboardData.setDataでコピー ・その他のブラウザだったら、flashを実行してコピー という動作をしています。
ということらしい。またFlash Player 10からAIRのみで使えたClipboardクラスが使えるらしい。こちらも直接のマウスクリックイベントなどがないと動作しないとのこと。
chumbyウィジェット開発のための資料を集めてみました。ここに上げたもので一通り作れるようになると思う。
あとはアイデア次第。
- chumbyのFlash開発について
- http://www.chumby.com/developers/flash
- chumbyのためのウィジェット開発について
- http://wiki.chumby.com/mediawiki/index.php/Developing_widgets_for_chumby
- チュートリアル
- http://wiki.chumby.com/mediawiki/index.php/Chumby_Tutorials
- タッチセンサーについて
- http://wiki.chumby.com/mediawiki/index.php/Developing_Widgets_for_Chumby:_Sensor_Access
- ウィジェットパラメータのサンプル
- http://wiki.chumby.com/mediawiki/index.php/Widget_Parameter_Example
- ウィジェットのサンプル
- http://wiki.chumby.com/mediawiki/index.php/Example_Widgets
- chumbyネイティブ関連
- http://wiki.chumby.com/mediawiki/index.php/Chumby_Property_Dictionary
http://wiki.chumby.com/mediawiki/index.php/ChumbyNative
http://wiki.chumby.com/mediawiki/index.php/Controlling_BTplay - どなたかのサンプル
- http://gizmoware.net/chumby/
http://www.risacher.org/local/reference/swf/
Flash Player 10の正式版がリリースされて、
何かと変更されていたDynamic Sound Generate部分もこれで確定。
Macユーザーな私としてはCS4の日本語版リリースを待つのみ。
それまではWinのFlashDevelop + Flex4SDKで準備するかなと。
しばらくは新機能に絞って開発を進めようと思う。
Flashのエラー、#2032。ストリームエラー。
このエラーは、読み込もうとする画像ファイルやXMLファイルが存在しない等でロードできない状態を指す。
この場合、IOErrorEventは指定ファイルが読み込めないというテキストが返される。
しかし、ファイルにアクセス権がない場合はエラーコード#2032のみが返される。
#2032 ストリームエラーの続きを読む
"対応するグラフィックカードを搭載したMacであれば、場合によっては驚くほどグラフィック性能の向上が見込める"というQuartzGL。
Mac OS X 10.4 Tigerに、グラフィックカードのGPUによる描画処理を可能にする隠し機能「Quartz 2D Extreme」というものがありました。Mac OS X 10.5 Leopardになってその機能は廃止されたものと思っていたのですが、「QuartzGL」と名を変えてLeopardにも搭載されていることが判明。勇気がある人は試してみてはいかが。
たしかに他のグラフィック性能は上がって万々歳だったわけだが、FlashPlayerに影響を及ぼしていた。
制作していたFlashの動作がどうもQuartzGLを有効にしていたマシンでのみ動作が遅いなと思い、QuartzGLを無効にしたところ元に戻った。
先日、某N社のサイトを開くとブラウザがクラッシュするどころかOSまでがクラッシュするという話を聞いた。
Flashを問わず、開発者はタスクマネージャやアクティビティモニタなどのCPUモニタをチェックすべきではないかと思う。
Flashの場合だと、たとえアプリでなく、ムービーであっても言えることではないかなと。
今更ながらBitmapData.copyPixelsにハマる。
クロスドメインにおいて、crossdomain.xmlを置いておけば、XMLデータ、ビットマップ自体のデータは問題なく取得できるが、BitmapData.copyPixelsやBitmapData.drawを行う場合、明示的にクロスドメインポリシーファイルを読み込む必要がある。
Security.loadPolicyFile("ポリシーファイルのURL");
Adobe AIR Update Framework は AIR アプリケーションをネットワークアップデートするためのフレームワーク。
Adobe Labs にて現状では Flex と JavaScript 向けは公開されているが、
Flash IDE での使用できないとのこと。方法があるならフォーラムで偉い人が教えてくれるかも。
- Adobe AIR Update Framework
- http://labs.adobe.com/wiki/index.php/Adobe_AIR_Update_Framework
- Labs Forums : Adobe AIR Update Framework
- http://www.adobe.com/cfusion/webforums/forum/categories.cfm?catid=670&flcache=5966700
AIR アプリケーションにネットワークアップデートを実装するには、
flash.desktop パッケージの Updater クラスを使う。
そしてこれにはサーバーにバージョンを管理するファイルまたはデータベースなどが必要になる。
ここではversion.txt (内容は1.0という文字のみ)というファイルを使っての方法を紹介。(必要要素を抜粋)
Flashで ServiceMonitor などのネットワークモニタを使用する場合、
コンポーネント AIR ServiceMonitor の ServiceMonitorShim をステージに配置、またはライブラリに含めておく。
ServiceMonitorShim がないとエラーが出る。
![Flash Math & Physics Design:ActionScript 3.0による数学・物理学表現[入門編]](http://images-jp.amazon.com/images/P/4797351411.09.TZZZZZZZ.jpg)


