PaperVision3D и Flash CS4 - PullRequest
       0

PaperVision3D и Flash CS4

1 голос
/ 26 июня 2010

Мне нужно разработать куб, который содержит 10 маленьких кубиков и манипулировать всеми, как объектом. У кого-то есть идеи или учебники для этого на PaperVision3d и Flash CS4.

1 Ответ

1 голос
/ 26 июня 2010

Я думаю, что вы действительно хотите Papervision3d , поскольку я ничего не знаю под названием «PaperViewer». Если это так, пожалуйста, обновите ваш вопрос.

Это должно дать вам представление о том, как начать. Он создает 10 кубов и сохраняет их в массиве. Вы можете получить к ним доступ, используя boxes[index], чтобы изменить их масштаб, положение и вращение.

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;
    }
}

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...