2010-06-26 6 views
1

J'ai besoin de développer un cube qui contient 10 petits cubes et manipuler tout le monde comme un objet .. Quelqu'un a une idée ou un tutoriel pour le faire sur PaperVision3d et Flash CS4..Thanks Folks !!PaperVision3D et Flash CS4

+0

Les dix petits cubes sont-ils contenus dans un cube creux géant? Rebondir autour? –

+0

Oui Justin L., dix petits cubes sur un cube géant ... – Rbn

Répondre

1

Je pense que ce que vous voulez réellement est Papervision3d car je ne connais rien qui s'appelle "PaperViewer". Si tel est le cas, veuillez mettre à jour votre question.

Cela devrait vous donner une idée de la façon de commencer. Il crée 10 cubes et les stocke dans un tableau. Vous pouvez y accéder en utilisant boxes[index] pour modifier leur échelle, position et rotation.

package 
{ 
import flash.display.Sprite; 
import flash.events.Event; 

import org.papervision3d.cameras.Camera3D; 
import org.papervision3d.materials.ColorMaterial; 
import org.papervision3d.materials.utils.MaterialsList; 
import org.papervision3d.objects.primitives.Cube; 
import org.papervision3d.view.BasicView; 

public class Boxes3d extends Sprite 
{ 
    private static const NUM_BOXES:int = 10; 

    private var world:BasicView; 

    private var boxes:Array; 

    public function Boxes3d() 
    { 
     addEventListener(Event.ADDED_TO_STAGE, addedToStage); 
    } 

    private function addedToStage(event:Event):void 
    { 
     // create the world and add it to the stage 
     world = new BasicView(); 
     addChild(world); 

     // create a set of boxes 
     boxes = []; 
     var box:Cube; 
     var materials:MaterialsList; 
     for(var boxIndex:int = 0; boxIndex < NUM_BOXES; boxIndex++) 
     { 
      // create a material to cover the cube 
      materials = new MaterialsList({ 
       all: new ColorMaterial(Math.random()*0xFFFFFF) }); 
      // make a cube 
      box = new Cube(materials, 100, 100, 100); 
      // spread it out in space 
      box.x = Math.random()*500 - 250; 
      box.y = Math.random()*500 - 250; 
      box.z = Math.random()*500 - 250; 
      // add it to the scene 
      world.scene.addChild(box); 
     } 

     // get the world to render each frame 
     world.startRendering(); 

     addEventListener(Event.ENTER_FRAME, positionCamera); 
    } 

    private function positionCamera(event:Event):void 
    { 
     var camera:Camera3D = world.cameraAsCamera3D; 
     camera.x = -(stage.width/2 - mouseX) * 2; 
     camera.y = (stage.height/2 - mouseY) * 2; 
    } 
} 

} 
+0

Désolé James Fassett, je veux dire PaperViewer ... je ne sais pas pourquoi j'ai dit ça .. – Rbn

+0

Merci l'homme ..! Mais, je ne peux pas manipuler la taille de chaque cube à l'intérieur .. je dois mettre seulement 10 boîtes et remplir le grand cube ... – Rbn

+0

Vous pouvez définir l'échelle du cube quand vous le créez (le 100 est la taille) de manipuler les propriétés scale, scaleX, scaleY ou scaleZ. Que voulez-vous dire que vous avez besoin de 10 boîtes pour remplir le gros cube? Où sont-ils positionnés par rapport au cube? –