SPEEL DE DEMO
Download de broncode
Terug naar de tutorial INDEX
Een gemeenschappelijk concept in 3D-toepassingen is dat van een camera. Een camera is meestal een beweegbaar object dat kan worden geplaatst in een scène, waardoor de scène die vanuit verschillende hoeken zonder de positie van de objecten in de scène te veranderen. In as3isolib de IsoView klasse implementeert de functionaliteit van een camera, zodat u een scène vanuit verschillende posities.
Main.mxml
De scène wordt gemaakt net zoals het vroeger was.
beveiligde functie AppComplete (): void {var spriteContainer: SpriteUIComponent = new SpriteUIComponent (); this.addChild (spriteContainer); scene = new IsoScene ();In plaats van direct toevoegen van de scène naar de Flex-toepassing, zullen we in plaats daarvan maken een IsoView object en voeg de scène om het gebruik van de addScene functie
view = new IsoView. (); view.addScene (scene);
We schakelen de IsoView knippen (waar voorwerpen buiten het zicht van de scène niet getekend) en de grens, en geeft deze vervolgens door het toevoegen van het als een kind van de SpriteUIComponent
<. pre> view.showBorder = false; view.clipContent = false; spriteContainer.addChild (view);
De stuiterende box van de laatste les is weer gemaakt, zodat we iets te zien
box1 = new ISOBOX ().; box1.setSize (75, 75, 75); box1.moveTo (0, 0, 50); scene.addChild (box1); TweenMax.to (box1, 2, {z: 0, jojo: true, herhaal: -1}); this.addEventListener (Event.ENTER_FRAME, enterFrame);
Met het oog op de "camera" te verplaatsen boven de isometrische scène die we nodig hebben voor drie muis gebeurtenissen te luisteren. De eerste is wanneer de muis wordt geklikt. Hier zetten we de pan variabele op true, die we later zullen gebruiken om aan te geven dat de gebruiker wil de camera pan over de scène
this.addEventListener (MouseEvent.MOUSE_DOWN, functie (event:. MouseEvent): void {pan = true;.
We moeten ook een notitie van de positie van de muiscursor wanneer de knop is geklikt te maken Dit is omdat de beweging van de camera is op basis van de beweging van de relatieve beweging van de muis tussen de frames . Maar MouseEvent klas niet houden van een track van deze relatieve beweging, in plaats daarvan alleen het leveren van de absolute positie van de muis.
Door het opslaan van de positie van de muis in de LASTX en Lasty variabelen, kunnen we de relatieve beweging van de muis tussen de frames te be