« 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を参照してください。

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

トラックバック(0)

このブログ記事を参照しているブログ一覧: Flashのバージョン7 で flash.geom パッケージを使う

このブログ記事に対するトラックバックURL: http://system.seyself.com/mt-tb.cgi/470

コメント(2)

ダダ :

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

michi :

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

コメントする


画像の中に見える文字を入力してください。

しばらく時間が経過すると、システム内部と表示されている文字内容に食い違いが発生するようなので、
投稿する前にページをリロードすることをお勧めします。
リロードしてもフォームの内容は維持されます。