2007年7月アーカイブ

flashのマウスホイールイベント(MOUSE_WHEEL)が
macでうまく動かない件で、as2バージョンはココにお世話になりましたが、
as3バージョンはココにお世話になってます。

ただこのexternalMouseWheelも、Flex用なので
FlashのCS3のIDEで作業している人は少し変更をする必要があります。

僕はFlex関連の記述をコメントアウトしてしまうことでCS3で使うことができました。
具体的にはExternalMouseWheelSupport.asの
8~9行目
64行目
166~186行目
をコメントアウトです。

ただ上記をコメントアウトしてしまうと、一つ一つ手動で登録する分には問題ないのですが
全部自動登録するモード(Automaticallyのほう)は使うことが出来なくなると思います。

もしAutomaticallyを使いたければ、自分で
Application.applicationというFlexの記述に変わるもの(AS2でいう_root?)を
登録すればいけるかも。

また、手動登録するときの注意点としては
登録したオブジェクトの上にマウスが載っていないと、このスクリプトは動きません。
hitTestが行われてるからです。
マウスが載るようなオブジェクトを登録する必要があります。

どうもpapervision3d関連のネタはリソースが少なく、需要があるっぽいので、
たまには人の役にたちそうなことを書くだけ書いておきます。

■material関連
Google SketchUpのcolladaを読み込むと
SketchUpの書き出しが下手なのか、
Colladaクラス内のパース処理がうまくいっていないのかわからないけれど
materialが反映されないかった。
なので以下のように手動でmaterial(今回はColorMaterial)を割り当てた。

var colladaObj:Collada; //すでに読み込み済みのColladaオブジェクト
var material:ColorMaterial = new ColorMaterial(myColor); //myColorは任意の色
var myMaterials:MaterialsList = new MaterialsList();
for each(var child in colladaObj.children){
for each(var grandchild in child.children){
for ( var materialName in grandchild.materials.materialsByName){
myMaterials.addMaterial(material, materialName);
}
grandchild.materials = myMaterials;
}
}

■z-sort関連
Google SketchUpのcolladaを読み込むとz-sortがメチャメチャになった。
DisplayObject3Dクラスのproject()関数内をtraceしてみると
"Camera"という名前のオブジェクトが返す値(おそらくscreenZの値)がNaNになってしまっている。
この"Camera"はいったい何に使われるのかよくわからないが、
なくなっても大丈夫っぽかったので、削除した。

for (var childName in colladaObj.children){
if(childName=="Camera"){
colladaObj.removeChild(colladaObj.getChildByName(childName));
}
}

まだ制作途中なので、以上のことで何か不具合おこったら追記します。

Flash Badge

| コメント(0) | トラックバック(0)

TOPページFlash Badgeを設置してみた。

このアーカイブについて

このページには、2007年7月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2007年6月です。

次のアーカイブは2007年8月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。