hi guys,
Please guide me here…
I am using away3d and flash cs5
I dont have problems with away3d but a weird bug … dont know if i am doing something wrong. am looping and attaching new Plane() and adding bitmapmaterial() but instead of 6 planes i can only see one. Not able to debug this . Help would be very much appreciated.
Thanks in adv.
I am pasting my code here …
And the link to my zip file containing fla and away3d lib
http://www.4shared.com/zip/Jy22dpUD/cards3dtrial.html
import away3d.containers.ObjectContainer3D;
import away3d.containers.View3D;
import away3d.materials.*;
import away3d.primitives.Plane;
import away3d.core.utils.Cast;
import flash.display.Sprite;
import flash.events.Event;
import com.greensock.TweenMax;
import com.greensock.easing.Quint;
var cards:Array = [];
var cardContainer:ObjectContainer3D;
var cardPositions:Array;
var view:View3D;
var lastTime:Number;
var positionVO=new Object();
positionVO.x = 0;
positionVO.y = 0;
positionVO.z = 0;
positionVO.rotationY = 0;
positionVO.rotationX = 0;
function Main()
{
//addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
onAddedToStage();
}
function onAddedToStage():void
{
//trace('AddedToStage')
createView();
createContainer();
createCards();
//createNavButtons();
setInRandom();
startRendering();
view.camera.focus = 70;
}
function createView():void
{
view = new View3D({x:stage.stageWidth / 2,y:stage.stageHeight / 2});
addChild(view);
}
function createContainer():void
{
cardContainer = new ObjectContainer3D();
view.scene.addChild(cardContainer);
}
function createCards():void
{
var len:int = 6;
for (var i:int = 0; i<len; i++)
{
//var bitmapMaterial:BitmapFileMaterial = new BitmapFileMaterial("images/drawing.jpg");
//bitmapMaterial.smooth = true;
var plane:Plane = new Plane({material:new BitmapMaterial(Cast.bitmap("sky")),width:200,height:200});
//plane.material = new BitmapMaterial(Cast.bitmap("sky"));
plane.bothsides = true;
plane.yUp = false;
cards.push(plane);
//trace(cards.length)
cardContainer.addChild(plane);
}
}
function startRendering():void
{
addEventListener(Event.ENTER_FRAME, onRenderTick);
}
function onRenderTick(event:Event=null):void
{
//trace('jijij')
var fps:Number = Math.floor( 1000/(getTimer()-lastTime) );
fpstxt.text=fps.toString()
//trace(fps)
view.render();
cardContainer.yaw(2);
lastTime = getTimer();
}
function setInRandom():void
{
cardPositions = [];
var len:int = cards.length;
for (var i:int = 0; i<len; i++)
{
positionVO.x = Math.random() * 2000 - 1000;
positionVO.y = Math.random() * 1000 - 500;
positionVO.z = Math.random() * 200 - 200;
positionVO.rotationY = Math.random() * 360 - 360;
positionVO.rotationX = Math.random() * 360 - 360;
//trace(positionVO.x+" --- "+positionVO.y+" - - - - "+positionVO.z)
cardPositions.push(positionVO);
}
arrageCards();
}
function arrageCards():void
{
//TweenMax.killAll(false);
var len:int = cards.length;
for (var i:int = 0; i<len; i++)
{
var positionVO = cardPositions*;
var plane:Plane = cards*;
TweenMax.to(plane, 1,{
x:positionVO.x,
y:positionVO.y,
z:positionVO.z,
rotationY:positionVO.rotationY,
ease:Quint.easeInOut
});
}
}
Main();