おいしいAS3 -32ページ目

Pictクラスでいろいろやってみました




使い勝手の確認してみると
ちょっと仕様変更したい所が出てきてみたり

やっぱり使ってみないと
わからない事はいろいろありますね

重量オーバーで断念・・・



猫の手PVは重量オーバーのため
まともにトゥイーンが動かなくなり
異界送りとなりました 「」

疑似3D回転Matrix



CS4があれば無用の長物ですが
傾斜変形を利用した疑似3D回転を
表現するためのMatrixを生成する関数です

my_MovieClip.transform.matrix=roll3D(傾き,軸の傾き,軸の原点)

って感じで使います

台形変形はしない(アファイン変形のMatrixクラスではできない)
ので平行投影のカンジになってしまいますが
まあPaperVision3Dとか使うほどでもないけど
ちょっとだけ3Dっぽくしたい時とかなら?




function roll3D(rot:Number=45,drc:Number=45,org:Point=null):Matrix {
var rtn:Matrix=new Matrix();
org=org||new Point()
var W=Math.cos(Math.PI/180*drc)
var H=Math.sin(Math.PI/180*drc)
var rad=Math.PI/180*rot
var D=W*H*(H/W)/(W+H*(H/W))*(1-Math.cos(rad));
with(rtn) {
a=(W-D)/W;
b=D*(W/H)/W;
c=D/H;
d=(H-D*(W/H))/H;
}
MatrixTransformer.matchInternalPointWithExternal(rtn,org,org)
return rtn;
}



多分使わないですが一応Effectクラスに追加


あと、これに限らずですけど
transform.matrixの変更は
オーサリングの変形を上書きしてしまい
このままだと原点にもどってしまうので
戻り値のMatrixをtranslateしてやるなりしてください