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 ]
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"));
}
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"));
}
Dodano przez: divix
Ranga: Administrator serwisu Punktów: 0
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
:: Losowe artykuły
:: Wymiana linków
Modowe inspiracje |
Android Gry i Aplikacje |
ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
Logo dla firmy |
Change Tires - Car Weather Forecast Reminder |
Laminas: MVC Framework for PHP |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles: JAVA, PHP, C++, Python, JavaScript |
Kancelaria Adwokacka Łukasz Huszno