/**
* Copyright Nowloading_ ( http://wonderfl.net/user/Nowloading_ )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/rI7Q
*/
package {
import org.papervision3d.materials.*;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.view.*;
import flash.events.MouseEvent;
import caurina.transitions.Tweener;
[SWF(backgroundColor = 0x000000)]
public class cameraPos extends BasicView {
private var ya:yazirusi;
private var rad:int = 30;
private var d:int = 1000;
public function cameraPos() {
var material:WireframeMaterial = new WireframeMaterial(0xff9999,1,5);
material.doubleSided = true;
var plane:Plane = new Plane(material,400,400,3,3);
plane.rotationX = 90;
scene.addChild(plane);
var arrow:Arrow = new Arrow(material);
arrow.y = 250;
scene.addChild(arrow);
ya = new yazirusi();
stage.addChild(ya);
ya.x = 400;
ya.y = 400;
camera.y = 500;
startRendering();
camera.z = -d*Math.cos(rad*Math.PI/180);
camera.x = d*Math.sin(rad*Math.PI/180);
for(var i:int; i<ya.ya.length; i++){
ya.ya[i].addEventListener(MouseEvent.CLICK,oMC);
}
ya.maru.addEventListener(MouseEvent.CLICK,oMC);
}
private function oMC(e:MouseEvent):void{
switch (e.target.name) {
case "0":
rad += -90;
Tweener.addTween(camera,{
z: -d*Math.cos(rad*Math.PI/180),
time: 2,
transition: "easeInOutSine"
});
Tweener.addTween(camera,{
x: d*Math.sin(rad*Math.PI/180),
time: 2,
transition: "easeInOutSine"
});
break;
case "1":
if(camera.y == 500){
Tweener.addTween(camera,{
y: 700,
time: 1,
transition: "easeInOutSine"
});
}
break;
case "2":
rad += 90;
Tweener.addTween(camera,{
z: -d*Math.cos(rad*Math.PI/180),
time: 2,
transition: "easeInOutSine"
});
Tweener.addTween(camera,{
x: d*Math.sin(rad*Math.PI/180),
time: 2,
transition: "easeInOutSine"
});
break;
case "3":
if(camera.y == 700){
Tweener.addTween(camera,{
y: 500,
time: 1,
transition: "easeInOutSine"
});
}
break;
case "4":
if(d == 1000){
d = 700;
}else {
d = 1000;
}
Tweener.addTween(camera,{
z: -d*Math.cos(rad*Math.PI/180),
time: 1,
transition: "easeInOutSine"
});
Tweener.addTween(camera,{
x: d*Math.sin(rad*Math.PI/180),
time: 1,
transition: "easeInOutSine"
});
break;
default:
}
}
}
}
import flash.display.Sprite;
import flash.events.MouseEvent;
class yazirusi extends Sprite{
public var ya:Array = new Array();
public var maru:Sprite;
public function yazirusi(){
init();
}
private function init():void{
graphics.lineStyle(3,0x444444);
graphics.beginFill(0xffffff,0.5);
graphics.drawCircle(0,0,40);
graphics.lineStyle(5,0xff9999);
graphics.beginFill(0x999999,0.5);
graphics.drawCircle(0,0,32);
graphics.endFill();
for(var i:int =0; i<4; i++){
var spr:Sprite = new Sprite();
spr.graphics.lineStyle(1);
spr.graphics.beginFill(0xff0000);
spr.graphics.moveTo(-28,0);
spr.graphics.lineTo(-12,-7);
spr.graphics.lineTo(-12,7);
spr.graphics.lineTo(-28,0);
spr.graphics.endFill();
spr.rotation = 90 * i;
addChild(spr);
spr.buttonMode = true;
spr.name = String(i);
ya[i] = spr;
ya[i].addEventListener(MouseEvent.CLICK,oMC);
}
maru = new Sprite();
maru.graphics.lineStyle(1);
maru.graphics.beginFill(0xff0000);
maru.graphics.drawCircle(0,0,7);
maru.graphics.endFill();
addChild(maru);
maru.buttonMode = true;
maru.name = String(4);
}
private function oMC(e:MouseEvent):void{
}
}