login  Naam:   Wachtwoord: 
Registreer je!
 Forum

array probleem (traced object)

Offline vinTage - 02/08/2006 02:16
Avatar van vinTageNieuw lid Ik ben een flauw iets aan het maken.
Helaas loop ik al snel op een "iets" dat waarschijnlijk met arrays heeft te maken, arrays zijn niet mijn sterkste kant, dus roep ik julie hulp in .

Ik heb een timertje dat optelt en stopt zodra iemand 50 keer heeft geklikt, nu wil ik de snelste en langzaamste kliksnelheid ook tracen, maar mn trace geeft alleen maar [object]......

iemand ?
  1. <? kleurtjes
  2.  
  3.  
  4.  
  5. aantal = 10;
  6. //var zooi
  7. i = 0;
  8. a = 0;
  9. duration = 1;
  10. geklikt = Array();
  11. //de rest
  12. function optellen() {
  13. tijd = a;
  14. a++;
  15. seconden.text = tijd;
  16. }
  17. blaat = setInterval(this, "optellen", duration);
  18. /*
  19.  
  20. */
  21. knop.onRelease = function() {
  22. if (Key.isDown(Key.SPACE)) {
  23. i++;
  24. //geklikt[i] = tijd/(i*1000);
  25. geklikt.push({nummer:i, klikspeed:tijd/(i*1000)});
  26. //einde
  27. if (i>=aantal) {
  28. knop.enabled = false;
  29. clearInterval(blaat);
  30. snelst = geklikt.sortOn("klikspeed", Array.NUMERIC);
  31. trace("snelste tijd = "+snelst);
  32. }
  33. trace("gemiddelde tijd per klikje = "+tijd/(i*1000));
  34. //trace("snelste klik was "+geklikt.sortOn("klikspeed", Array.NUMERIC));
  35. }
  36. };

4 antwoorden

Gesponsorde links
Offline Stijn - 02/08/2006 06:05
Avatar van Stijn PHP expert
  1. snelst = geklikt.sortOn("klikspeed", Array.NUMERIC);

sortOn(); zal logisch een array returnen. wat dus snelst een array wordt. En wat gebeurt er als je dit traced:
  1. trace("snelste tijd = " + snelst[0]);


als je de array gesorteerd hebt op klikspeed zal de snelste (kleinste waarde) eerst staan anders zou je best een mail sturen naar Adobe 

mvg stijn
Offline vinTage - 02/08/2006 12:56 (laatste wijziging 03/08/2006 17:16)
Avatar van vinTage Nieuw lid
  1. trace("snelste tijd = " + snelst[0]);


returned ook [object object].

Maar ik heb het nu zo gedaan
  1. trace("snelste tijd = "+geklikt.sort(Array.NUMERIC)[0]);


Verder klopte er van mn berekening over die tijd ook nog niet echt veel, maar daar ga ik ooit nog wel eens naar kijken  

EDIT
Ik heb mn code nu zo ongeveer wel op orde, maar ik wil nog een dingetje doen, namelijk het optellen van elke waarde in een array.
Probleem is alleen dat ik de logica niet vind 
Dit is niet persee een flash vraag, dus wiskundige slimmerds mogen natuurlijk ook replyen 

Dit heb ik:
  1. array=[0,0,4,8,7,1,5, etc...]

en nu wil ik alles bij elkaar optellen...
  1. <? kleurtjes
  2.  
  3.  
  4.  
  5.  
  6. totaal = vergelijk[2];
  7. for (r=3; r<aantal; r++) {
  8. totaal=totaal+vergelijk[r];
  9. trace("totaal = "+totaal); //output is de waarde van vergelijk[r]
  10. }


weet iemand hoe je het wel doet zoals het hoort ? 

het is wel de bedoeling dat het word opgeteld via die for loop, want flash kent niet dezelfde cmd's als php etc 
Offline Simon - 03/08/2006 17:16 (laatste wijziging 03/08/2006 17:17)
Avatar van Simon PHP expert waarom is mijn reply verwijderd?

  1. totaal = vergelijk[2];
  2. for (r=3; r<aantal; r++) {
  3. totaal+=vergelijk[r];
  4. }
  5. trace("totaal = "+totaal); //output is de waarde van vergelijk[r]


vinTage edit, die had ik weggehaald omdat je antwoorde met een php antwoord (en die was ook niet juist geweest) (nu ga ik je oplossing proberen) 
Offline vinTage - 03/08/2006 17:26
Avatar van vinTage Nieuw lid Het lijkt erop dat dit wel werkt en het is inderdaad netter zoals jij het doet.

Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.225s