launcher
08-04-2009, 08:15 PM
Hello to everyone.
I have writen some code but i have problems with it. At first here 's my code:
package
{
import flash.display.Loader;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.media.*;
import flash.net.URLRequest;
import org.papervision3d.cameras.*;
import org.papervision3d.core.utils.*;
import org.papervision3d.events.*;
import org.papervision3d.lights.*;
import org.papervision3d.materials.*;
import org.papervision3d.materials.shaders.*;
import org.papervision3d.materials.special.*;
import org.papervision3d.materials.utils.*;
import org.papervision3d.objects.*;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.objects.special.*;
import org.papervision3d.render.*;
import org.papervision3d.scenes.*;
import org.papervision3d.view.*;
public class Cube3D extends Sprite
{
private var viewport:Viewport3D;
private var scene:Scene3D;
private var camera:Camera3D;
private var renderer:BasicRenderEngine;
private var material:MovieMaterial;
private var material2:MovieMaterial;
private var material3:MovieMaterial;
private var material4:MovieMaterial;
private var material5:MovieMaterial;
private var material6:MovieMaterial;
private var cube:Cube;
private var materialList:MaterialsList;
public function Cube3D()
{
viewport = new Viewport3D(1600, 800, false, true, true, true);
viewport.buttonMode = true;
scene = new Scene3D();
camera = new Camera3D();
camera.zoom = 13;
camera.focus = 100;
renderer = new BasicRenderEngine();
addChild(viewport);
addEventListener(MouseEvent.ROLL_OVER, onOver);
var loader:Loader = new Loader()
var front:MovieClip = new MovieClip();
front.addChild(loader);
loader.load(new URLRequest("cubeSides/news.jpg"));
front.addEventListener(MouseEvent.CLICK, onClick);
var loader1:Loader = new Loader()
var back:Sprite = new Sprite();
back.addChild(loader1);
loader1.load(new URLRequest("cubeSides/calc.jpg"));
var loader2:Loader = new Loader()
var left:Sprite = new Sprite();
left.addChild(loader2);
loader2.load(new URLRequest("cubeSides/dnevnik.jpg"));
var loader3:Loader = new Loader()
var right:Sprite = new Sprite();
right.addChild(loader3);
loader3.load(new URLRequest("cubeSides/forum.jpg"));
var loader4:Loader = new Loader()
var top:Sprite = new Sprite();
top.addChild(loader4);
loader4.load(new URLRequest("cubeSides/info.jpg"));
var loader5:Loader = new Loader()
var bottom:Sprite = new Sprite();
bottom.addChild(loader5);
loader5.load(new URLRequest("cubeSides/galery.jpg"));
material = new MovieMaterial(front, false, true, true);
material2 = new MovieMaterial(back, false, true, true);
material3 = new MovieMaterial(left, false, true, true);
material4 = new MovieMaterial(right, false, true, true);
material5 = new MovieMaterial(bottom, false, true, true);
material6 = new MovieMaterial(top, false, true, true);
materialList = new MaterialsList();
materialList.addMaterial(material, "front");
materialList.addMaterial(material2, "back");
materialList.addMaterial(material3, "left");
materialList.addMaterial(material4, "right");
materialList.addMaterial(material5, "top");
materialList.addMaterial(material6, "bottom");
cube = new Cube(materialList, 200, 200, 200, 10, 10, 10);
scene.addChild(cube);
addEventListener(Event.ADDED_TO_STAGE, onAdd);
function onAdd(event:Event):void {
addEventListener(Event.ENTER_FRAME, loop);
function loop(event:Event):void
{
var xDist:int = mouseX - stage.stageWidth * 0.5;
var yDist:int = mouseY - stage.stageHeight * 0.5;
cube.rotationY += -xDist * 0.009;
cube.rotationX += -yDist * 0.01;
renderer.renderScene(scene, camera, viewport);
}
}
}
private function onOver(event:MouseEvent):void
{
var sound:Sound = new Sound(new URLRequest("Sounds/cubeSiteMouse_Over.mp3"));
var transformSound:SoundTransform = new SoundTransform();
transformSound.volume = 1.0;
transformSound.pan = -1.0;
var channel:SoundChannel = new SoundChannel();
channel.soundTransform = transformSound;
channel = sound.play();
}
private function onClick(event:InteractiveScene3DEvent):void
{
var sound:Sound = new Sound(new URLRequest("Sounds/cubeSide_click.mp3"));
var transformSound:SoundTransform = new SoundTransform();
transformSound.volume = 1.0;
transformSound.pan = -1.0;
var channel:SoundChannel = new SoundChannel();
channel.soundTransform = transformSound;
channel = sound.play();
}
}
}
I use a UIComponent to coll it in MXML aplication
But i don't know how to make every side of the cube to be a different link leading to different state which i will make.
I have writen some code but i have problems with it. At first here 's my code:
package
{
import flash.display.Loader;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.media.*;
import flash.net.URLRequest;
import org.papervision3d.cameras.*;
import org.papervision3d.core.utils.*;
import org.papervision3d.events.*;
import org.papervision3d.lights.*;
import org.papervision3d.materials.*;
import org.papervision3d.materials.shaders.*;
import org.papervision3d.materials.special.*;
import org.papervision3d.materials.utils.*;
import org.papervision3d.objects.*;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.objects.special.*;
import org.papervision3d.render.*;
import org.papervision3d.scenes.*;
import org.papervision3d.view.*;
public class Cube3D extends Sprite
{
private var viewport:Viewport3D;
private var scene:Scene3D;
private var camera:Camera3D;
private var renderer:BasicRenderEngine;
private var material:MovieMaterial;
private var material2:MovieMaterial;
private var material3:MovieMaterial;
private var material4:MovieMaterial;
private var material5:MovieMaterial;
private var material6:MovieMaterial;
private var cube:Cube;
private var materialList:MaterialsList;
public function Cube3D()
{
viewport = new Viewport3D(1600, 800, false, true, true, true);
viewport.buttonMode = true;
scene = new Scene3D();
camera = new Camera3D();
camera.zoom = 13;
camera.focus = 100;
renderer = new BasicRenderEngine();
addChild(viewport);
addEventListener(MouseEvent.ROLL_OVER, onOver);
var loader:Loader = new Loader()
var front:MovieClip = new MovieClip();
front.addChild(loader);
loader.load(new URLRequest("cubeSides/news.jpg"));
front.addEventListener(MouseEvent.CLICK, onClick);
var loader1:Loader = new Loader()
var back:Sprite = new Sprite();
back.addChild(loader1);
loader1.load(new URLRequest("cubeSides/calc.jpg"));
var loader2:Loader = new Loader()
var left:Sprite = new Sprite();
left.addChild(loader2);
loader2.load(new URLRequest("cubeSides/dnevnik.jpg"));
var loader3:Loader = new Loader()
var right:Sprite = new Sprite();
right.addChild(loader3);
loader3.load(new URLRequest("cubeSides/forum.jpg"));
var loader4:Loader = new Loader()
var top:Sprite = new Sprite();
top.addChild(loader4);
loader4.load(new URLRequest("cubeSides/info.jpg"));
var loader5:Loader = new Loader()
var bottom:Sprite = new Sprite();
bottom.addChild(loader5);
loader5.load(new URLRequest("cubeSides/galery.jpg"));
material = new MovieMaterial(front, false, true, true);
material2 = new MovieMaterial(back, false, true, true);
material3 = new MovieMaterial(left, false, true, true);
material4 = new MovieMaterial(right, false, true, true);
material5 = new MovieMaterial(bottom, false, true, true);
material6 = new MovieMaterial(top, false, true, true);
materialList = new MaterialsList();
materialList.addMaterial(material, "front");
materialList.addMaterial(material2, "back");
materialList.addMaterial(material3, "left");
materialList.addMaterial(material4, "right");
materialList.addMaterial(material5, "top");
materialList.addMaterial(material6, "bottom");
cube = new Cube(materialList, 200, 200, 200, 10, 10, 10);
scene.addChild(cube);
addEventListener(Event.ADDED_TO_STAGE, onAdd);
function onAdd(event:Event):void {
addEventListener(Event.ENTER_FRAME, loop);
function loop(event:Event):void
{
var xDist:int = mouseX - stage.stageWidth * 0.5;
var yDist:int = mouseY - stage.stageHeight * 0.5;
cube.rotationY += -xDist * 0.009;
cube.rotationX += -yDist * 0.01;
renderer.renderScene(scene, camera, viewport);
}
}
}
private function onOver(event:MouseEvent):void
{
var sound:Sound = new Sound(new URLRequest("Sounds/cubeSiteMouse_Over.mp3"));
var transformSound:SoundTransform = new SoundTransform();
transformSound.volume = 1.0;
transformSound.pan = -1.0;
var channel:SoundChannel = new SoundChannel();
channel.soundTransform = transformSound;
channel = sound.play();
}
private function onClick(event:InteractiveScene3DEvent):void
{
var sound:Sound = new Sound(new URLRequest("Sounds/cubeSide_click.mp3"));
var transformSound:SoundTransform = new SoundTransform();
transformSound.volume = 1.0;
transformSound.pan = -1.0;
var channel:SoundChannel = new SoundChannel();
channel.soundTransform = transformSound;
channel = sound.play();
}
}
}
I use a UIComponent to coll it in MXML aplication
But i don't know how to make every side of the cube to be a different link leading to different state which i will make.