Archief - AS3 Keyboard Events

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

VinceMañana

Legacy Member
Ik ben bezig met een top down race game te programmeren in ActionScript 3, maar ik heb een probleem met Keyboard input.

Ik kan blijkbaar enkel een keyboardevent toevoegen aan de stage en niet aan een object? Mijn bedoeling zou eigenlijk zijn om een aparte klasse te maken voor de controls met een custom event. Maar als ik dit doe dan krijg ik geen reactie op toetsenbord invoer.

Weet iemand hier iets meer over? De tutorials op internet zijn eigenlijk echt nie duidelijk over KeyboardEvents...

Misschien wat meer uitleg.

Ik maak dus een Object aan op de stage (een racewagen bijvoorbeeld) en aan dat object voeg ik dan een EventListener toe, die luistert naar KeyboardEvents. Probleem is dat naar eender welke knop ik luister, het event wordt nooit afgevuurd...

Het is enkel als ik in mijn main aan de stage een EventListener toevoeg, dan vuurt het KeyboardEvent wel af.

Cycloon

Legacy Member
Je object zal de focus niet hebben en dan worden keyboard events ook niet geraised.

VinceMañana

Legacy Member
Hoe kan ik dan de focus aan een object geven? Erop klikken ofzo werkt niet :p

GenesisX

Legacy Member
Not the way to go met die focus (omdat ge meestal wilt dat uw keyboardevents altijd getriggered worden in een game)…

MVC principe (puur voor uw auto):

In uw main class (uw startup class, na loaders, …): new TopDownCar();
TopDownCar (constructor): addEventListener(added_to_stage…)
TopDownCar (added to stage handler): _moveController = new TopDownCarController(this, stage) + rest van uw klasse initialiseren
TopDownCarController (constructor):
- klasse variabele myStage (ik verkies _stage); myStage = stage
- _view = view (TopDownCar da ge meegegeven hebt)
- myStage.addEventListener(keyboardevent.key_down…)
- keyboardEventHandler: _view.moveUp, driveLeft, … (switch case)
TopDownCar moveUp: beweging van uw object (wat ge ziet)

Ietwat duidelijk? :)

VinceMañana

Legacy Member
Khad er nog nie aan gedacht om een Model View Controller te gebruiken. Dat is inderdaad een mooie oplossing :)

Ik ga het proberen implementeren!

VinceMañana

Legacy Member
Hoe kan ik in de event handler van uw TopDownCar de stage variabele meegeven?

EDIT: Nevermind, gevonden :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan