作ろうとしたらProgressionプロジェクトの新規作成のところで何故かAdobeAIRが選べない。
おかしいなーと思いつつAdobe Flash Support Centerから
Adobe Flash CS4 Professional Update (10.0.2) 05/13/2009
を落としてきてインストールしたら選べるようになりました。
あれ?前に作ったのってマシン環境新しくする前だったっけ?

吉里吉里で使うボタン画像は横方向に連結したものを使います。
Photoshopでも作れるのですが透明部分を含んでいる場合に結合が面倒なので
(どこが境目かわかりにくいから)
画像連結ツールを作ってしまいました。
ダウンロードしたファイルをダブルクリックするとインストーラーが立ち上がります。
AdobeAIRがない環境では AdobeAIRも一緒にインストールされます。
「発行者:不明」になってますが気にしないでください。
スタートメニューのプログラムに 画像連結「むすびちゃん」 が登録されます。

連結方向、ファイル名修飾、保存先を設定し、
連結した画像をまとめてドロップするだけです。
入力対応画像フォーマットは PNG / JPEG / GIF で、出力は PNGのみです。
特徴としては透過PNGにも対応しています。

画像連結ツールっていくつかあるんですが、
透過PNGには対応していなかったり、
画像選択が面倒だったり、
自分に合うのがなかったのです。
もっとお気楽極楽に使えるものがほしい!
そんな願いの篭もったツールです。
もっとみんなが作ったえろげがほしい!
そんな願いも篭もってます。
コマンドリストを実行している時、
途中のコマンドの結果によって分岐させたい時の方法。
var hogeCommand:HogeCommand = new HogeCommand();
var serial:SerialList = new SerialList();
serial.addCommand( hogeCommand );
serial.addCommand( new Func( function():void {
// コマンドの結果で分岐
if ( hogeCommand.value ) {
serial.insertCommand( new Trace("コマンドを挟む"));
}
}));
serial.execute();
HogeCommandクラスの実行結果を受け取りたいので
インスタンスを先に作っておきます。
var hogeCommand:HogeCommand = new HogeCommand();
今回のキモ「insertCommand」です。
これにより動的にコマンドを挿入させることができます。
// コマンドの結果で分岐
if ( hogeCommand.value ) {
serial.insertCommand( new Trace("コマンドを挟む"));
}
このやり方についてはIs It So Easy?さんが詳しく書かれています。
this.parentで挿入することも出来るんですねー。
![]() |
[改訂版]ActionScript3.0プログラミング入門 for Adobe Flash CS4/CS3 ビー・エヌ・エヌ新社 2009-07-23 |
いったい何がキッカケだったのかまったくわからないけど、ある日突然出てきたエラー。
Resource.as、行 44
1004: 名前空間が見つからないか、コンパイル時定数ではありません。
progression_internal static const $collection:IdGroupCollection = new IdGroupCollection();
いろいろ試して、音声ファイルがリンケージされていると発生することがわかりました。
下記のようにごく一般的なファイルを普通にリンケージしただけえす。
ファイル:testse.wav
クラス:testse
基本クラス:flash.media.Sound
「最初のフレームに書き出し」のチェックを外すとエラーは出ません。
しかし上記チェックを外すわけにもいかず色々試していたら、
Index.asに下記の行を追加したらエラーが出なくなりました。
function hogehoge():void {
getResourceById("hoge").data;
}
この関数はどこからも呼ばれませんが、記述しておくだけで良いようです。
バグなのか仕様なのかはわかりませんが、公式のフォーラムに報告しておきました。
![]() |
ActionScript 3.0 エラーアーカイブス コンパイルエラー・コンパイラ警告・ランタイムエラーの解法 大重美幸 ソシム 2009-09-09 |
Progressionのリソースキャッシュと、複数ファイル読み込みの組み合わせが
便利すぎて思わず漏らしてしまいそうです(チョロリ)。あっ。
外部画像を読み込んで一覧表示させるものを作ってまして、
各サムネイル内で読み込むようにしてたんですが、
最初にまとめて読むように変更しました。
というのも、リソースキャッシュのおかげで
画像の流用がすごく簡単に行えるようになったからです。
リソースキャッシュについては以前かいたこの日記を参照。
Progressionが備えているURLアンカー(URLの後の「#~」)によるページ遷移は
フルFlashサイトを作る際にはとても便利で素晴らしいのですが、
ブログパーツやメニューのみFlashにしている場合は誤動作の原因になる場合もあります。
今日まさにそれでハマっていたので対処法をメモっておきます。
ドキュメントクラス「Index.as」内の下記の箇所を書き換えれば
無効にすることができます。
protected override function atReady():void {
// manager.sync = true;
manager.sync = false;
// manager.goto( manager.syncedSceneId );
manager.goto( new SceneId('/index') );
}
manager.syncというプロパティが関係するらしいので「false」にします。
manager.syncedSceneIdもURLアンカーによる場所が格納されているぽいので、
移動先も強制的に「/index」にしてしまいます。
もっとエレガントな方法もありそうですが、とりあえずこれで対処できました。
![]() |
リトルアンカー(限定版) D3PUBLISHER 2009-04-23 |
Progression4から搭載されたResource関連がとても便利なのでメモ。
これまでも外部ファイル(swf、画像、mp3など)を読み込んで使い回す
ということは出来ましたが、それなりに手間がかかりました。
Progression4からはそれらを管理するResource系のクラスが登場し、
かなりシンプルになったようです。
michinoko blogさんで書かれていたことを参考に書いてみました。
僕の周りでもProgressionを使い始めている知人がいるのですが、
カスタムコマンドの作り方がよくわからないという人が多いようです。
僕も最初はよくわからなかったのですが、理解してみると
カスタムコマンド無しには制作ができない
と思ってしまうくらいに便利なものです。
Progressionを使い始めて2ヶ月の身ですが
(しかも本来Progressionを使う目的であるシーン管理とかは全く使っていないw)
自分なりに理解していることを数回にわけてまとめてみようと思います。
なお本記事で扱うProgressionのバージョンは「4.0.1 Public Beta 1.3」です。
Progressionに興味があるけど最初の一歩が分からないという方は
本家のチュートリアルをご覧になると良いと思います(Ver3対象ですが)。
実に分かりやすく書かれていて、このチュートリアルがあったからこそ
僕もProgressionに手を出すことが出来ました。

trick7さんの記事で知ったミニゲームサイトがとにかくすごい。
特に「星探林檎」は「こんな発想があるのか!」と驚かされるような内容で、
自分に子供がいたらぜひ遊ばせてみたいコンテンツ。
「ぷらぽん」も面白かったです。
iPhone向けのほうも何か変わってたりするのかな。
実はデベロッパ登録してるので落としておこうかと。
iPhoneもそうなんですが、Windows版でも可能なのかがすごく気になります。
実際の制作動画を見ている限りは大丈夫ぽいけど。
おそらく日本で最初のFlash制iPhoneアプリ。
あー僕も早く作りたい!
オライリーの「詳解 ActionScript 3.0アニメーション」の日本語版が出てるんですね。
掲載されているサンプルが面白そうなのでちょっと読んでおきたいです。
![]() |
詳解 ActionScript 3.0アニメーション ―衝突判定・AI・3DからピクセルシェーダまでFlash上級テクニック 相川 愛三 オライリージャパン 2010-01-25 |