Toon posts:

[flash] objecten met je keyboard besturen

Pagina: 1
Acties:
  • 106 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
code:
1
2
3
on (release, keyPress "<Up>") {
    _y = y-10;
}

Dit stukje code gebruik ik om een blokje naar boven te bewegen als je op pijltje-omhoog drukt..
alleen nu wil ik dat je nadat je gedrukt hebt weer kunt drukken.
goto and play frame 1 helpt niet :(
iemand een idee?

  • cjs
  • Registratie: Maart 2001
  • Niet online

cjs

Macromedian

Op donderdag 06 december 2001 00:16 schreef wandklok het volgende:
code:
1
2
3
on (release, keyPress "<Up>") {
    _y = y-10;
}

Dit stukje code gebruik ik om een blokje naar boven te bewegen als je op pijltje-omhoog drukt..
alleen nu wil ik dat je nadat je gedrukt hebt weer kunt drukken.
goto and play frame 1 helpt niet :(
iemand een idee?
Vast en zeker gewoon een underscore vergeten? Probeer:
code:
1
2
3
on (release, keyPress "<Up>") {
    _y = _y-10;
}

Gemiddelde Nederlanders zijn maar halve Nederlanders.


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Op donderdag 06 december 2001 00:30 schreef cjs het volgende:

[..]

Vast en zeker gewoon een underscore vergeten? Probeer:
code:
1
2
3
on (release, keyPress "<Up>") {
    _y = _y-10;
}
kan evt ook zo:
code:
1
2
3
4
5
onClipEvent (enterFrame) {
    if (Key.isDown(40)) {
        this._y -=10
    }
}

"You're only as good, as what you did last week."


Verwijderd

Topicstarter
Tanx dudes :)

Verwijderd

Oh, When? : dat kan ja, maar da's nog niet de meest effectieve wijze :)
ik ben hier een tijdje terug mee aan het spelen geweest, dit is de minst processor intensieve en meest scalable oplossing die ik kon bedenken :

voor in je function frame in _root:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//*
B's Super Key Engine
(C) Blacktop / R.hauwert
*//

movieclip.prototype.key_enter = function(){
    action37();
    action38();
    action39();
    action40();
}

movieclip.prototype.key_keydown = function(){
    pressed = Key.getCode();
    movieclip.prototype['action' + pressed] = _root['function' + pressed];
}

movieclip.prototype.key_keyup = function(){
    pressed = Key.getCode();
    movieclip.prototype['action' + pressed] = null;
}

function function37(){
    //doe wat (links)   
}

function function38(){
    //doe wat (omhoog)
}

function function39(){
    //doe wat (rechts)
}

function function40(){
    //doe wat (omlaag)  
}

Naar hartelust kan je toetsen toevoegen door hun keyCode op te zoeken, en deze dan in key_enter toe te voegen alsvolgt:
code:
1
action<hierjekeycode>();

en dan moet je nog de uitvoerende code hebben (wat wil ik dat die toets doet?) alsvolgt:
code:
1
2
3
function function<zelfdekeycode>(){
    //doe wat   
}

om het geheel te laten werken heb je nog een uitvoerende mc nodig, een lege MC met de volgende acties is genoeg:
code:
1
2
3
onClipEvent(enterFrame){key_enter()}
onClipEvent(keyUp){key_keyUp()}
onClipEvent(keyDown){key_keyDown()}

Voordeel van deze (door B ontwikkelde (EGO!)) methode is:

Snel!Kost bijna geen processor tijd.
Staat makkelijk dingen als 'schuin' gaan toe.
geen vieze if's meer
en lekker overzichtelijk

Enjoy people...

(overigens thanx to xangadix wiens vecht spelletje mij er toe zetten dit ding eens correct te bouwen).

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Op donderdag 06 december 2001 10:46 schreef B-Top het volgende:
Oh, When? : dat kan ja, maar da's nog niet de meest effectieve wijze :)
ik ben hier een tijdje terug mee aan het spelen geweest, dit is de minst processor intensieve en meest scalable oplossing die ik kon bedenken :

Voordeel van deze (door B ontwikkelde (EGO!)) methode is:

Snel!Kost bijna geen processor tijd.
Staat makkelijk dingen als 'schuin' gaan toe.
geen vieze if's meer
en lekker overzichtelijk
Snel, qua processortijd wil ik evt nog wel aannemen. Je tweede punt ook nog wel, maar:

- lekker overzichtelijk

vind ik dus niet echt. Op jouw manier moet ik voor elke key 2 functions definen, want helemaal niet zo logisch is. Ik vind de eventhandler die ACK! toevoegt veel logischer in elkaar zitten.
code:
1
Key.AddHandler

plus meer extendable. Hoewel ik nu wel nieuwsgierig ben naar benchmarks. Een goed voorbeeld hoe je Flash kan extenden met de eventEngine die ACK! meebrengt is de volgende:

http://www.aralbalkan.com/keyboard.html

:)

"You're only as good, as what you did last week."


Verwijderd

Op donderdag 06 december 2001 11:04 schreef oh,when? het volgende:

[..]

Snel, qua processortijd wil ik evt nog wel aannemen. Je tweede punt ook nog wel, maar:

- lekker overzichtelijk

vind ik dus niet echt. Op jouw manier moet ik voor elke key 2 functions definen, want helemaal niet zo logisch is. Ik vind de eventhandler die ACK! toevoegt veel logischer in elkaar zitten.
code:
1
Key.AddHandler

plus meer extendable. Hoewel ik nu wel nieuwsgierig ben naar benchmarks. Een goed voorbeeld hoe je Flash kan extenden met de eventEngine die ACK! meebrengt is de volgende:

http://www.aralbalkan.com/keyboard.html

:)
Ik vin ACK wel kool, maar ik heb er nog nix meegedaan....maar om nou meteen ACK door iemand zijn strot te rossen, alleen voor key handling?

Maar je hebt gelijk, dit zou overzichtelijker moeten kunen.
Alleen heeft die xtra overzichtelijkheid van ACK wel weer een probleem : het zorgt voor overhead = minder proc tijd.

B.

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Op donderdag 06 december 2001 11:09 schreef B-Top het volgende:

maar om nou meteen ACK door iemand zijn strot te rossen, alleen voor key handling?...
Ach...onder het motto van "als je iets doet, moet je het wel meteen goed doen.."

;)

"You're only as good, as what you did last week."


Verwijderd

Hadden we het daar niet over gehad ?
Zo van, je begint met de beste bedoelingen, maar na 7 dagen devven......

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Op donderdag 06 december 2001 11:19 schreef B-Top het volgende:
Hadden we het daar niet over gehad ?
Zo van, je begint met de beste bedoelingen, maar na 7 dagen devven......
wat was dat ook alweer dan?

"You're only as good, as what you did last week."


Verwijderd

dat het toch altijd een zooitje word, omdat een of ander manager er dan toch nog op het laatste moment iets wat er compleet niet inpast in MOET!

maaruh....we gaan nogal ot....
Pagina: 1