FIVe3d パネル回転的表現


ほい、カワタミルマスカラスです。

ナカムラがデビューしている間、昨日に続いてFIVe3dをつっこんでさわってみた。マウスイベントはPV3Dとはちがって、そのままaddEventListerできるね。なので、ほんと楽ちんに使えるわ。ということで、クリックでパネルが回転するサンプルを作成してみた。

[SWF]http://knap.jp/blog/swf/five3d_test2.swf, 425, 500[/SWF]

ん〜なんだかキモイ動きだ。

ソースはこちら。だんだんテキトー

import five3D.display.Scene3D;
import five3D.display.Sprite3D;
import five3D.utils.Drawing;
import caurina.transitions.Tweener;

var scene:Scene3D;
var container:Sprite3D;
var sprite:Sprite3D;

init();
function init():void{
scene = new Scene3D();
scene.x = stage.stageWidth/2;
scene.y = stage.stageHeight/2;
addChild(scene);
container = new Sprite3D();
scene.addChild(container);
for(var i:int=0; i<9; i++){
sprite = new Sprite3D();
sprite.graphics3D.beginFill(0x000000);
sprite.graphics3D.drawRect(-50, -50, 100, 100);
sprite.graphics3D.endFill();
if(i<3){
sprite.x = -110+110*i;
sprite.y = -110;
}else if(i>=3 && i<6){
sprite.x = -110+110*(i-3);
sprite.y = 0;
}else{
sprite.x = -110+110*(i-6);
sprite.y = 110;
}
container.addChild(sprite);
sprite.buttonMode = true;
}
stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
container.addEventListener(MouseEvent.CLICK, clickHandler);
}
function enterFrameHandler(e:Event):void{
Tweener.addTween(container, {x:(stage.mouseX-212)*0.5, y:(stage.mouseY-250)*0.5, rotationX:-(stage.mouseY-250)*0.5, rotationY:(stage.mouseX-212)*0.5, transition:”easeOutCubic”, time:1});
}
function clickHandler(e:Event):void{
Tweener.addTween(e.target, {rotationX:360, transition:”easeOutCubic”, time:0.5});
}

Scroll to top