[アルファマスク]
アルファマスクの新発見
アルファマスクをかけるとき、ブレンドを使ってマスクを「消去」、その親mcを「レイヤー」にしてやっていましたが
この方法だと親mcにマスクをかけたり、親mcを対象にbitmap.drawするとマスクが見えてしまうことになります。
そこで調べていたらもの凄く簡単な解決方法があったのでメモ。
target_mc:マスクをかけられるmc mask_mc:マスクmc target_mc.cacheAsBitmap=true; mask_mc.cacheAsBitmap=true; target_mc.mask=mask_mc;
いやー灯台もと暗しでした。
[Papervision3D]BitmapMaterialで一瞬カッ!てなる→解明
BitmapMaterial.asの135行目あたりのgraphics.beginBtimapFillメソッドの
手前に下記のコードを追加すれば回避できます。
テクスチャがおかしくなるときはlimitの値を大きくしてください。
これを使ってcharaがスムーズに動くようになりました。
chara(下記コードを適応したもの)
chara(下記コードを適応していないもの)
var limit:int=18000; if(Math.abs(_localMatrix.tx)>limit)_localMatrix.tx=limit*((_localMatrix.tx==0)?0:((_localMatrix.tx>0)?1:-1)); if(Math.abs(_localMatrix.ty)>limit)_localMatrix.ty=limit*((_localMatrix.ty==0)?0:((_localMatrix.ty>0)?1:-1));