デバッグ機能付きFlash Player 10のブラウザプラグイン
Tags: FlashPlayer10, WordPress
Flash Playerを全部アンインストールしてからこれを入れておけばデバッグ機能がブラウザ上で使える(インストール済みのバージョンはAdobe - Flash Playerで確認可能)。
Adobe Open Source - /flex/sdk/trunk/in/player/10
Wordpress 2.5のFlash製アップローダーがFlash Player 10だと動作しないという問題は、以下のWordpressプラグインで回避できた。ちなみにWordpress 2.6では必要なくて、デフォルトでアップローダーの種類(Flash版 or 通常ブラウザ)を選択できるみたい。
WordPress › No Flash Uploader « WordPress Plugins
WordpressやFlickrのファイルアップロードがFlash Player 10で機能しない理由
Tags: FlashPlayer10
Flash Player 10だとWordpressのアップローダー(.swf)のダイアログがポップアップせず、だからファイルアップロードしようにもできなかった。何が悪いのかわからないままFlash Player 10をアンインストールしていたのだけどセキュリティの問題らしい。
The latest one that’s bugging me is a Flash 10 Player change that only allows you to open a file browse dialog via a direct user interaction such as a button push/mouse click. The idea here is to prevent malicious code from opening a file dialog and perhaps making you think it is for something else, and you wind up uploading some sensitive data to someone else’s server. I can see the point, but it’s creating some havoc.
Flash Player 10 Beta breaking WordPress, Flickr, other uploaders | BIT-101 Blog
つまりローカルファイルにアクセスできるようになった分セキュリティが厳しくなり、マウスクリック等の直接的なユーザーインタラクションのみFileReference.browse()が発動するようになっているのが原因らしい。WordpressやFlickrなどJavaScriptなどでアップローダーを遠隔発動させているところは軒並みアウトということになる。
Thanks Keith Peters, I have been suffered from the problem without any ideas.
関連リンク:
The Flash Blog » Flash Player 10 FileReference Changes
[FlashPlayer10]Flash Player 10自体のバグ・10が原因の不具合
追記 2008/08/20
修正じゃなくて仕様になるっぽい。
FileReference.browse() と FileReference.download() の呼び出しが、ユーザ操作により発生したイベント内に制限されるようになります。Flsh Player 10 以降、これらのメソッドを使用するには、マウスのクリックやキーの押下等によるイベントから呼び出すよう記述する必要があります。
追記 2008/09/15
Wordpress 2.6ではFlashアップローダーを使わないように設定できるので問題ない。2.5以前はプラグインでFlashアップローダーをdisableにできる。詳しくはデバッグ機能付きFlash Player 10のブラウザプラグイン - blog Boreal Kissを参照。
[FlashPlayer10]Flash Player 10自体のバグ・10が原因の不具合
Tags: FlashPlayer10, WordPress
自分でもはまった、Flash Player 10に関係するものでフォーラムなどでも挙げられているもの。個人的にはwordpressのアップローダーが機能しないのが痛すぎる。9と10って共存できるんだろうか。
- FileReference.save()で上書き保存できない。上書き保存するとファイルサイズが0kbになる。Windows,Macともに起きる様子
- WordPressの画像アップローダーが正常に機能しない。「メディアを追加」で表示されるアップローダーでファイル選択ができない。WordPressのファイルアップローダーはFlashなのでFileReferenceの問題と思われる。ブラウザのFlash Playerのバージョンを9にする必要がある
[#FP-276] flash player 10 FileReference save() can’t overwrite local file bug. - Adobe Bug System
flash player 10 FileReference save() can’t overwrite local file bug. , RICE
FLASH+α: FlashPlayer10 ローカルの画像を読み込み→カスタムフィルタ→別名保存
WordPress › Support » Flash Player 10 Beta breaks file upload
WordPress › Support » Image Uploader does not work with Flash 10 beta
[追記 2008/06/21]
FireFox拡張のFlashSwitcher(Firefox3)でプレイヤー9と10を共存させれるっぽい。うーんFirefox3への移行は腰が重いところ。
Flash Player 9と10(Astro)共存 | (SCRATCHBRAIN.BLOG v2
[FlashPlayer10]drawTrianglesで球面にテクスチャリング
Tags: FlashPlayer10
zソート等で非常に参考になったのは/as3/Astro/Torus3D_01/src/Document.as - Spark project。上記Spark projectの例の場合、プリミティブを構成する頂点座標は重複して登録させず、かわりに三角形パッチを構成する頂点座標の組み合わせをインデックスすることで多面体を作成している(詳細はdrawRectanglesの仕様参照)。この場合、各三角形を構成する頂点座標の組み合わせ情報に関してzソートを行うだけで済むので経済的なんだけど(i.e., drawRectanglesの第二引数indicesに関してのみソーティングが行われている)、それ以前にプリミティブ作成時に頂点情報の組み合わせをどうインデックス化するか思考するのが面倒くさい。
そこで今回は頂点情報が重複するのを一切気にせず各三角形パッチごとに頂点座標を計算させた(つまりdrawRectanglesの第二引数indicesを全く設定していない)。グリッド化は簡単になったのだけど、計算量が増えた(三角形パッチ数は頂点数の約二倍)こととzソートする成分がdrawRectanglesに渡す第一引数verticesと第三引数uvtDataの二つになる点が面倒くさい点か。あと幾何学的問題で、矩形画像の球面上へのテクスチャリングはどうしても極近傍に空白ができる。グリッドサイズを細かくしていけば無視できるレベルにはなるけど。ソースはswfリンク先にあります。
[追記:2008/06/05]
Spark projectソースに関して補足。renderScene関数内の
vector.w = projection.focalLength / (projection.focalLength + vector.z); vector.project();
は不要の模様。直前のworld(Matrix3Dクラス)に投影情報が含まれているので
var vector:Vector3D = world.transformVector(vertex);
この時点ですでにvectorは投影用に座標値が変換されている。あと関係ないのだけど、Vector3D.project()はVector3Dの第4引数wで第1~3引数の値を”割る”メソッドなので注意が必要。こんなかんじ。
var v:Vector3D = new Vector3D(100,100,100,2); v.project(); trace(v);//(50,50,50)
[追記:2008/08/06]
Spark projectのソースについて作者の方よりご指摘を受けています。僕が現在Flash Player 10を使えない状況なのでまだ確認ができていません。上記情報を鵜呑みにせず、コメントも合わせて参照ください。
FileReference.loadを含むファイルをFlex Builderでコンパイルする時のチップ
Tags: FlashPlayer10
かなり限定的なシチュエーションだけど、Flex Buider 3のリリース用にコンパイルしたswfファイル内のFileReference.loadは
- ネットワーク上で動作しない(IllegalOperationError #2014)
- ローカルで動作する
デバッグ情報込みでコンパイルしたswfファイル(デフォルトだとbin-debug内に作成されるやつ)は
- ネットワーク上で動作する
- ローカルで動作する
FlexibleFactoryの方からも同様の旨のコメントをもらったのでおそらく間違った情報ではないはず。デバッグバージョンを使えばネットワーク上でも動作するから問題ないっちゃ問題ないんだけど、デバッグ情報が入ってる分ファイルサイズが結構大きくなるのが嫌。そこでプロジェクト > プロパティ > ActionScriptコンパイラ > 追加コンパイラ引数に以下を記述。
-debug=false -optimize=true
これでbin-debugに作成されるswfファイルがリリースビルドで作成されるswfファイルと同サイズになる。もちろんこのオプションだとデバッグはできないので、リリース用に書き出すギリギリに付け加えるのがいいかも。そもそも何でこんな状況になるのかは不明なので、何か情報をお持ちであればフィードバックもらえるとうれしいです。設定が面倒くさくてかないません。
