[Papervision3D] Cube 4 Dummies

picknick picknick at schwingkreise.de
Mon Jan 7 03:15:52 PST 2008


hi ric,

i am very new to pv3d, but i changed this

    ml = new MaterialsList();
    ml.addMaterial(new ColorMaterial(0xff0000), 'front');
    ml.addMaterial(new ColorMaterial(0x00ff00), 'back');
    ml.addMaterial(new ColorMaterial(0x0000ff), 'left');
    ml.addMaterial(new ColorMaterial(0xff00ff), 'right');
    ml.addMaterial(new ColorMaterial(0x00ffff), 'top');
    ml.addMaterial(new ColorMaterial(0xffff00), 'bottom');

and see a cube!

Ric.Rug schrieb:
> I did it! I post you my full code... the only one thing I can't see is the
> cube!
>
>
>
>   
>> package {
>> 	
>> 	import flash.display.Sprite;
>> 	import flash.display.Stage;
>> 	import flash.display.StageAlign;
>> 	import flash.display.StageQuality;
>> 	import flash.display.StageScaleMode;
>> 	import flash.events.Event;
>> 	import flash.display.StageDisplayState;
>> 	import flash.ui.ContextMenu;
>> 	import flash.events.ContextMenuEvent;
>> 	import flash.ui.ContextMenuItem;
>>
>> 	import org.papervision3d.cameras.Camera3D;
>> 	import org.papervision3d.materials.utils.MaterialsList;
>> 	import org.papervision3d.materials.ColorMaterial;
>> 	import org.papervision3d.materials.WireframeMaterial;
>> 	import org.papervision3d.materials.BitmapFileMaterial;
>> 	import org.papervision3d.objects.DisplayObject3D;
>> 	import org.papervision3d.objects.primitives.Cube;
>> 	import org.papervision3d.objects.primitives.Plane;
>> 	import org.papervision3d.scenes.Scene3D;
>> 	import org.papervision3d.view.Viewport3D;
>> 	import org.papervision3d.cameras.FreeCamera3D;
>> 	import org.papervision3d.render.BasicRenderEngine;
>> 	import org.papervision3d.materials.MovieAssetMaterial;
>> 	
>> 	[SWF( backgroundColor="#000000", frameRate="20", width="800",
>> height="600" )]
>> 	public class Main extends Sprite 
>> 	{
>> 	
>> 		public static const MAX_VELOCITY:Number = 4;
>> 		public static const CUBE_SIZE:Number = 900;
>> 		public static const SOFT_ZONE:Number = 150;
>> 		
>>         private var viewport:Viewport3D;  
>>         private var scene:Scene3D;  
>>
>>         private var renderer:BasicRenderEngine;  
>>         
>>         private var camera:FreeCamera3D;  
>> 	private var paperCanvas:Sprite;
>> 		
>> 	private var ml:MaterialsList;
>> 	private var cube:Cube;
>> 		
>>         private var material:ColorMaterial;  
>>         private var materialBmp:BitmapFileMaterial;
>>         private var plane1:Plane; 	
>>         private var plane2:Plane; 	
>> 		
>> 	private var velV:Number = 0;
>> 	private var velH:Number = 0;
>>         
>> 		function Main()
>> 		{
>>
>> 			stage.quality = StageQuality.BEST;
>> 			stage.scaleMode = StageScaleMode.NO_SCALE;
>> 			stage.align = StageAlign.TOP_LEFT;
>> 			stage.displayState = StageDisplayState.FULL_SCREEN;
>> 			
>> 			var menu : ContextMenu = new ContextMenu();
>> 			menu.addEventListener( ContextMenuEvent.MENU_SELECT,
>> onContextMenuHandler);  
>> 			menu.hideBuiltInItems();
>> 			
>> 			var fs:ContextMenuItem = new ContextMenuItem("Show Full Screen" );  
>> 			fs.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,
>> onShowFullScreen);  
>> 			menu.customItems.push( fs );  
>> 			var xfs:ContextMenuItem = new ContextMenuItem("Exit Full Screen");  
>> 			xfs.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,
>> onShowNormalScreen);  
>> 			menu.customItems.push( xfs ); 
>> 			var _nfo:ContextMenuItem = new ContextMenuItem("Info..." );  
>> 			_nfo.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, onShowInfo);  
>> 			menu.customItems.push( _nfo );  
>> 			
>> 			this.contextMenu = menu;
>>
>> 	
>> 			initPapervision();
>> 			initMaterials();
>> 			initScene();
>> 			
>> 			addEventListener( Event.ENTER_FRAME, onEnterFrame );
>> 			
>> 		}
>> 		
>> 		private function initPapervision():void
>> 		{
>> 			viewport = new Viewport3D(0, 0, true, true);
>> 			addChild( viewport );
>> 			
>> 			scene = new Scene3D(true);
>>
>> 			camera = new FreeCamera3D(1,2000);
>> 			camera.x=-200;
>> 			camera.z=-5000;
>> 			
>> 			renderer = new BasicRenderEngine();
>> 		}
>>
>>         private function initMaterials():void  
>>         {  
>>             material = new ColorMaterial( 0xCC0000 );
>>
>>             materialBmp = new BitmapFileMaterial("DSC05441.jpg");  
>> 			materialBmp.doubleSided = true;
>> 			materialBmp.smooth = true;
>>
>> 			ml = new MaterialsList();
>> 			ml.addMaterial(new ColorMaterial(0xff0000), 'face1');
>> 			ml.addMaterial(new ColorMaterial(0x00ff00), 'face2');
>> 			ml.addMaterial(new ColorMaterial(0x0000ff), 'face3');
>> 			ml.addMaterial(new ColorMaterial(0xff00ff), 'face4');
>> 			ml.addMaterial(new ColorMaterial(0x00ffff), 'face5');
>> 			ml.addMaterial(new ColorMaterial(0xffff00), 'face6');
>>
>>         } 
>>
>> 		private function initScene():void
>> 		{
>> 			cube = new Cube(ml, CUBE_SIZE, CUBE_SIZE, CUBE_SIZE);
>> 			scene.addChild(cube, 'myCube');
>> 			
>> 			plane1 = new Plane( materialBmp, CUBE_SIZE, CUBE_SIZE);
>> 			scene.addChild(plane1, 'myPlane');
>>
>> 			plane2 = new Plane( materialBmp, CUBE_SIZE, CUBE_SIZE);
>> 			plane2.x = CUBE_SIZE/2;
>> 			plane2.z = -CUBE_SIZE/2;
>> 			plane2.rotationY = 90;
>> 			scene.addChild(plane2, 'myPlane');
>> 		}
>> 		
>>         
>> 		private function onEnterFrame( event :Event ):void
>> 		{
>> 			renderer.renderScene( scene, camera, viewport );
>> 		}
>>
>>
>> 		// function to enable and disable the context menu items,  
>> 		// based on what mode we are in.  
>> 		private function onContextMenuHandler(event:ContextMenuEvent):void  
>> 		{  
>> 			if (stage.displayState == StageDisplayState.NORMAL)  
>> 			{  
>> 				event.target.customItems[0].enabled = true; // show full screen button  
>> 				event.target.customItems[1].enabled = false; // hide normal screen
>> button  
>> 			}  
>> 			else  
>> 			{  
>> 				event.target.customItems[0].enabled = false; // hide full screen
>> button  
>> 				event.target.customItems[1].enabled = true; // shoe normal screen
>> button  
>> 			}  
>> 		} 
>> 		// functions to enter and leave full screen mode  
>> 		private function onShowFullScreen(event:ContextMenuEvent):void  
>> 		{  
>> 			stage.displayState = StageDisplayState.FULL_SCREEN;  
>> 		}  
>> 		private function onShowNormalScreen(event:ContextMenuEvent):void  
>> 		{  
>> 			stage.displayState = StageDisplayState.NORMAL;
>> 		} 		
>> 		private function onShowInfo(event:ContextMenuEvent):void  
>> 		{  
>> 			var square:Sprite = new Sprite();
>> 			square.graphics.beginFill(0xEEEEEE);
>> 			square.graphics.drawRoundRect(20, 20, 100, 50, 10, 10);
>> 			square.graphics.endFill();
>> 			
>> 			addChild(square);
>> 		} 		
>> 		
>> 	}
>> }
>>
>>     
>
>
>
> blackdice wrote:
>   
>> you didnt render the Scene
>>
>> var renderer:BasicRenderEngine = new BasicRenderEngine();
>> renderer.renderScene(scene, camera, viewport); 
>>
>>
>> Ric.Rug wrote:
>>     
>>> I can't see the cube... 
>>>
>>> [...]
>>>   camera = new FreeCamera3D(1,2000);
>>>   camera.z=-5000;
>>> [...]
>>>   ml = new MaterialsList();
>>>   ml.addMaterial(new ColorMaterial(0xff0000), 'face1');
>>>   ml.addMaterial(new ColorMaterial(0x00ff00), 'face2');
>>>   ml.addMaterial(new ColorMaterial(0x0000ff), 'face3');
>>>   ml.addMaterial(new ColorMaterial(0xff00ff), 'face4');
>>>   ml.addMaterial(new ColorMaterial(0x00ffff), 'face5');
>>>   ml.addMaterial(new ColorMaterial(0xffff00), 'face6');
>>>
>>>   cube = new Cube(ml, 600, 600, 600);
>>>   scene.addChild(cube, 'myCube');
>>> [...]
>>>
>>> what is wrong in this?
>>> Thanks!
>>>
>>>       
>>     
>
>   




More information about the Papervision3D mailing list