Discussion:
rotating dae objects
cy_1989
2011-01-25 03:16:49 UTC
Permalink
Hi, may i know what code should i used to rotate the dae object? Cause when i
use this code shuttle.pitch(90); it will keep on rotating .

What i want is that when the user press the left or right arrow key, the
space shuttle(my dae object) will be in the horizontal direction

How do i do it?

Below is my coding(bold):

package
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
import flash.ui.Keyboard;

import org.papervision3d.core.math.Sphere3D;
import org.papervision3d.events.FileLoadEvent;
import org.papervision3d.lights.PointLight3D;
import org.papervision3d.materials.BitmapFileMaterial;
import org.papervision3d.materials.BitmapMaterial;
import org.papervision3d.materials.ColorMaterial;
import org.papervision3d.materials.WireframeMaterial;
import org.papervision3d.materials.shaders.FlatShader;
import org.papervision3d.materials.shaders.GouraudShader;
import org.papervision3d.materials.shaders.PhongShader;
import org.papervision3d.materials.shaders.ShadedMaterial;
import org.papervision3d.materials.shaders.Shader;
import org.papervision3d.materials.special.BitmapParticleMaterial;
import org.papervision3d.materials.special.ParticleMaterial;
import org.papervision3d.materials.utils.BitmapMaterialTools;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.objects.parsers.Collada;
import org.papervision3d.objects.parsers.DAE;
import org.papervision3d.objects.primitives.Cube;
import org.papervision3d.objects.primitives.Sphere;
import org.papervision3d.objects.special.ParticleField;
import org.papervision3d.view.BasicView;

[SWF(width="1920", height="1200", backgroundColor="#000000",
frameRate="60")]

public class SkyboxAnim extends BasicView
{

[Embed (source= "../universe/front.jpg")]
private var BitmapFront:Class;

[Embed (source= "../universe/back.jpg")]
private var BitmapBack:Class;

[Embed (source= "../universe/top.jpg")]
private var BitmapUp:Class;

[Embed (source= "../universe/right.jpg")]
private var BitmapRight:Class;

[Embed (source= "../universe/left.jpg")]
private var BitmapLeft:Class;

[Embed (source= "../universe/bottom.jpg")]
private var BitmapBottom:Class;

[Embed (source= "../universe/star.png")]
private var BitmapStar:Class;

public var cube:Cube;

//declare stars
public var stars:ParticleField;
public var stars2:ParticleField;

//declare material list
public var materialsList:MaterialsList = new MaterialsList();

//declare 3d object
public var shuttle:DAE;

//declare planets
public var earth:Sphere;
public var mercury:Sphere;
public var mars:Sphere;
public var venus:Sphere;
public var jupiter:Sphere;
public var saturn:Sphere;
public var neptune:Sphere;
public var uranus:Sphere;
public var liquidsphere:Sphere;
public var liquidspheresmall:Sphere;
//shaded material for each planets
public var earthMaterial:ShadedMaterial;
public var venusMaterial:ShadedMaterial;
public var jupiterMaterial:ShadedMaterial;
public var saturnMaterial:ShadedMaterial;
public var marsMaterial:ShadedMaterial;
public var mercuryMaterial:ShadedMaterial;
public var uranusMaterial:ShadedMaterial;
public var neptuneMaterial:ShadedMaterial;

//declare light
public var light:PointLight3D;

//declare shader
public var shader:Shader;

//Text Label
public var label:TextField;
public var labelText:String = "";

public function SkyboxAnim()
{
super(1920 , 1200,true, true);

//declare bitmap materials and material list
var frontMat:BitmapMaterial = new BitmapMaterial(new
BitmapFront().bitmapData);
var backMat:BitmapMaterial = new BitmapMaterial(new
BitmapBack().bitmapData);
var topMat:BitmapMaterial = new BitmapMaterial(new
BitmapUp().bitmapData);
var bottomMat:BitmapMaterial = new BitmapMaterial(new
BitmapBottom().bitmapData);
var rightMat:BitmapMaterial = new BitmapMaterial(new
BitmapRight().bitmapData);
var leftMat:BitmapMaterial = new BitmapMaterial(new
BitmapLeft().bitmapData);

//sides of the material
frontMat.doubleSided = true;
backMat.doubleSided = true;
rightMat.doubleSided = true;
topMat.doubleSided = true;
leftMat.doubleSided = true;
bottomMat.doubleSided = true;

//add bitmap materials to material list
materialsList.addMaterial(frontMat,"front");
materialsList.addMaterial(backMat,"back");
materialsList.addMaterial(topMat,"top");
materialsList.addMaterial(bottomMat,"bottom");
materialsList.addMaterial(rightMat,"right");
materialsList.addMaterial(leftMat,"left");

//cube propoerties
cube = new Cube(materialsList, 1000,1000,1000,5,5,5);

//star field properties
var starMat:BitmapParticleMaterial = new BitmapParticleMaterial(new
BitmapStar().bitmapData);
stars = new ParticleField(new
ParticleMaterial(0XFFFFFF,1,ParticleMaterial.SHAPE_CIRCLE),2000,2,500);
stars2 = new ParticleField(starMat, 100, 0.4);

//add child for stars
scene.addChild(stars);
scene.addChild(stars2);

//add child for cube
scene.addChild(cube);

//camera fov
camera.fov = 100;
camera.z = 0;

//add event listener
addEventListener(Event.ENTER_FRAME,rotateCube);

DaeShuttle();
Planets();
startRendering();

}

public function Planets():void
{

//A light Source
light = new PointLight3D(true);
light.z = 290;
light.x = -200;
light.y = -200;

//shader
shader = new PhongShader(light, 0xFFFFFF, 0x505050);

//planets

//variable for Earth

var earthmaterial:BitmapFileMaterial = new
BitmapFileMaterial("../planet/earthmap.jpg");
earthMaterial = new ShadedMaterial(earthmaterial , shader);
earth = new Sphere(earthMaterial,100,25,28);

//vairable for Venus

var venusmaterial:BitmapFileMaterial = new
BitmapFileMaterial("../planet/venusmap.jpg");
venusMaterial = new ShadedMaterial(venusmaterial , shader);
venus = new Sphere(venusMaterial,45,20,18);

//vairable for Mercury

var mercurymaterial:BitmapFileMaterial = new
BitmapFileMaterial("../planet/mercurymap.jpg");
mercuryMaterial = new ShadedMaterial(mercurymaterial , shader);
mercury = new Sphere(mercuryMaterial,15,20,18);

//vairable for Mars
var marsmaterial:BitmapFileMaterial = new
BitmapFileMaterial("../planet/mars.jpg");
marsMaterial = new ShadedMaterial(marsmaterial , shader);
mars = new Sphere(marsMaterial,30,20,18);

//vairable for jupiter
var jupitermaterial:BitmapFileMaterial = new
BitmapFileMaterial("../planet/jupitermap.jpg");

jupiterMaterial = new ShadedMaterial(jupitermaterial , shader);
jupiter = new Sphere(jupiterMaterial,90,20,18)

//vairable for saturn
var saturnmaterial:BitmapFileMaterial = new
BitmapFileMaterial("../planet/saturnmap.jpg");
saturnMaterial = new ShadedMaterial(saturnmaterial , shader);
saturn = new Sphere(saturnMaterial,50,20,18)

//vairable for uranus
var uranusmaterial:BitmapFileMaterial = new
BitmapFileMaterial("../planet/uranusmap.jpg");
uranusMaterial = new ShadedMaterial(uranusmaterial , shader);
uranus = new Sphere(uranusMaterial,40,28,25)

//vairable for neptune
var neptunematerial:BitmapFileMaterial = new
BitmapFileMaterial("../planet/neptunemap.jpg");
neptuneMaterial = new ShadedMaterial(neptunematerial , shader);
neptune = new Sphere(neptuneMaterial,40,28,25)

//vairable for liquid sphere
var liquidMat:BitmapFileMaterial = new
BitmapFileMaterial("../planet/mat_liquid.jpg");
liquidsphere = new Sphere(liquidMat,11,18,18)

liquidspheresmall = new Sphere(liquidMat,5,18,18)

addEventListener(Event.ENTER_FRAME,rotatePlanets);
}

public function DaeShuttle():void
{
//dae model
shuttle = new DAE();
shuttle.scale = 7
shuttle.x = 59;
shuttle.y = 30;
shuttle.z = 0;
DAE(shuttle).load("../planet/space2.DAE")
shuttle.addEventListener(FileLoadEvent.LOAD_COMPLETE, forShuttle);
stage.addEventListener(KeyboardEvent.KEY_DOWN, downShuttle);
addEventListener(MouseEvent.CLICK, clickShuttle);
}
public function TextFieldExample():void
{
confgLabel();
setLabel(labelText);
}

public function setLabel(str:String):void
{
label.text = str;
}

public function confgLabel():void
{
label = new TextField();
label.autoSize = TextFieldAutoSize.LEFT;
label.border = true;

var format:TextFormat = new TextFormat();
format.font = "Verdana";
format.color = 0xFF0000;
format.size = 20;

label.defaultTextFormat = format;
label.x = 50;
label.y = 50;
addChild(label);

}
public function forShuttle(e:FileLoadEvent):void
{
cube.addChild(shuttle);
singleRender();
}

public function clickShuttle(e:MouseEvent):void
{
trace("click");
}

public function downShuttle(e:KeyboardEvent):void
{
switch(e.keyCode)
{
case Keyboard.DOWN:
{
shuttle.y -=10;
labelText = shuttle.y.toString();
break;
}

case Keyboard.UP:
{
shuttle.y += 10;
break;
}

case Keyboard.LEFT:
{
shuttle.x +=10;
camera.x-=2;
shuttle.pitch(4);
break;
}

case Keyboard.RIGHT:
{
shuttle.x +=10;
shuttle.x += 2;
break;
}

}
}

public function rotateCube(e:Event):void
{
camera.yaw((viewport.containerSprite.mouseX) * 0.004);
camera.pitch((viewport.containerSprite.mouseY) * 0.004);
singleRender();
}

public function rotatePlanets(e:Event):void
{
//earth
cube.addChild(earth);
earth.y = 30;
earth.x = 59;
earth.z = 290;
earth.yaw(0.2);

//venus
cube.addChild(venus);
venus.y = 55;
venus.x = 300;
venus.z = 120;
venus.yaw(0.2);

//mercury
cube.addChild(mercury);
mercury.y = 100;
mercury.x = 180;
mercury.z = -3;
mercury.yaw(0.2);

//mars
cube.addChild(mars);
mars.y = -55;
mars.x = -60;
mars.z = 68;
mars.yaw(0.2);

//jupiter
cube.addChild(jupiter);
jupiter.y = 20;
jupiter.x = -300
jupiter.z = 1;
jupiter.yaw(0.2);

//saturn
cube.addChild(saturn);
saturn.y = 300;
saturn.x = -380
saturn.z = -2;
saturn.yaw(0.2);

//uranus
cube.addChild(uranus);
uranus.y = 250;
uranus.x = 30
uranus.z = -150;
uranus.yaw(0.2);


//neptune

cube.addChild(neptune);
neptune.y = 250;
neptune.x = 130
neptune.z = -70;
neptune.yaw(0.2);

//liquid sphere
cube.addChild(liquidsphere);
liquidsphere.y = 120;
liquidsphere.x = 180;
liquidsphere.z = 35;

//liquid sphere small
cube.addChild(liquidspheresmall);
liquidspheresmall.y = 130;
liquidspheresmall.x = 59;
liquidspheresmall.z = 35;
liquidspheresmall.yaw(0.2);
singleRender();

}


}

}
--
View this message in context: http://papervision3d.758870.n4.nabble.com/rotating-dae-objects-tp3235359p3235359.html
Sent from the Papervision3D mailing list archive at Nabble.com.
John Grden
2011-01-25 03:52:50 UTC
Permalink
rotate() is iterative - ie: it will just continue to rotate by 90 degrees
each time you call it.

If you want to set a true angle, use rotationX = value
Post by cy_1989
Hi, may i know what code should i used to rotate the dae object? Cause when i
use this code shuttle.pitch(90); it will keep on rotating .
What i want is that when the user press the left or right arrow key, the
space shuttle(my dae object) will be in the horizontal direction
How do i do it?
package
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
import flash.ui.Keyboard;
import org.papervision3d.core.math.Sphere3D;
import org.papervision3d.events.FileLoadEvent;
import org.papervision3d.lights.PointLight3D;
import org.papervision3d.materials.BitmapFileMaterial;
import org.papervision3d.materials.BitmapMaterial;
import org.papervision3d.materials.ColorMaterial;
import org.papervision3d.materials.WireframeMaterial;
import org.papervision3d.materials.shaders.FlatShader;
import org.papervision3d.materials.shaders.GouraudShader;
import org.papervision3d.materials.shaders.PhongShader;
import org.papervision3d.materials.shaders.ShadedMaterial;
import org.papervision3d.materials.shaders.Shader;
import org.papervision3d.materials.special.BitmapParticleMaterial;
import org.papervision3d.materials.special.ParticleMaterial;
import org.papervision3d.materials.utils.BitmapMaterialTools;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.objects.parsers.Collada;
import org.papervision3d.objects.parsers.DAE;
import org.papervision3d.objects.primitives.Cube;
import org.papervision3d.objects.primitives.Sphere;
import org.papervision3d.objects.special.ParticleField;
import org.papervision3d.view.BasicView;
[SWF(width="1920", height="1200", backgroundColor="#000000",
frameRate="60")]
public class SkyboxAnim extends BasicView
{
[Embed (source= "../universe/front.jpg")]
private var BitmapFront:Class;
[Embed (source= "../universe/back.jpg")]
private var BitmapBack:Class;
[Embed (source= "../universe/top.jpg")]
private var BitmapUp:Class;
[Embed (source= "../universe/right.jpg")]
private var BitmapRight:Class;
[Embed (source= "../universe/left.jpg")]
private var BitmapLeft:Class;
[Embed (source= "../universe/bottom.jpg")]
private var BitmapBottom:Class;
[Embed (source= "../universe/star.png")]
private var BitmapStar:Class;
public var cube:Cube;
//declare stars
public var stars:ParticleField;
public var stars2:ParticleField;
//declare material list
public var materialsList:MaterialsList = new
MaterialsList();
//declare 3d object
public var shuttle:DAE;
//declare planets
public var earth:Sphere;
public var mercury:Sphere;
public var mars:Sphere;
public var venus:Sphere;
public var jupiter:Sphere;
public var saturn:Sphere;
public var neptune:Sphere;
public var uranus:Sphere;
public var liquidsphere:Sphere;
public var liquidspheresmall:Sphere;
//shaded material for each planets
public var earthMaterial:ShadedMaterial;
public var venusMaterial:ShadedMaterial;
public var jupiterMaterial:ShadedMaterial;
public var saturnMaterial:ShadedMaterial;
public var marsMaterial:ShadedMaterial;
public var mercuryMaterial:ShadedMaterial;
public var uranusMaterial:ShadedMaterial;
public var neptuneMaterial:ShadedMaterial;
//declare light
public var light:PointLight3D;
//declare shader
public var shader:Shader;
//Text Label
public var label:TextField;
public var labelText:String = "";
public function SkyboxAnim()
{
super(1920 , 1200,true, true);
//declare bitmap materials and material list
var frontMat:BitmapMaterial = new BitmapMaterial(new
BitmapFront().bitmapData);
var backMat:BitmapMaterial = new BitmapMaterial(new
BitmapBack().bitmapData);
var topMat:BitmapMaterial = new BitmapMaterial(new
BitmapUp().bitmapData);
var bottomMat:BitmapMaterial = new
BitmapMaterial(new
BitmapBottom().bitmapData);
var rightMat:BitmapMaterial = new BitmapMaterial(new
BitmapRight().bitmapData);
var leftMat:BitmapMaterial = new BitmapMaterial(new
BitmapLeft().bitmapData);
//sides of the material
frontMat.doubleSided = true;
backMat.doubleSided = true;
rightMat.doubleSided = true;
topMat.doubleSided = true;
leftMat.doubleSided = true;
bottomMat.doubleSided = true;
//add bitmap materials to material list
materialsList.addMaterial(frontMat,"front");
materialsList.addMaterial(backMat,"back");
materialsList.addMaterial(topMat,"top");
materialsList.addMaterial(bottomMat,"bottom");
materialsList.addMaterial(rightMat,"right");
materialsList.addMaterial(leftMat,"left");
//cube propoerties
cube = new Cube(materialsList,
1000,1000,1000,5,5,5);
//star field properties
var starMat:BitmapParticleMaterial = new BitmapParticleMaterial(new
BitmapStar().bitmapData);
stars = new ParticleField(new
ParticleMaterial(0XFFFFFF,1,ParticleMaterial.SHAPE_CIRCLE),2000,2,500);
stars2 = new ParticleField(starMat, 100, 0.4);
//add child for stars
scene.addChild(stars);
scene.addChild(stars2);
//add child for cube
scene.addChild(cube);
//camera fov
camera.fov = 100;
camera.z = 0;
//add event listener
addEventListener(Event.ENTER_FRAME,rotateCube);
DaeShuttle();
Planets();
startRendering();
}
public function Planets():void
{
//A light Source
light = new PointLight3D(true);
light.z = 290;
light.x = -200;
light.y = -200;
//shader
shader = new PhongShader(light, 0xFFFFFF, 0x505050);
//planets
//variable for Earth
var earthmaterial:BitmapFileMaterial = new
BitmapFileMaterial("../planet/earthmap.jpg");
earthMaterial = new ShadedMaterial(earthmaterial , shader);
earth = new Sphere(earthMaterial,100,25,28);
//vairable for Venus
var venusmaterial:BitmapFileMaterial = new
BitmapFileMaterial("../planet/venusmap.jpg");
venusMaterial = new ShadedMaterial(venusmaterial , shader);
venus = new Sphere(venusMaterial,45,20,18);
//vairable for Mercury
var mercurymaterial:BitmapFileMaterial = new
BitmapFileMaterial("../planet/mercurymap.jpg");
mercuryMaterial = new ShadedMaterial(mercurymaterial , shader);
mercury = new Sphere(mercuryMaterial,15,20,18);
//vairable for Mars
var marsmaterial:BitmapFileMaterial = new
BitmapFileMaterial("../planet/mars.jpg");
marsMaterial = new ShadedMaterial(marsmaterial , shader);
mars = new Sphere(marsMaterial,30,20,18);
//vairable for jupiter
var jupitermaterial:BitmapFileMaterial = new
BitmapFileMaterial("../planet/jupitermap.jpg");
jupiterMaterial = new ShadedMaterial(jupitermaterial , shader);
jupiter = new Sphere(jupiterMaterial,90,20,18)
//vairable for saturn
var saturnmaterial:BitmapFileMaterial = new
BitmapFileMaterial("../planet/saturnmap.jpg");
saturnMaterial = new ShadedMaterial(saturnmaterial , shader);
saturn = new Sphere(saturnMaterial,50,20,18)
//vairable for uranus
var uranusmaterial:BitmapFileMaterial = new
BitmapFileMaterial("../planet/uranusmap.jpg");
uranusMaterial = new ShadedMaterial(uranusmaterial , shader);
uranus = new Sphere(uranusMaterial,40,28,25)
//vairable for neptune
var neptunematerial:BitmapFileMaterial = new
BitmapFileMaterial("../planet/neptunemap.jpg");
neptuneMaterial = new ShadedMaterial(neptunematerial , shader);
neptune = new Sphere(neptuneMaterial,40,28,25)
//vairable for liquid sphere
var liquidMat:BitmapFileMaterial = new
BitmapFileMaterial("../planet/mat_liquid.jpg");
liquidsphere = new Sphere(liquidMat,11,18,18)
liquidspheresmall = new Sphere(liquidMat,5,18,18)
addEventListener(Event.ENTER_FRAME,rotatePlanets);
}
public function DaeShuttle():void
{
//dae model
shuttle = new DAE();
shuttle.scale = 7
shuttle.x = 59;
shuttle.y = 30;
shuttle.z = 0;
DAE(shuttle).load("../planet/space2.DAE")
shuttle.addEventListener(FileLoadEvent.LOAD_COMPLETE, forShuttle);
stage.addEventListener(KeyboardEvent.KEY_DOWN, downShuttle);
addEventListener(MouseEvent.CLICK, clickShuttle);
}
public function TextFieldExample():void
{
confgLabel();
setLabel(labelText);
}
public function setLabel(str:String):void
{
label.text = str;
}
public function confgLabel():void
{
label = new TextField();
label.autoSize = TextFieldAutoSize.LEFT;
label.border = true;
var format:TextFormat = new TextFormat();
format.font = "Verdana";
format.color = 0xFF0000;
format.size = 20;
label.defaultTextFormat = format;
label.x = 50;
label.y = 50;
addChild(label);
}
public function forShuttle(e:FileLoadEvent):void
{
cube.addChild(shuttle);
singleRender();
}
public function clickShuttle(e:MouseEvent):void
{
trace("click");
}
public function downShuttle(e:KeyboardEvent):void
{
switch(e.keyCode)
{
{
shuttle.y -=10;
labelText = shuttle.y.toString();
break;
}
{
shuttle.y += 10;
break;
}
{
shuttle.x +=10;
camera.x-=2;
shuttle.pitch(4);
break;
}
{
shuttle.x +=10;
shuttle.x += 2;
break;
}
}
}
public function rotateCube(e:Event):void
{
camera.yaw((viewport.containerSprite.mouseX) * 0.004);
camera.pitch((viewport.containerSprite.mouseY) * 0.004);
singleRender();
}
public function rotatePlanets(e:Event):void
{
//earth
cube.addChild(earth);
earth.y = 30;
earth.x = 59;
earth.z = 290;
earth.yaw(0.2);
//venus
cube.addChild(venus);
venus.y = 55;
venus.x = 300;
venus.z = 120;
venus.yaw(0.2);
//mercury
cube.addChild(mercury);
mercury.y = 100;
mercury.x = 180;
mercury.z = -3;
mercury.yaw(0.2);
//mars
cube.addChild(mars);
mars.y = -55;
mars.x = -60;
mars.z = 68;
mars.yaw(0.2);
//jupiter
cube.addChild(jupiter);
jupiter.y = 20;
jupiter.x = -300
jupiter.z = 1;
jupiter.yaw(0.2);
//saturn
cube.addChild(saturn);
saturn.y = 300;
saturn.x = -380
saturn.z = -2;
saturn.yaw(0.2);
//uranus
cube.addChild(uranus);
uranus.y = 250;
uranus.x = 30
uranus.z = -150;
uranus.yaw(0.2);
//neptune
cube.addChild(neptune);
neptune.y = 250;
neptune.x = 130
neptune.z = -70;
neptune.yaw(0.2);
//liquid sphere
cube.addChild(liquidsphere);
liquidsphere.y = 120;
liquidsphere.x = 180;
liquidsphere.z = 35;
//liquid sphere small
cube.addChild(liquidspheresmall);
liquidspheresmall.y = 130;
liquidspheresmall.x = 59;
liquidspheresmall.z = 35;
liquidspheresmall.yaw(0.2);
singleRender();
}
}
}
--
http://papervision3d.758870.n4.nabble.com/rotating-dae-objects-tp3235359p3235359.html
Sent from the Papervision3D mailing list archive at Nabble.com.
_______________________________________________
Papervision3D mailing list
http://osflash.org/mailman/listinfo/papervision3d_osflash.org
--
[ JPG ]
cy_1989
2011-01-26 08:15:40 UTC
Permalink
Hi,

i have tried your coding. It works , but somehow, when i press the left
arrow key , the spaceship turn upside down.

How Do i solve it?

public function downShuttle(e:KeyboardEvent):void
{
switch(e.keyCode)
{
case Keyboard.DOWN:
{
shuttle.y -=10;

labelText = shuttle.y.toString();
break;
}

case Keyboard.UP:
{
shuttle.y += 10;
camera.y -=2;
break;
}

case Keyboard.LEFT:
{
shuttle.x -=10;
camera.x -=2;
shuttle.rotationX =90;
break;
}

case Keyboard.RIGHT:
{
shuttle.x +=10;
camera.x +=2;
shuttle.rotationX = -90;
break;
}

}
}
--
View this message in context: http://papervision3d.758870.n4.nabble.com/rotating-dae-objects-tp3235359p3237592.html
Sent from the Papervision3D mailing list archive at Nabble.com.
cy_1989
2011-01-26 08:20:36 UTC
Permalink
Hi, the code works, but my spaceship has turn upside down when i press the
left arrow key

public function downShuttle(e:KeyboardEvent):void
{
switch(e.keyCode)
{
case Keyboard.DOWN:
{
shuttle.y -=10;

labelText = shuttle.y.toString();
break;
}

case Keyboard.UP:
{
shuttle.y += 10;
camera.y -=2;
break;
}

case Keyboard.LEFT:
{
shuttle.x -=10;
camera.x -=2;
shuttle.rotationX =90;
break;
}

case Keyboard.RIGHT:
{
shuttle.x +=10;
camera.x +=2;
shuttle.rotationX = -90;
break;
}

}
}
--
View this message in context: http://papervision3d.758870.n4.nabble.com/rotating-dae-objects-tp3235359p3237604.html
Sent from the Papervision3D mailing list archive at Nabble.com.
cy_1989
2011-01-26 08:31:43 UTC
Permalink
hi.

i try the code it works. however when i press the left arrow key, the
spaceship turn upside down. anywhere has gone wrong? i not sure how to solve
it


public function downShuttle(e:KeyboardEvent):void
{
switch(e.keyCode)
{
case Keyboard.DOWN:
{
shuttle.y -=10;

labelText = shuttle.y.toString();
break;
}

case Keyboard.UP:
{
shuttle.y += 10;
camera.y -=2;
break;
}

case Keyboard.LEFT:
{
shuttle.x -=10;
camera.x -=2;
shuttle.rotationX =90;
break;
}

case Keyboard.RIGHT:
{
shuttle.x +=10;
camera.x +=2;
shuttle.rotationX = -90;
break;
}

}
}
--
View this message in context: http://papervision3d.758870.n4.nabble.com/rotating-dae-objects-tp3235359p3237620.html
Sent from the Papervision3D mailing list archive at Nabble.com.
Loading...