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:
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).