カテゴリー
Develop 未分類

MAX補足#3 (Embed、Config、flashVars等)

前回MAX補足#2でFlashにおけるMVCの各要素の大まかな仕組みを説明しました。
実際のMVC構造に進む前に、講演でも話したいくつかのスクリプト以前の事項について書いておきます。
HTMLへのEmbed
これは特に何でもいいのですが、私はswfObjectを使用しています。
swfObject / http://blog.deconcept.com/swfobject/
FlashObjectのころから使っているのですが、非常にとり回しが楽なのと、代替ページの制御が楽チンで愛用しております。ただし代替ページ要素にあまりデータサイズの大きいものを置くとよろしくないようです。
(新しいバージョンが出ているようですが、まだ試していません)
SWFのパス基点設定
良く知られていることだと思いますが、一応念のため書いておきます。
HTMLファイルとSWFファイルの関係により、SWFファイルのパスの基点がかわり、相対的に他のリソースにアクセスする場合に問題が発生します。HTMLと同じ階層にSWFファイルを配置する場合は特に問題ありませんが、そうするとサーバ上がゴチャゴチャになって美しくないので、/swfなどというフォルダの中にSWFファイルを格納します。
この場合オーサリング時とHTMLから見たときで外部ソースへの参照パスが変わってしまうのですが、SWFObjectのタグに

so.addParam(“base”, “.”);

としてやることで、強制的にSWFファイルの場所をパスの基点として認識させます。
以前SWFを埋め込んでいるHTMLのパス#2で、base=”.”だと正常に動作しないということを書きましたが、今は特に問題なくローカルでHTML参照しても動作しております。理由は不明ですが・・・。

カテゴリー
Develop 未分類

MAX補足#2(FlashへのMVCの導入)

何故MVCを導入するか?
・汎用的な部分の実装時間を短縮することで、表現(グラフィック、モーション)のクオリティを詰める時間を確保する。
が第一の目的です。
その他にも
・スクリプトコードの見通しを良くする。
・デバッグ負荷の軽減
・複数人での作業分担開発時における効率アップ
など効果はありますが、それらも結果として成果物のクオリティを上げる時間を確保することです。
なのでMVCを導入することで逆に時間を浪費してしまうような場合には
MVCの導入に固執することなく、さっさと割り切って違う方法での実装を行うことをお勧めします。
ということでこの前提を頭の隅に置いていただいて
FlashへのMVCへの適応の概要を書いておきます。

カテゴリー
Develop 未分類

Flash CS3でライブラリを操作すると固まりがちな件

非常に困っています。
なんつーかライブラリアイテムを操作自体が重い感じ。
アイテムが多すぎるからなのか?
ちょっとイライラします。
フローティングダイアログとかも透けなくていいから、さくさく反応して欲しい。
そういうモード設定とかあるのかな?

カテゴリー
Develop

ハッシュコントロール

flashからハッシュコントロールをした際に、historyを殺したいなという状況だったのだけど、JSのhistoryってread onlyの属性なのでクリアも置換もできず、どーしたものかと悩んでいました。
で、今朝方ウンウンうなっていたら
隣の席のワタル氏が解決してくれました。
こんな感じ。

if(document.getElementById) {
location.replace(“#” + _s);
}else if(document.all) {
location.hash = _s;
}

いやー、replaceって移動、再読み込みってイメージだったのですが、firefox、safari系だとhashの場合reload掛けないで、historyも残さないという仕様なのですが・・・。
ちなみにlocation.hashはsafariの場合”#”を付けてあげないとキチンとxxx.html#ahoってならないですよ。これをreplaceで一気にfirefoxもあわせて処理できるのはウマー。な感じ。まぁバギーなやり方ではあるのですが・・。(ちなみにIEはそもそもハッシュ移動履歴をヒストリとして認識させていないらしい)
これでまた一つ前進。
サンキウベリマッチ。

カテゴリー
Develop

リンケージされたbitmapが認識できなくなる

icon_flash8.jpg世の中がAS3で盛り上がっている中、天気の良い土曜日に未だAS2で四苦八苦して涙を流している今日この頃みなさま如何お過ごしでしょうか?
ちょっとこれはまだ既出なのかも、原因も良くわかってないのだけど、取り急ぎメモ。
明確な情報知ってる人がいましたら教えてくださいませ。
トラブルの内容は外部SWFの中でリンケージビットマップを操作している場合、loadして表示後、再度loadする場合、元の読み込みをunloadしていると次に読み込んだ先でリンケージビットマップが認識されない。というもの・・。
非常に説明しにくい状況ですが、詳細は以下。

カテゴリー
Develop

traceアクションを省略すると

まれにだけど、Flashが動作しなくなることがある。
これはloadXML系のアクションを一度に発動させる場合に多いのだけど、
複数のloadを監視し、すべてload完了したら動き出すようなものを作成していた場合、traceを省略すると動作しなくなる。これはtraceを省略しているので実際細かい部分の挙動がどうなっているのか分からないのだけど、どーもload自体が発動してないような雰囲気。(しかもこれサーバを参照してなくて、ローカルを参照しているときにも発生する)
よく理由が分からないので、こうなった場合は仕方がないのでtraceを省略しない。
(まれにtrace文を削除してもloadが正常に動作しないときもある)
内部処理の時間の差なのか良くわからないのだけど、まぁそういうことがたまにあって、今も発生している。

カテゴリー
Develop 未分類

Flash CS3での“miniml” フォント

メモ。

The installation disk contains “miniml” fonts in the Goodies/Fonts folder. To use the fonts, copy them to your system. For installation information, see http://www.adobe.com/go/learn_fontinstall_en.
miniml fonts are vector-based pixel font emulations that are designed to remain aliased in Flash and Fireworks. Aliased fonts improve legibility because of their high contrast.
You must use the fonts according to specific guidelines to maintain their crispness. See the “miniml Read Me.html” in the Goodies/Fonts folder for more information about using these fonts.

これまだCS3をインストールしてないのだけど、もうソフトに標準でついてくるってことかしらね?
まいいや。

カテゴリー
Develop

デバイスのステータス

Jeff Han’s Multi-Touch Screen
昔から思っていることをまとまり無くだらだらと書いてみる。
あまり整理されてないので、まじめに読むと時間の無駄である。
(そもそもこのブログに無駄じゃないものがあるのかは疑問だが)
これは特にFlashとかPCとかいう話ではなく、マウスイベント、もしくは入力デバイスのステータスの話。
簡単にイメージしてもらうとマイノリティリポートで、トム・クルーズが操作する空中に浮かぶインターフェイスみたいなやつだ。

現状入力デバイスの主なステータスとして”rollover”,”rollout” “press”,”release”の4つが挙げられる。(“dragout”,”releaseoutside”は明示的なイベントとは考えず除外しています)
強いて言えば”press”と”release”の区分も結果としてはさほど違いは無い。(タイミングの問題)
ということで絞り込むと”rollover”,”rollout”,”press”の4つになるわけだが、常々ここにもうワンステータス欲しいなあと思う。分かりやすく言うと”rollover”,”rollout”を「意図的なもの」「意図的でないもの」の2つに区分できないか?と・・。

カテゴリー
Develop 未分類

IEでFlash playerのインストールが上手くできなくなる件

原因は良く分からないですが、動作検証のためにプラグインをインストールしたり、アンインストールしたりを繰り返していると良くなります。
症状としては以下のような感じ。

1)プレイヤーのインストーラーを起動して、インストール完了
2)コンテンツを見るとプラグインチェックに引っかかり、「プラグインが無いからインストールしろ」と言われる。
3)再度Adobeのサイトに行って、インストールを行う。
4)完了画面になって、画面のなかでFlashが表示される。
5)バージョンチェックのページに行っても、問題なくインストールしたバージョンが表示される。
6)コンテンツページに行くと、やはりプラグインをインストールしろと言われる。
7)とりあえず一度きれいにアンインストールしてみようと、アンインストーラーを使って、アンインストールしてみる
8)2)に戻る。

といった感じで無限ループに入ります。
毎回再起動とかかますと非常に無駄な時間を費やすことになります。
ということでAdobeのサイトで普通に検索してヒットするやり方で解消できない場合は以下のレジストリをいじるやり方で問題を解決します。
Flash movies do not appear after installing the Flash Player
ずーっと前にも同じことやってるんですが、今回はエラーダイアログすら表示されない状態でした。
しかもAdobeのサイトを普通に見ていたらヒットしなかったので、念のため再度書いてみる。
一応レジストリいじりますので、自己責任の元行ってくださいね。レジストリってなんだよ?って人は、そこから軽く勉強してトライしてください。
ちなみにサポートDBには
Windows アップデート後 Flash Player のコンテンツが表示されない
とかいうそんな機能あったのかよ?みたいなのもありますが、これで解決したためしはありません。
Windows で Flash Player のインストールができない
これも役に立たない。
Flash movies do not appear after installing the Flash Playerの日本語訳はないのですかね?

カテゴリー
Develop 未分類

FlashDevelop

FlashDevelop
OSFlashで公開されているAction Script Editor。
良いという話を聞いて使ってみた。
感想
普段はSEPYを使用しているのだけど(Eclipseは大袈裟に感じて断念)、SEPYでいうところのClass Explorerが無いのが厳しい。
標準でFlashDevelopで実装されているのは”Actionscript pannel”(SEPYで言うところのmembersパネルに近い)と、”Files pannel”(SEPYと同じ)、そして”Project pannel”(これもSEPYと同じ)。
おいらは基本Class Explorerベースで作業をしているので(パッケージで一気に読み込めるのでプロジェクト毎に一気に読める)これが無いと正直辛い。(一応ディレクトリ構造=Class構造みたいになっているのでFilesでも良いのだけど、不要なファイルまで見えるのはウザイし、その中の変数、関数の一覧がASファイルを読み込まないと見れないのは面倒)
ただし、これはプラグインで拡張できるエディターのようなので、もしかしたら”Class Explorer”のようなものがあるのかもしれない。これがあるなら便利かも・・・。
といってもSEPYで今何が不便か?と言われると特に不便な点もない・・。
日本語入力がちょっと弱いらしいけど、基本日本語を書き込むこともないし・・・。
デザインとしては圧倒的にSEPYの方がクールだ。
VBみたいな激しいピンクやら黄色のアイコンは目が痛くなる。
ただ、function単位で折りたたみ出来るのはすごく便利だ。
長行のClassとか、目的行に到達する前に要らない部分が目に入ってきて気が散るのはやだ。
SEPYに折りたたみ機能がついてくれればいいのに・・と思う。

カテゴリー
Develop 未分類

flash.external.ExternalInterface

icon_flash8.jpgflash.external.ExternalInterfaceでJavaScriptを叩く際に、window.open系が入っているとブラウザによって色々と問題があるっぽい。
1)Safariだと「ポップアップをブロック」に引っかかってしまい、windowが開かれない。
2)win + Firefoxだと「新規ウインドウをタブに開く」と設定していれば問題ないが、新しいウインドウを立ち上げるとcallとFlash内のスクリプトアクションが消失する場合がある。
というような感じ。
解決策は・・・

カテゴリー
Develop 未分類

Adobe and Mozilla Foundation to Open Source Flash Player Scripting Engine

icon_flash8.jpgメモ
Adobe and Mozilla Foundation to Open Source Flash Player Scripting Engine
http://www.mozilla.com/en-US/press/mozilla-2006-11-07.html
和訳:http://www.mozilla-japan.org/press/releases/2006/11/07/
AS3のそもそもの目論見だったであろう野望がMozillaを巻き込む形で動き出した。

カテゴリー
Develop 未分類

Flash+Max/MSP

icon_flash8.jpgメモ:Gabocoy techNote.: Flash+Max/MSP:Flashserver
まぁMACとか使わないのでイマイチMAXってのがよく分かってない。
ってか最初3d MAXかと思ってサーバ上でリアルタイムレンダリング?!とか驚愕してみたw
んなわきゃーない。

カテゴリー
Develop 未分類

wishes for flash

icon_flash8.jpgライブラリパネルに関連付けられているClassの名前も表示されるようにしてください。
なおかつそこで編集できると、とてもうれしいです。
(リンケージ名も)
よろしくお願いします。(誰?)

カテゴリー
Develop 未分類

過去のFlash Player

icon_flash8.jpgテスト用のアーカイブ版 Macromedia Flash Player の提供について
久しぶりにAdobeのサイトを徘徊していて遭遇。
今まで英語サイトにまとまっていたのはあったのだけど、ここまで細かくビルドが分かれては無かったように思う。とりあえずバージョン2からずらーっと細かいビルドに分かれて整理されています。
今までワレザーのように一生懸命細かく保存していたけど、バージョンが良くわからなくなったりして非常に面倒だった。しかし、これでその必要もない。アリガトンAdobe。

カテゴリー
Develop

Announcing the (unofficial) Adobe PHP SDK

Announcing the (unofficial) Adobe PHP SDK

There is a project hosted at Google Code for the Adobe PHP SDK, and a mailing list at Google Groups as well. Developers are encouraged to participate in a number of ways:
* Test out the samples in the project.
* Develop cool new samples to include in the project.
* Add cool features to samples already in the project.
* Improve the look of samples already in the project.
* Add links to great resources for PHP developers.

メモ。

カテゴリー
Develop 未分類

FlashのTextFiled内で半角英数の折り返し指定

icon_flash8.jpgとかってできないものなのでしょうかね?
日本語は自動で折り返してくれるのだけど、英語単語は折り返してくれない。
CSSだと”word-wrap”で指定するのだけど(Firefoxではword-break: break-all;とかいうのがあるらしいけど、まぁHTMLの話)、これはFlashのCSSプロパティの中に入っていないはずなので、当然のごとく無視される。textField自体に”wordWrap”は存在するものの、これはもっと広義の折り返しなのであまり関係なし。(正確に言うと、headからtextField._widthまで到達すれば折り返すが、head自体を前送りにしてくれない)


ABCDE
FG,XX

はできるけど、

XXX,A
BCDEF

はできなくて

XXX,
ABCDE
F

になる。

この辺やろうと思ったら1文字1文字バラバラにtextFieldを作るしかないのかなぁ?それは結構面倒だな。

カテゴリー
Develop

Internet Exporer 6以前と、それ以外でスタイルを分ける

Movable Typeの中に見られるIE5以前とそれ以降のスタイルの切り分け方。
いつも忘れるのでメモ。
Internet Exporer 6以前と、それ以外でスタイルを分ける

カテゴリー
Develop

空のテキスト入力フィールドにembedFontsをすると・・・

icon_flash8.jpgテキストフィールドにテキストが入力できないんだけど、そんな仕様だったっけ??
なんかフォーカス自体が消失して割り当てられない感じなのだけど、初めて遭遇。
いやー原因がさっぱりわからなくて猛烈にはまった・・・。
入力フィールドにEmbedFonts使うなってことですか?ごふぅ。
とりあえずprototype使って強制的に解決したけど、なんか釈然としないなぁ・・。
原因を整理。
空の入力textFieldにembedFontsを適応し、textFormatを当てると、textFieldが消失。
(embedFontsしなければ問題なし、また何かしらの文字があらかじめ入っていれば問題なし)

カテゴリー
Develop 未分類

Flash® 8 INSPIRATION SCENE Summer Jam

Adobe + ROKUNANA presents: Flash 8 INSPIRATION SCENE Summer JamFlash® 8 INSPIRATION SCENE Summer Jam
えとAdobeさんでお手伝いしたINSPIRATION SCENEが何故だか全国サマーツアーを行います。ヒャー(汗 私は8/8の大阪9/2の沖縄、そして9/6の東京に登場します。基本的に引きこもりなので、うまくしゃべれないと思います。ごめんなさい。
あと8/14の夜に Flash® 8 INSPIRATION SCENE Night Jamというのも行われます。

と非常といった大量の出演者が登場します。これは個人的に見に行きたいと思います。
ということでもし見かけたらやさしくしてください。
よろしくお願いします。