3D回転しているものを正面を向かせる
2008年12月05日 - hidaka
CS4から3軸回転(rotationX,rotationY,rotationZ)ができるようになってうれしくて毎日ぐるぐるさせてますが、sprite自体は平面なので回転によってはペラペラしてしまいます。
なので常に前を向かせてみました。
最初、回転している親のrotationX,rotationY,rotationZをみて補正しようとしていましたが、どちらを向いているかさっぱりわからなくなってきたのでmatrix3Dを使います。
//自分の位置を保存
var v3:Vector3D=new Vector3D(this.x,this.y,this.z)
//回転している親のmatrixを複製
var mat3D:Matrix3D=pO.transform.matrix3D.clone();
//反転
mat3D.invert();
//位置を補正
mat3D.position=v3
//代入
this.transform.matrix3D=mat3D
2点おまけで注意点。
・Z座標と重なり順は別の話。
重なり順が上のものは、いくらZを大きくしても小さくなる(遠いので)だけで重ね順が下のZ座標が小さいものより後ろにはいきません。
対応策としてこちら。
インポートしたら1行でZ座標でZソートしてくれます。
import com.theflashblog.fp10.*
SimpleZSorter.sortClips(stage, true);
・spriteのキャプチャは見えている状態になる。
これはいい話。bitmapdataにdrawする時にZ座標が違うと見えないとかはありません。
bitmapdataには見えている状態が描かれます。
- AfterEffects
- AIR
- android
- Arduino
- AS2
- AS3
- as3
- BitmapData
- CHECKMATE
- crossdomain
- CS4
- Date
- DisplacementMapFilter
- Event
- event
- ExternalInterface
- FileReference
- FireBug
- FireFox
- Flash Lite
- FlashDevelop
- FlashPlayer10
- flash時計
- Flex
- Font
- GoogleMapsAPI
- INFINITY TANK BATTLE
- JSFL
- JSON
- Mobile
- mxp
- PaperVision3D
- Particle
- Progression
- Sound
- TextField
- Tips
- tool
- trace
- wonderfl
- Wonderfl
- xml
- アニメーション
- サンプルコード
- タイムライン
- デバッガ
- バグ
- フレーム
- ブログパーツ
- 爆速







