前回のデータにTweenerでアニメーションを付加します。
マウスによるイベントハンドラーの3箇所に付加しました。
サンプル
JavascriptをONにし、最新のFlashプレーヤーをインストールしてください。
ドキュメントクラス
package
{
import caurina.transitions.Tweener;
import flash.display.BitmapData;
import flash.events.Event;
import org.papervision3d.events.InteractiveScene3DEvent;
import org.papervision3d.materials.BitmapMaterial;
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.view.BasicView;
public class Main extends BasicView
{
private const SPEED:Number = 10;
private var _plane:Plane;
public function Main():void
{
super(0, 0, true, true);
viewport.buttonMode = true;
var bmd:BitmapData=new Img(180,180)
var bm:BitmapMaterial = new BitmapMaterial(bmd);
bm.doubleSided = true;
bm.smooth = true;
bm.interactive = true;
_plane = new Plane(bm, 300, 300, 3, 3);
_plane.useOwnContainer = true;
_plane.addEventListener(InteractiveScene3DEvent.OBJECT_PRESS, pressHandler);
_plane.addEventListener(InteractiveScene3DEvent.OBJECT_OVER, overHandler);
_plane.addEventListener(InteractiveScene3DEvent.OBJECT_OUT, outHandler);
scene.addChild(_plane);
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
startRendering();
}
private function enterFrameHandler(e:Event):void{
_plane.rotationX += (stage.mouseY - stage.stageHeight * 0.5) / SPEED;
_plane.rotationY += (stage.mouseX - stage.stageWidth * 0.5) / SPEED;
}
private function pressHandler(e:InteractiveScene3DEvent):void
{
Tweener.addTween(_plane, { scale: 1.1*_plane.scale, time:1.0, transition:'easeOutElastic' } );
}
private function outHandler(e:InteractiveScene3DEvent):void
{
Tweener.addTween(_plane, { alpha: 1.0, time:0.2, transition:'easeInQuad' } );
}
private function overHandler(e:InteractiveScene3DEvent):void
{
Tweener.addTween(_plane, { alpha: 0.7, time:0.2, transition:'easeOutQuad' } );
}
}
}
38・42・46行目:エフェクトをそれぞれTweenerによるトゥイーンにおきかえました。
あとついでに
32・33行目:マウスカーソルの位置による回転を滑らかなトゥイーンにしました。
Tweener自体はNumber型のメンバ変数に対してのトゥイーンを行ってくれるので オブジェクトが持ってるアクセス可能なメンバ変数ならPV3Dのものでも何でもいいんですね。
関連記事
- 初めての『Papervision3D 2.0』:その1(Great Whiteのドキュメント)
- 初めての『Papervision3D 2.0』:その2(BasicView)
- 初めての『Papervision3D 2.0』:その3(テクスチャの貼り付け
- 初めての『Papervision3D 2.0』:その4(マウスの座標をオブジェクトの回転に)
- 初めての『Papervision3D 2.0』:その5(テクスチャ画像にスムージング)
- 初めての『Papervision3D 2.0』:その6(3Dオブジェクトにマウスイベントを付加)
- 初めての『Papervision3D 2.0』:その7(3Dオブジェクトのアルファを変更)
- 初めての『Papervision3D 2.0』:その8(Tweenerとの連携)

コメントする