Loading:

Książka Zend Framework 3. Poradnik Programisty.

6 boczna kostka 3D z użyciem PaperVision 3D 2.0 w ActionScript 3

Skrypt tworzy trójwymiarową animowana kostkę reagującą na ruch myszki w PaperVision3D w wersji 2.0 w środowisku Flash CS4.

 

Wersja On-line:

 

 

Aby przykład zadziała prawidłowo, należy utworzyć 6 klipów filmowych (czyli boków kostki) oraz nadać im nazwy instancji na scenie: cz1_mc, cz2_mc, cz3_mc, cz4_mc, cz5_mc oraz cz6_mc.

 

Nasze klipy filmowe powinny być umieszczone w lewym górny rogu filmu z dodanymi parametrami krycia [blending] równymi na "wymazanie" [erase].

 

Ten przykład wykorzystuje biblioteke PaperVision3D v2.0, którą można pobrać tutaj: [ pobierz ]



Napisz Artykuł

Listing

//KOD DO UMIESZCZENIA W 1 KLATCE NOWEJ WARSTWY

import org.papervision3d.scenes.*;
import org.papervision3d.cameras.*;
import org.papervision3d.objects.*;
import org.papervision3d.objects.special.*;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.materials.*;
import org.papervision3d.materials.special.*;
import org.papervision3d.materials.shaders.*;
import org.papervision3d.materials.utils.*;
import org.papervision3d.lights.*;
import org.papervision3d.render.*;
import org.papervision3d.view.*;
import org.papervision3d.events.*;
import org.papervision3d.core.utils.*;
import org.papervision3d.core.utils.virtualmouse.VirtualMouse;
//Skrypt pobrany z www.Funckje.net

var viewport:Viewport3D = new Viewport3D(0, 0, true, true);
addChild(viewport);
viewport.buttonMode = true;

var renderer:BasicRenderEngine = new BasicRenderEngine();

var scene:Scene3D = new Scene3D();

var camera:Camera3D = new Camera3D();
camera.zoom = 11;
camera.focus = 100;

var mm:MovieMaterial = new MovieMaterial(cz1_mc);
mm.interactive = true;
mm.animated = true;
mm.smooth = true;

var mm2:MovieMaterial = new MovieMaterial(cz2_mc);
mm2.interactive = true;
mm2.animated = true;
mm2.smooth = true;

var mm3:MovieMaterial = new MovieMaterial(cz3_mc);
mm3.interactive = true;
mm3.animated = true;
mm3.smooth = true;

var mm4:MovieMaterial = new MovieMaterial(cz4_mc);
mm4.interactive = true;
mm4.animated = true;
mm4.smooth = true;

var mm5:MovieMaterial = new MovieMaterial(cz5_mc);
mm5.interactive = true;
mm5.animated = true;
mm5.smooth = true;

var mm6:MovieMaterial = new MovieMaterial(cz6_mc);
mm6.interactive = true;
mm6.animated = true;
mm6.smooth = true;

var kostka:Cube = new Cube(new MaterialsList({front:mm, left:mm2, right:mm3, top:mm4, bottom:mm5, back:mm6}), 150, 150, 150, 10, 10, 10);

scene.addChild(kostka);

addEventListener(Event.ENTER_FRAME, petla);

function petla(e:Event):void {
        var xDystans:Number = mouseX - stage.stageWidth * 0.5;
        var yDystans:Number = mouseY - stage.stageHeight * 0.5;
        kostka.rotationY += xDystans * 0.05;
        kostka.rotationX += yDystans * 0.05;
        renderer.renderScene(scene, camera, viewport);
}

mm.addEventListener(MouseEvent.CLICK, klikniecie);
mm2.addEventListener(MouseEvent.CLICK, klikniecie);
mm3.addEventListener(MouseEvent.CLICK, klikniecie);
mm4.addEventListener(MouseEvent.CLICK, klikniecie);
mm5.addEventListener(MouseEvent.CLICK, klikniecie);
mm6.addEventListener(MouseEvent.CLICK, klikniecie);

function klikniecie(e:Event):void {
        navigateToURL(new URLRequest("http://funkcje.net"));
}


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=12&t=3141

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: divix
Ranga: Administrator serwisu Punktów: 37169
Komentarze użytkowników
    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-17 v.1.5 | design: diviXdesign & rainbowcolors