« Matrix の値から拡大縮小、回転の値を取る | メイン | TweenerやらFusekitを未だに使わないのは »

2008年1月 9日

[as2] Flashのバージョン7 で flash.geom パッケージを使う

Flash 8 から実装された Matrixクラス や Pointクラスなどが入っている flash.geom パッケージですが、 Wiiとか未だに FLASH Player のバージョンは 7 だとかで、このパッケージは使えないらしい。
これってバージョンアップはしないんでしょうか。

ところで、以前どっかのブログ記事でそんなことを書いている人がいたので試しにバージョン7 でも使えるように 手作り geom パッケージを作ってみました。

一応、概ねカバーできてると思うんだけども一部対応してない箇所があります。
以下対応してない箇所。

Point.add( v:Point ):Point
バージョン7 だと add は演算子扱いされちゃって実装できなかった。
なので、このクラスで addメソッドを使うには以下の方法を取ってください。
point["add"]( pt );//配列アクセスを使う
point.addition( pt );//代替メソッドを用意しています。

Transform.concatenatedMatrix:Matrix
途中で飽きて実装するのが面倒になってしまいました。
誰か気前のいい人が実装してくれたらいいなあと。

Transform.concatenatedColorTransform:ColorTransform
同じく、途中で飽きて実装するのが面倒になってしまいました。
誰か気前のいい人が実装してくれたらいいなあと。

ソースのダウンロードはこちら
20080109_fp7_geom_package.zip

パッケージ名が flash7.geom になってます。(バージョン8と混ざると困ったことになるので)
使いにくかったらパッケージ名は各々で変更してくださいませ。

あと、当然なんですがバージョン7 では MovieClip に transform というプロパティはデフォルトでは付いていないので、 最初に対象となるムービークリップに対して new しないといけません。
import flash7.geom.Transform;
var trans:Transform = new Transform( targetMC );
上記の対応してない箇所以外はバージョン8 のクラスと同じです。
コメントはほとんど書いてないので、使い方の分からないところは、製品のヘルプか、LiveDocsを参照してください。

ご使用、改変はご自由に。
あんましデバッグとかしてないので、バグがあったらすいません。
このクラスの利用はあくまで自己責任にてお願いします。

投稿者 michi : 2008年1月 9日 20:01

« Matrix の値から拡大縮小、回転の値を取る | メイン | TweenerやらFusekitを未だに使わないのは »

トラックバック

このエントリーのトラックバックURL:
http://system.seyself.com/mt-tb.cgi/224

コメント

仕事でFlashPlayer7対応しなきゃいけないので
めちゃくちゃ助かります!!
ありがとうございます!!

投稿者 ダダ : 2008年2月19日 12:27

おおおお!
是非是非。どうぞどうぞ。
そんなこと言われると変にテンション上がっちゃいます。
なんか自分でも使ってないので(←おいw)、フィードバックとかもらえると、とても有難いです。

投稿者 michi : 2008年2月19日 22:22

コメントしてください




保存しますか?