Toon posts:

[Flash 5] Musquitokiller actionscript

Pagina: 1
Acties:

Verwijderd

Topicstarter
Dit is het script van de Musquito-killer dat als voorbeeld wordt gebruikt bij Flash 5. Nu komt de vraag: aan de variabele count wordt nergens een waarde toegekend. Maar dit wordt, tenminste dat denk ik, door "createMosquitos(level);" gedaan. Maar volgens welke regel (ik wil dus horen waar dat ergens in de manual staat dat dat inderdaad klopt) is het zo dat de variabele die dan in die functie staat (level) de waarde doorgeeft aan count?

Scene 1
actions for frame 1
function createMosquitos (count) {
// create mosquitos
var i;
for (i=1; i<=count; i++) {
_root.attachMovie("mosquito", "mosquito"+i, i);
}
}
function changeCursor (movieclip) {
// create custom cursor
Mouse.hide();
_root.attachMovie(movieclip, "customCursor", 9999);
_root.customCursor.startDrag(true);
}
function calculateRandom (min, max) {
// random with the math object (Flash 5)
return Math.floor(Math.random()*(max+1-min))+min;
}
function playSound (max, x, soundID) {
// play stereo sound depending on the x-position of the action
var soundobject;
soundobject = new Sound();
soundobject.attachSound(soundID);
if (x<0) {
x = 0;
} else if (x>max) {
x = max;
}
soundobject.setPan((x-(max/2))*100/(max/2));
soundobject.start();
}
actions for frame 1
// init for standalone player
fscommand ("fullscreen", true);
fscommand ("allowscale", true);
fscommand ("showmenu", false);
// init
level=0;
hit=0;
score=0;
changeCursor("swatter");
actions for frame 3
if (hit==level) {
if (level<8) {
// limit to 8 mosquitos
level++;
}
hit=0;
createMosquitos(level);
}
prevFrame ();
play ();
actions for frame 1
// (c) 2000 Sascha Wolter
// wolter@flashforum.de
actions for credits button
on (release) {
getURL ("http://www.flashforum.de/contact");
}
Symbol Definition(s)

  • Tim Schuhmacher
  • Registratie: Januari 2000
  • Laatst online: 11-09 17:29

Tim Schuhmacher

abasios

deze regel:
function createMosquitos (count)

Hier wordt aan de function 'createMosquitos' een variable meegegeven die dus binnen die functie bekent is.

Verwijderd

Topicstarter
Maar count wordt toch nergens echt aangemaakt. En er wordt ook nergens een waarde aangegeven, ook wordt count nergens opgehoogd, terwijl level wel wordt opgehoogd. Dus op de een of andere manier neemt count de waarde van level over, maar volgens welke regel(syntax) dat is weet ik niet. Jij wel?

  • tie-rep
  • Registratie: Oktober 2001
  • Laatst online: 19-02 15:56

tie-rep

nu met ir. !

frame 3/layer actions:
code:
1
2
3
4
5
6
7
8
9
10
if (hit==level) {
    if (level<8) {
      // limit to 8 mosquitos
      level++;
    }
    hit=0;
    createMosquitos(level);
}
prevFrame ();
play ();

verder begrijp ik eigenlijk niet wat het probleem is :? is dit een opdracht om met z'n allen gezellig een tutorial uit te pluizen of heb je een vraag/probleem (oh nee: uitdaging :)) waar je niet uit komt?!

  • tie-rep
  • Registratie: Oktober 2001
  • Laatst online: 19-02 15:56

tie-rep

nu met ir. !

AAaaaahhh, ik denk dat ik het iets meer door krijg!

functies zijn het probleem: de argumenten van de functie, die ben je kwijt!

even in de lit. duiken en je merkt dat in frame 3 een ander (genaamd) argument wordt meegegeven dan in frame 1. Maar het werkt wel! :)

raadsel?! of gewoon onduidelijk geschreven? sorry, maar moet nog even opwarmen vandaag

Verwijderd

Topicstarter
Ik had dus al door dat het werkte (createmusquitos(level); zoals ik al aangeaf in mijn eerste post. Ik wil weten waar uitgelegd staat in het Actionscript dictionary waarom je dat mag doen. Hoe Flash werkt, dat wil ik weten.

Verwijderd

Op vrijdag 15 maart 2002 21:28 schreef gang-ster het volgende:
Ik had dus al door dat het werkte (createmusquitos(level); zoals ik al aangeaf in mijn eerste post. Ik wil weten waar uitgelegd staat in het Actionscript dictionary waarom je dat mag doen. Hoe Flash werkt, dat wil ik weten.
Omdat aan het begin van het script die functie gedefinieerd is.

Zo werkt dat in praktisch alle programmeer en scripting talen.

Verwijderd

Topicstarter
Dus dit zou ook moeten werken?
function Test(waarde){
testwaarde=waarde*2;
return testwaarde;
}

anderewaarde=5;
Test(anderewaarde);

Dit zou dus 10 moeten teruggeven?

  • tie-rep
  • Registratie: Oktober 2001
  • Laatst online: 19-02 15:56

tie-rep

nu met ir. !

Op zaterdag 16 maart 2002 11:42 schreef gang-ster het volgende:
...
Dit zou dus 10 moeten teruggeven?
zoals je zelf waarschijnlijk al ontdekt hebt, werkt dat idd :) leuk hè?! :) kan je helemaal los gaan met AS.
volgende keer je code ajb tussen "[code]-tags" zettten

Verwijderd

Topicstarter
Op zaterdag 16 maart 2002 16:47 schreef tie-rep het volgende:

[..]

zoals je zelf waarschijnlijk al ontdekt hebt, werkt dat idd :) leuk hè?! :) kan je helemaal los gaan met AS.
volgende keer je code ajb tussen "[code]-tags" zettten
Erg :)
He, en bedankt he.
Pagina: 1