Beste tweakers!
Ik ben bezig met een flash game en zit op moment eigenlijk een beetje vast. Ik ben niet zo gevorderd in AS3 en zie door de bomen het bos niet meer... Hopelijk kunnen jullie mij iets verder op weg helpen. Hieronder zal ik even kort uitleggen wat ik aan het maken ben en wat mijn vraag is. Natuurlijk is algemene feedback van harte welkom!
Korte omschrijving van het werkende spel:
Je bent een stukje groente en ligt op de snijplank van de chefkok. Hij heeft een bijl in zijn handen en gaat je doormidden hakken! Maar als je snel genoeg bent druk je op de spatiebalk en kun je wegspringen.
Zodra je op start klikt begint het spel af te tellen van 3, 2, 1 --> het spel start nu. Na het aftellen gebruik ik een math random om telkens een willekeurig aantal seconden te krijgen wanneer de bijl gaat hakken. Maar op het moment dat hij gaat hakken zit er nog een kleine timer in van 1,5 sec zodat je in die 1.5 seconde het moment hebt om op de spatiebalk te drukken. Druk je niet binnen die 1.5 seconde dan ben je te laat.
Mijn vraag:
Ik heb hier volgens mij het grootste deel staan van de actionscript. Ik ben niet zo heel goed met flash/AS3 en zie door de bomen het bos even niet meer. Daarom leek mij een extra paar ogen wel even handig.
ACTIONSCRIPT 3.0:
De Output:
1
2
3
De bijl gaat nu vallen!
ReactieTijd gaat in...
ReactieTijd Stopt!
en de output als je op tijd spatie drukt:
1
2
3
De bijl gaat nu vallen!
ReactieTijd gaat in...
Spatiebalk is ingedrukt! Je bent safe!
ReactieTijd Stopt!
Maar hij zegt nu niet mijn "else". Als je de spatie niet heb ingedrukt. Wat heb ik hier fout gedaan, en waarom zegt hij niet dat ik de spatiebalk niet heb ingedrukt?
Ik ben bezig met een flash game en zit op moment eigenlijk een beetje vast. Ik ben niet zo gevorderd in AS3 en zie door de bomen het bos niet meer... Hopelijk kunnen jullie mij iets verder op weg helpen. Hieronder zal ik even kort uitleggen wat ik aan het maken ben en wat mijn vraag is. Natuurlijk is algemene feedback van harte welkom!
Korte omschrijving van het werkende spel:
Je bent een stukje groente en ligt op de snijplank van de chefkok. Hij heeft een bijl in zijn handen en gaat je doormidden hakken! Maar als je snel genoeg bent druk je op de spatiebalk en kun je wegspringen.
Zodra je op start klikt begint het spel af te tellen van 3, 2, 1 --> het spel start nu. Na het aftellen gebruik ik een math random om telkens een willekeurig aantal seconden te krijgen wanneer de bijl gaat hakken. Maar op het moment dat hij gaat hakken zit er nog een kleine timer in van 1,5 sec zodat je in die 1.5 seconde het moment hebt om op de spatiebalk te drukken. Druk je niet binnen die 1.5 seconde dan ben je te laat.
Mijn vraag:
Ik heb hier volgens mij het grootste deel staan van de actionscript. Ik ben niet zo heel goed met flash/AS3 en zie door de bomen het bos even niet meer. Daarom leek mij een extra paar ogen wel even handig.
ACTIONSCRIPT 3.0:
Flash ActionScript:
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
| import flash.utils.Timer; import flash.events.*; import flash.display.MovieClip; //Declaring variables var bijl:MovieClip = bijlMc; var reactionTimeStop:Timer = new Timer(1000,0); var countDown:Timer = new Timer(1000,0); var timerBijl:Timer = new Timer(0); var starttxt:MovieClip = startMc; var randomTime:Number; var secCntr:int = 0; var reactionTimeStart:Timer = new Timer(1000,0); var spatieGedrukt:Boolean; var keyPressed:int; //Init starttxt.stop(); bijl.stop(); timerBijl.stop(); countDown.stop(); reactionTimeStart.stop(); reactionTimeStop.stop(); //Events starttxt.addEventListener(MouseEvent.MOUSE_OVER, startGameOver); starttxt.addEventListener(MouseEvent.MOUSE_OUT, startGameOut); starttxt.addEventListener(MouseEvent.MOUSE_DOWN, startGameDown); countDown.addEventListener(TimerEvent.TIMER, countDownPassed); timerBijl.addEventListener(TimerEvent.TIMER, timeBijlPassed); reactionTimeStart.addEventListener(TimerEvent.TIMER, startReactionTimer); reactionTimeStop.addEventListener(TimerEvent.TIMER, stopReactionTimer); bijl.addEventListener(Event.ENTER_FRAME, bijlHakt); //Functions //Hier klik je op het stukje txt "Start" function startGameDown(e:MouseEvent){ countDown.start(); } function startGameOver(e:MouseEvent){ starttxt.gotoAndStop(2); } function startGameOut(e:MouseEvent){ starttxt.gotoAndStop(1); } //Timer die random tijd berekent wanneer de bijl gaat vallen. function countDownPassed(e:TimerEvent){ secCntr++; trace(secCntr); if(secCntr == 3){ secCntr = 0; countDown.stop(); timerBijl.delay = 2300 + Math.random() * 10700; timerBijl.start(); } } //De random tijd is hier voorbij en start de reactie tijd om 'weg te springen'. function timeBijlPassed(e:TimerEvent){ timerBijl.stop(); trace("De bijl gaat nu vallen!"); reactionTimeStart.start(); } //De reactie tijd gaat lopen en hier komt de mogelijkheid om de spatiebalk in te drukken. function startReactionTimer(e:TimerEvent){ stage.addEventListener(KeyboardEvent.KEY_DOWN, checkKeyDown); trace("ReactieTijd gaat in..."); stage.addEventListener(KeyboardEvent.KEY_DOWN, checkKeyDown); reactionTimeStart.delay = 1500; reactionTimeStop.start(); } function stopReactionTimer(e:TimerEvent){ stage.addEventListener(KeyboardEvent.KEY_DOWN, checkKeyDown); reactionTimeStart.stop(); reactionTimeStop.stop(); trace("ReactieTijd Stopt!"); bijl.play(); } //Hier is de 1,5 (1500) sec voorbij. function bijlHakt(e:Event){ stage.removeEventListener(KeyboardEvent.KEY_DOWN, checkKeyDown); bijl.stop(); function checkKeyDown(e:KeyboardEvent){ if (e.keyCode == Keyboard.SPACE){ keyPressed = 1; trace("Spatiebalk is ingedrukt! Je bent safe!"); } else { keyPressed = 0; trace("Epic Fail..."); } } } function checkKeyDown(e:KeyboardEvent){ if (e.keyCode == Keyboard.SPACE){ keyPressed = 1; trace("Spatiebalk is ingedrukt! Je bent safe!"); } else { keyPressed = 0; trace("Epic Fail..."); } } |
De Output:
1
2
3
De bijl gaat nu vallen!
ReactieTijd gaat in...
ReactieTijd Stopt!
en de output als je op tijd spatie drukt:
1
2
3
De bijl gaat nu vallen!
ReactieTijd gaat in...
Spatiebalk is ingedrukt! Je bent safe!
ReactieTijd Stopt!
Maar hij zegt nu niet mijn "else". Als je de spatie niet heb ingedrukt. Wat heb ik hier fout gedaan, en waarom zegt hij niet dat ik de spatiebalk niet heb ingedrukt?
Iedereen wist dat het niet kon, tot er iemand kwam die dat niet wist.