public var screenWidth. int = 480; public var Hastighet: Number = 200; public var sideBuffer: int = 32;Som en allmän regel konstruktören av en komponent får inte innehålla någon kod. När en ny komponent skapas, och konstruktören kallas, är det inte är knutna till en enhet. Även om de inte används här, onAdd och onRemove funktioner är i huvudsak motsvarar konstruktören och destructor (för de C ++ programmerare där ute) katalog
public function PlayerControllerComponent () {super (). }onTick funktionen är där vi uppdaterar spelaren.
Först får vi en referens till enheter hastighet och position. Dessa värden innehas av den rumsliga komponenten och kopplade i definitionen av XML-mall, men det gör ingen skillnad för PlayerControllerComponent där dessa värden kommer ifrån. Denna typ av lös koppling är en av aspekterna av tryckknappen komponentdesignsystem. Den PlayerControllerComponent vet hur man ändrar läget och hastigheten hos en enhet, men det bryr sig inte hur läget och hastigheten används Omdömen
public override function onTick (tickrate: Number):. Void {super.onTick (tickrate ); var hastighet: Point = owner.getProperty (velocityReference); var läge: Point = owner.getProperty (positionReference),
Det finns alltid en risk att fastighets referenserna inte fastställdes, i vilket fall positions- och hastighetsvariabler kommer att vara noll. Även om frisläppandet Flash Player misslyckas tyst med dessa typer av fel, kan vi lika gärna ta itu med denna möjlighet graciöst här genom att inte går vidare. Omdömen
if (hastighet == null || läge == null) avkastning ,Först vill vi bundna positionen för spelaren så att den inte kommer att röra sig utanför kanten på skärmen Omdömen
if (position.x> screenWidth - sideBuffer) position.x = screenWidth - sideBuffer. else if (position.x
Sedan behöver vi uppdatera hastigheten beroende på vilken piltangent trycks eventuella Omdömen
if (InputManager.isKeyDown (InputKey.LEFT)) {velocity.x =. - hastighet;} else if (InputManager.isKeyDown (InputKey.RIGHT)) {velocity.x = hastighet;} else {velocity.x = 0;.}Vi synkroniseras sedan dessa ändringar tillbaka till moderföretaget Omdömen < pre> owner.setProperty (positionReference, position), owner.setProperty (velocityReference, hastighet);}}
References.
as Omdömen
Även om tryckknapp kommer att hantera skapandet av komponenter från klassnamnet strängar i XML fil, Actionscript-kompilatorn själv
Att göra en Space Invaders klon med tryckknapp - Bullets
- Skapa ett spel på Google Android spel med flixel - Få Started
- Windows Static Control
- Databas Events
- Perl Funktion Passing och returnera en Reference
- Grunderna i Undantag i Php
- AS3IsoLib Tutorial Series - Camera
- C ++ - Ta tjuren vid Horns
- Hur man planerar ut Rutiner för en strukturerad dator Program
- Skapa ett Flash plattformsspel med flixel och Flex - mosa den player
- Introduktion till C ++ Standard Språkstöd Library