This line right here: var bmd:BitmapData=new BitmapData(36,36); You might want your material resolution a bit higher if you are zooming in closer to the object and it looks pixelated. Not sure how big the object will be on screen, but maybe make it the same resolution it will be seen onscreen. You can take a screenshot and measure the pixels of the object, when it's the largest on screen.
-Pete On Tue, Jul 13, 2010 at 10:42 AM, metSyS <[email protected]> wrote: > Can't understand how to do BitmapMaterial more clarity. I've tried > everything I knew, I don't want to use movie material. Here's my > code : > > package { > import away3d.cameras.HoverCamera3D; > import away3d.containers.ObjectContainer3D; > import away3d.containers.Scene3D; > import away3d.containers.View3D; > import away3d.core.base.Object3D; > import away3d.core.render.Renderer; > import away3d.events.MouseEvent3D; > import away3d.materials.BitmapMaterial; > import away3d.materials.MovieMaterial; > import away3d.primitives.Plane; > import away3d.primitives.Trident; > > import caurina.transitions.Tweener; > > import flash.display.BitmapData; > import flash.display.Sprite; > import flash.events.Event; > import flash.text.TextField; > > [SWF(width="1024", height="768", frameRate="30", > backgroundColor="0xAAAAAA", quality="high")] > public class Away3D extends Sprite > { > private var scene:Scene3D; > private var view:View3D; > private var cam:HoverCamera3D; > > private var lettersArray:Array=new Array(); > private var lettersGroup:ObjectContainer3D; > > private var lettersCounter:int=0; > private var playFieldSize:int; > > public function Away3D() > { > init(); > addObjects(); > stage.addEventListener(Event.ENTER_FRAME, > onEnterFrame); > } > > private function init():void > { > scene=new Scene3D(); > > cam=new HoverCamera3D({distance:600}); > cam.targetpanangle=cam.panangle=0; > cam.targettiltangle=cam.tiltangle=70; > > view=new View3D({camera:cam, x:stage.stageWidth/2, > y:stage.stageHeight/2}); > view.renderer=Renderer.CORRECT_Z_ORDER; > addChild(view); > } > > private function addObjects():void > { > lettersGroup=new ObjectContainer3D(); > playFieldSize=15; > var k:int=(playFieldSize-10)*21; > for (var i:int=0; i<playFieldSize; i++) > { > for (var j:int=0; j<playFieldSize; j++) > { > lettersArray[j]=new Plane({width:38, > height:38, x:(189-(i*42)+k), > z:(189-(j*42)+k), rotationX:180, rotationY:180, back:'black'}); > lettersArray[j].bothsides=true; > > lettersArray[j].material=createMaterial("7"); > //lettersArray[j].back="black"; > > view.scene.addChild(lettersArray[j]); > > lettersArray[j].addOnMouseOver(overLetter); > > lettersArray[j].addOnMouseOut(outLetter); > > lettersArray[j].addOnMouseDown(downLetter); > > } > } > view.scene.addChild(lettersGroup); > > var axis:Trident=new Trident(150); > view.scene.addChild(axis); > } > > private function createMaterial(label:String):BitmapMaterial > { > var texture:TextField=new TextField(); > texture.text=label; > texture.antiAliasType="advanced"; > var bmd:BitmapData=new BitmapData(36,36); > bmd.draw(texture); > var letter:BitmapMaterial=new BitmapMaterial( bmd, > {precision:80, > smooth:true}); > return letter; > } > > private function onEnterFrame(e:Event):void > { > var cameraSpeed:Number=0.3; > > > //cam.targetpanangle=-((mouseX-(stage.stageWidth/2))*0.05); > > //cam.targettiltangle=-((mouseY-(stage.stageHeight/2))*0.05); > > cam.hover(); > view.render(); > } > > private function overLetter(e:MouseEvent3D):void > { > var object:Object3D=e.object; > Tweener.addTween(object, {y:50, time:1}); > } > > private function outLetter(e:MouseEvent3D):void > { > var object:Object3D=e.object; > Tweener.addTween(object, {y:0, time:1}); > } > > private function downLetter(e:MouseEvent3D):void > { > if (lettersCounter<7) > { > lettersCounter++; > var object:Object3D=e.object; > e.target.removeOnMouseDown(downLetter); > e.target.removeOnMouseOut(outLetter); > e.target.removeOnMouseOver(overLetter); > Tweener.addTween(object, > {x:(168+(-42*lettersCounter)), z:300, y: > 600, rotationX:0, time:1}); > } > } > } > } -- ___________________ Actionscript 3.0 Flash 3D Graphics Engine HTTP://AWAY3D.COM
