login  Naam:   Wachtwoord: 
Registreer je!
 Forum

+ en afronden

Offline mindstorms - 25/03/2006 10:19
Avatar van mindstormsNieuw lid Hallo,

Hoe tel je een waarde bij een variabel op? Dit is waarschijnlijk een beetje een domme vraag, maarja... Én, hoe rond je een variabel naar beneden af?

M.v.g,
Thomas

14 antwoorden

Gesponsorde links
Offline mindstorms - 25/03/2006 10:48
Avatar van mindstorms Nieuw lid al opgelost, nu weer ff wat nieuws;
actie's in het frame:
  1. //variabel opgeven;
  2. var hitpunten:Number = 0;
  3. //hittest
  4. water.onEnterFrame = function() {
  5. if (this.hitTest(schijf)) {
  6. //het doelwit is geraakt
  7. hitpunten += 1
  8. trace(hitpunten);
  9. }
  10. }
  11. //als 10 keer is geraakt...
  12. if (hitpunten==10) {
  13. gotoAndStop(445);
  14. }


actie's in de movieclip tank:
  1. onClipEvent (enterFrame) {
  2. //rijden
  3. if (Key.isDown(Key.LEFT)) {
  4. _x -= 3;
  5. }
  6. if (Key.isDown(Key.RIGHT)) {
  7. _x += 3;
  8. }
  9. //turret draaien
  10. if (Key.isDown(Key.UP)) {
  11. turret._rotation -= 3;
  12. }
  13. if (Key.isDown(Key.DOWN)) {
  14. turret._rotation += 3;
  15. }
  16. //water met turret meedraaien
  17. if (Key.isDown(Key.UP)) {
  18. water._rotation -= 3;
  19. }
  20. if (Key.isDown(Key.DOWN)) {
  21. water._rotation += 3;
  22. }
  23. //schieten
  24. if (Key.isDown(Key.SPACE)) {
  25. water.play();
  26. }
  27. }
  28. //tank in toom houden
  29. onClipEvent (enterFrame) {
  30. if (_x<0) {
  31. _x = 0;
  32. } else if (_x>550) {
  33. _x = 550;
  34. }
  35. //wat dupliceer-werk
  36. for (i=0; i>10; i++) {
  37. water.duplicateMovieClip("water"+i, i);
  38. }
  39. //als de tank leeg is
  40. if (water<1) {
  41. gotoAndStop(445);
  42. } else if (water>0) {
  43. }
  44. }

Maar hij blijft doorgaan na tien keer raken, terwijl hij dan naar frame 445 moet...
Wat doe ik fout?? 
Offline Simon - 25/03/2006 11:20
Avatar van Simon PHP expert
  1. //variabel opgeven;
  2. var hitpunten:Number = 0;
  3. //hittest
  4. water.onEnterFrame = function() {
  5. if (this.hitTest(schijf)) {
  6. //het doelwit is geraakt
  7. hitpunten += 1
  8. trace(hitpunten);
  9. //als 10 keer is geraakt...
  10. if (hitpunten==10) {
  11. gotoAndStop(445);
  12. }
  13. }
  14. }


zo mss?
Offline mindstorms - 25/03/2006 11:29
Avatar van mindstorms Nieuw lid nee...
Offline furax - 25/03/2006 12:16
Avatar van furax HTML beginner zo?

  1. //variabel opgeven;
  2. hitpunten= 0;
  3. //hittest
  4. water.onEnterFrame = function() {
  5. if (this.hitTest(schijf)) {
  6. //het doelwit is geraakt
  7. hitpunten += 1;
  8. trace(hitpunten);
  9. }
  10. }
  11. //als 10 keer is geraakt...
  12. if (hitpunten=10) {
  13. gotoAndStop(445);
  14. }
Offline vinTage - 25/03/2006 12:19 (laatste wijziging 25/03/2006 12:55)
Avatar van vinTage Nieuw lid //als 10 keer is geraakt...
if (hitpunten>=10) {
_root.WAT?.gotoAndStop(445); //_root.gotoAndStop();
}
bovenstaande ook in die onEnterFrame zetten anders word het maar één keer gecontroleerd

en


//wat dupliceer-werk
for (i=0; i<10; i++) { //je had "is groter dan 10"
water.duplicateMovieClip("water"+i, i);
}

Denk ik, maar k ben net wakker, en ik ga daalk weg, dus ik hoop dat het goed is 



edit:
//als de tank leeg is
if (water<1) {
gotoAndStop(445);//wat ?.._root.gotoAndStop();
} else if (water>0) {ja wat dan ? 
}
}

en als je dan toch een topic opent met een vraag, dan is het wel zo handig dat je de lezers de oplossing even verteld..
zoiets dus
  1. aap = Math.round(11.2);//rond af naar beneden
  2. trace (aap);//geeft 11
  3.  
  4. noot = Math.ceil(11.2);//rond af naar boven
  5. trace (noot);//geeft 12
  6.  
  7. mies = aap + noot;
  8. trace (mies);//geeft 23
Offline mindstorms - 25/03/2006 12:27 (laatste wijziging 25/03/2006 13:16)
Avatar van mindstorms Nieuw lid @ furax; werkt niet...:(
@vinTage; nope...:(
Offline vinTage - 25/03/2006 18:09
Avatar van vinTage Nieuw lid ja en dan.....wat moet ik met zo'n antwoord...ga gewoon tracen bij elke functie en zie waar/wat er fout gaat.
Offline mindstorms - 26/03/2006 14:36
Avatar van mindstorms Nieuw lid 'k Weet niet of je er wat aan hebt, maar hier is de FLA
http://www.rynkrank.nl/pa_sound%20(flash%208).fla
Offline vinTage - 26/03/2006 16:03
Avatar van vinTage Nieuw lid er klopt nog niet echt veel van je game, maar eerst een tipje.
Als je dan je fla ter download stelt, dan kan je beter alle onnodige spul eruit halen (audio en 5 minuten intro bv) dan maakt je fla ipv >10mb ongeveer <0,5 mb..

Dat duplicate movie heeft geen zin, want het enige wat je doet is een mc laten spelen (water)

Verder staat die duplicateMovie code IN een onEnterFrame...dus hij blijft dupliceren van 0 tm 10...

okay, tot zover..

Dan om het geheel wel werkende te krijgen moet je ipv
  1. //schieten
  2. if (Key.isDown(Key.SPACE)) {
  3. water.play();
  4. }

een andere functie gebruiken, want nu blijft water playen als je de spatiebalk indrukt...en dat wil je niet, je wilt dat water maar één keer played als je op spatie hebt geklikt..

Dat word dus een
  1. on (keyPress "<Space>") {
  2. // zooi manier
  3. }


Als je daarin gelijk een tellertje en een controle maakt die controleerd op de hoogte van dat tellertje, dan ben je gelijk af van je dupliceer probleem en het aantal keer schieten probleem...dus de AS voor je tankje word zoiets :
  1. <?php //voor de kleurtjes
  2.  
  3.  
  4.  
  5. onClipEvent (load) {
  6. _root.aantalDruppels = 0;
  7. }
  8. on (keyPress "<Space>") {
  9. if (_root.aantalDruppels>=10) {
  10. trace("je hebt meer dan 10 druppels gebruikt....ga naar frame 445");
  11. } else {
  12. _root.aantalDruppels++;
  13. water.play();
  14. }
  15. }
  16. onClipEvent (enterFrame) {
  17. //rijden
  18. if (Key.isDown(Key.LEFT)) {
  19. _x -= 3;
  20. }
  21. if (Key.isDown(Key.RIGHT)) {
  22. _x += 3;
  23. }
  24. //turret draaien
  25. if (Key.isDown(Key.UP)) {
  26. turret._rotation -= 3;
  27. }
  28. if (Key.isDown(Key.DOWN)) {
  29. turret._rotation += 3;
  30. }
  31.  
  32. //water roteer zooi nutteloos dus weg..
  33.  
  34. }
  35. //tank in toom houden
  36. onClipEvent (enterFrame) {
  37. if (_x<0) {
  38. _x = 0;
  39. } else if (_x>550) {
  40. _x = 550;
  41. }
  42. }
  43. //dupliceer zooi nutteloos dus weg
  44. //lege tank nutteloos dus weg



Dan is er ook nogal wat mis met je hitTest gedoe, maar dat mag je zelf oplossen 
Offline mindstorms - 26/03/2006 17:34 (laatste wijziging 26/03/2006 17:52)
Avatar van mindstorms Nieuw lid ga mijn best doen maar heb nu 1 vraag (ga alles zo uittesten)
waarom is druppeldraaien onnodig? als je je turret draait is het de bedoeling dat het water dezelfde kant op schiet als de turret gericht is. en tank leeg is ook niet nutteloos, je rijd op "waterstof" en daar schiet je ook mee, het moet zoiets worden van: (geteld in seconden)
altijd -1 (je hebt je motor aan)
bewegen -2
schieten -10
je hebt 2500 te gebruiken.
ik zou dit zo doen:
  1. //weet de goeie AS niet maar;
  2. tankinhoud 1X per seconde -1
  3. onClipEvent (load) {
  4. _root.aantalDruppels = 0;
  5. }
  6. on (keyPress "<Space>") {
  7. if (_root.aantalDruppels>=250) { //weet je zeker dat je daar niet overheen komt ;)
  8. tankinhoud-10 //weet niet wat de goeie AS is zo...
  9. } else {
  10. _root.aantalDruppels++;
  11. water.play();
  12. }
  13. }
  14. onClipEvent (enterFrame) {
  15. //rijden
  16. if (Key.isDown(Key.LEFT)) {
  17. _x -= 3;
  18. tankinhoud-2
  19. }
  20. if (Key.isDown(Key.RIGHT)) {
  21. _x += 3;
  22. }
  23. tankinhoud-2
  24. //turret draaien
  25. if (Key.isDown(Key.UP)) {
  26. turret._rotation -= 3;
  27. }
  28. tankinhoud-2
  29. if (Key.isDown(Key.DOWN)) {
  30. turret._rotation += 3;
  31. }
  32. tankinhoud-2
  33.  
  34. //water roteer zooi nutteloos dus weg..
  35.  
  36. }
  37. //tank in toom houden
  38. onClipEvent (enterFrame) {
  39. if (_x<0) {
  40. _x = 0;
  41. } else if (_x>550) {
  42. _x = 550;
  43. }
  44. }
Offline vinTage - 26/03/2006 18:16
Avatar van vinTage Nieuw lid ah op die manier (met dat waterzooi punten gedoe) dat had je nergens geschreven, dus ik ging ervanuit dat je dat water alleen voor te schieten gebruikte.

Dat water rotate ding, mjah okay, als je het op jouw manier doet, moet het wel zo.....MAAR ik vind het wel een gekke manier, want als je schiet en je beweegt dan met je turret, dan beweegt het water wat al vliegt mee in dezelfde richting als je draait....dat is in het echt onmogelijk
(in flash niet.. water met effect )
Offline mindstorms - 26/03/2006 19:52 (laatste wijziging 26/03/2006 19:58)
Avatar van mindstorms Nieuw lid ja, weet ik maar ja, bugje moet kunnen ;-)
nog niet de code getest, doe het liever in 1 keer goed.

PS weet jij hoe ik die "tankinhoud-2" in "echte" AS kan "omtoveren?"
Offline vinTage - 26/03/2006 20:16 (laatste wijziging 26/03/2006 20:18)
Avatar van vinTage Nieuw lid
  1. if (Key.isDown(Key.DOWN)) {
  2. turret._rotation += 3;
  3. tankinhoud -=2;
  4. }


wel in de load aangeven hoeveel de tankinhoud is, anders valt er niks af te trekken.

en over je bugje...dat is een veel groter probleem dan je denkt..je zal daarmee in de problemen komen bij je hitTest.
Je zal via AS die druppel moeten laten vliegen..dat op zich is niet zo heel moeilijk, maar de juiste "angle" verkrijgen is al moeilijker....Math.zooi....ben ik ook nogal slecht in 
Offline mindstorms - 27/03/2006 14:31 (laatste wijziging 27/03/2006 17:31)
Avatar van mindstorms Nieuw lid dacht al dat het -= was, maar ff zeker weten.
enne wat bedoel je met de "load"?

PS met de hittest ben ik bezig... (ongeveer...):(
goeie tut, die van jou over hittests, jammer dat dat niet opgaat voor mijn game, hij doet het niet...:'(

en hij moet ZATERDAG af zijn!, betwijfel of ik hem afkrijg:|
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.289s