*   >> läser Utbildning artiklar >> science >> programming

AS3IsoLib Tutorial Series - Camera

spela demo Omdömen

ladda ner källkoden Omdömen

TILLBAKA TILL Handledningen INDEX Omdömen

Ett gemensamt koncept i 3D-program är som en kamera. En kamera är vanligtvis ett rörligt föremål som kan placeras i en scen, vilket gör att scenen som skall betraktas från olika vinklar utan att behöva ändra placeringen av föremålen i scenen. I as3isolib den IsoView klassen implementerar funktionaliteten hos en kamera, så att du kan se en scen från olika positioner. Omdömen

Main.mxml Omdömen

Scenen skapas precis som det var innan.

Omdömen

 skyddad funktion appComplete (): void {var spriteContainer: SpriteUIComponent = new SpriteUIComponent (); this.addChild (spriteContainer); scen = new IsoScene (); 

I stället för att lägga till scenen till Flex-program direkt, kommer vi istället att skapa ett IsoView objekt, och lägg till scenen för att den med hjälp av addScene funktionen Omdömen

 Visa = new IsoView. (); view.

addScene (scen),

Vi inaktiverar IsoView klippning (där föremål utanför utsikt över scenen inte dras) och gränsen, och sedan visa den genom att lägga det som ett barn av SpriteUIComponent Omdömen <. pre> view.showBorder = false; view.clipContent = false; spriteContainer.addChild (vy),

studsande låda från den sista handledningen skapas igen så vi har något att visa Omdömen

 box1 = new IsoBox (). box1.setSize (75, 75, 75); box1.moveTo (0, 0, 50); scene.addChild (box1); TweenMax.to (box1, 2, {z: 0, yoyo: true, upprepar: -1}); this.addEventListener (Event.

ENTER_FRAME, enterframe),

För att flytta "kameran" över isometrisk scenen vi måste lyssna efter tre mushändelser. Den första är när musen klickas. Här har vi satt pannan variabeln till true, som vi kommer att använda senare för att indikera att användaren vill panorera kameran över scenen Omdömen

 this.addEventListener (MouseEvent.MOUSE_DOWN, funktion (event. Mouseevent): void {pan = true;. 

Vi måste också göra en del av position muspekaren när knappen klickade Detta eftersom rörelsen hos kameran baseras av rörelsen av den relativa rörelsen av musen mellan ramar .

Men klassen Mouseevent inte hålla koll på denna relativa rörelse, i stället endast tillföra den absoluta positionen av musen. Genom att lagra positionen för musen i lastX och lastY variabler, kan vi bestämma den relativa rörelsen hos musen mellan ramar.

 lastX = event.stageX; lastY = event.stageY;});. 

När musen släpps vi vill stoppa kameran panorering, så pannan sätts till false

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.