[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