forked from: PaperVision3D_001
forked from PaperVision3D_001 (diff: 2)
PaperVision3D BeTween
ActionScript3 source code
/**
* Copyright Etienne.Verhote ( http://wonderfl.net/user/Etienne.Verhote )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/xVTY
*/
// forked from michouse's PaperVision3D_001
package {
import flash.display.*;
import flash.events.*;
import flash.filters.*;
import flash.geom.*;
// PaperVision3D
import org.papervision3d.core.effects.*;
import org.papervision3d.core.effects.utils.*;
import org.papervision3d.view.layer.*;
import org.papervision3d.materials.*;
import org.papervision3d.materials.utils.*;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.view.*;
import org.papervision3d.events.*;
import org.papervision3d.render.*;
import org.papervision3d.objects.parsers.*;
import org.papervision3d.lights.*;
import org.papervision3d.core.math.Quaternion;
import org.papervision3d.core.math.Matrix3D;
// BeTween
import org.libspark.betweenas3.BetweenAS3;
import org.libspark.betweenas3.tweens.IObjectTween;
import org.libspark.betweenas3.easing.*
import org.libspark.betweenas3.events.TweenEvent;
import org.libspark.betweenas3.tweens.ITween;
import org.libspark.betweenas3.tweens.ITweenGroup;
[SWF(backgroundColor = "0xFFFFFF", width = "465", height = "465", frameRate = "60")]
public class Main extends BasicView {
public var cube:DAE;
public function Main() {
super(0, 0, true, true);
var light:PointLight3D = new PointLight3D();
cube = new DAE();
cube.addEventListener(FileLoadEvent.LOAD_COMPLETE, onLoadCompleteHandler);
cube.load("http://www.piece-web.jp/FLASH/dice/Dice/dice.dae");
}
private function onLoadCompleteHandler(e:FileLoadEvent):void {
scene.addChild(cube);
cube.x = 0;
cube.y = 0;
cube.z = 0;
cube.rotationZ = 45;
cube.rotationX = 45;
camera.x = 0;
camera.y = 0;
camera.z = -500;
startRendering();
addEventListener(MouseEvent.MOUSE_DOWN, onMouseDownHandler);
addEventListener(MouseEvent.MOUSE_UP, onMouseUpHandler);
}
private function onMouseDownHandler(e:MouseEvent):void {
addEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
}
private function onMouseUpHandler(e:MouseEvent):void {
removeEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
}
private function onEnterFrameHandler(e:Event):void {
var pos1:Quaternion = Quaternion.createFromMatrix(cube.transform);
var pos2:Quaternion = Quaternion.createFromEuler(-2, 0, 0, true);
pos2.normalize();
pos2.mult(pos1);
pos2.normalize();
cube.copyTransform(org.papervision3d.core.math.Matrix3D.quaternion2matrix(pos2.x, pos2.y, pos2.z, pos2.w));
}
}
}