15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Mauseingabe<br />

private function generateBoard(startX:Number, startY:Number, totalRows:Number,<br />

totalCols:Number, buttonSize:Number):void<br />

{<br />

buttons = new Array();<br />

var colCounter:uint;<br />

var rowCounter:uint;<br />

for (rowCounter = 0; rowCounter < totalRows; rowCounter++)<br />

{<br />

for (colCounter = 0; colCounter < totalCols; colCounter++)<br />

{<br />

var b:Button = new Button();<br />

b.x = startX + (colCounter*buttonSize);<br />

b.y = startY + (rowCounter*buttonSize);<br />

b.addEventListener(MouseEvent.CLICK, letterClicked);<br />

b.label = getRandomLetter().toUpperCase();<br />

b.setSize(buttonSize,buttonSize);<br />

b.name = "buttonRow"+rowCounter+"Col"+colCounter;<br />

addChild(b);<br />

}<br />

}<br />

}<br />

buttons.push(b);<br />

Obwohl nur in einer Codezeile ein Listener für MouseEvent.CLICK-Ereignisse hinzugefügt wird, erfolgt die<br />

Zuweisung für jede Button-Instanz, da dies innerhalb einer for-Schleife geschieht. Außerdem ist jeder Schaltfläche<br />

ein Name zugeordnet, der aus der Zeilen- und Spaltenposition abgeleitet ist und eine einfache Möglichkeit bietet, im<br />

Code später auf die Zeile und Spalte der jeweiligen Schaltfläche zu verweisen.<br />

Bilden von Wörtern aus Benutzereingaben<br />

Flash Player 9 und höher, Adobe AIR 1.0 und höher<br />

Wörter werden gebildet, indem im Raster horizontal oder vertikal angrenzende Buchstaben ausgewählt werden, ohne<br />

dabei einen Buchstaben doppelt zu verwenden. Mit jedem Mausklick wird ein Mausereignis erzeugt. Anschließend<br />

muss die Rechtschreibung des vom Benutzer eingegebenen Wortes geprüft werden, um sicherzustellen, dass es eine<br />

korrekte Fortsetzung der zuvor ausgewählten Buchstaben ist. Wenn dies nicht der Fall ist, wird das vorhergehende<br />

Wort gelöscht und erneut mit der Eingabe eines Wortes begonnen. Dies erfolgt mit der isLegalContinuation()-<br />

Methode.<br />

private function isLegalContinuation(prevButton:Button, currButton:Button):Boolean<br />

{<br />

var currButtonRow:Number = Number(currButton.name.charAt(currButton.name. indexOf("Row") +<br />

3));<br />

var currButtonCol:Number = Number(currButton.name.charAt(currButton.name.indexOf("Col") +<br />

3));<br />

var prevButtonRow:Number = Number(prevButton.name.charAt(prevButton.name.indexOf("Row") +<br />

3));<br />

var prevButtonCol:Number = Number(prevButton.name.charAt(prevButton.name.indexOf("Col") +<br />

3));<br />

}<br />

return ((prevButtonCol == currButtonCol && Math.abs(prevButtonRow - currButtonRow)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!