| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Apr 2004 Ort: Wien
Beiträge: 886
|
ich weiss nicht aber ich hab mit setInterval nur probleme... zb wollte ich mal einen counter machen, der zählt von 0-100 und wird immer schneller --> d.h. das interval immer kürzer , ab ~30 sollen die Zahlen dann nur mehr "hinaufrattern"... am anfang hab ich das so probiert: PHP-Code: wieso? jetzt hab ichs anders probiert, aber um einiges umständlicher, je nachdem wie hoch der counter schon ist, clear ich das interval, und setze es neu in kleineren abständen: PHP-Code: aber anscheinend hat er probleme das/die Intervalle zu clearen..., weil sich das tw. immer wieder wiederholt, er wieder von neu beginnt usw.. und ich kann nicht zur nächsten szene springen, kA wieso ich hoffe jemand kann mir helfen, mit intervallen hab ich irgendwie nur probleme
__________________ "Ein Computer ist eine Maschine, mit der man fast so schnell schreiben wie denken kann." (Umberto Eco) |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Jun 2001 Ort: Stuttgart
Beiträge: 6.415
|
der erste weg war doch schonmal nicht schlecht gedacht nur hast eins vergessen das intervall wird nur einmal gesetzt und dann in einem bestimmten intervall ausgeführt-ist ja der sinn davon, daher bringt dir dass verringern von i nichts. wenn dus aber ungefähr wie folgt machst sollte das ding schon klappen Code: var i=1000;
maxNum=100;
counter_stand=0;
count_txt.text="00"+counter_stand;
//ticker=new Sound();
//ticker.attachSound("ticker.mp3");
counter = function(p) {
if (i>25) i-=25;
if(count_txt.text==maxNum) clearInterval(inter);
if(counter_stand<maxNum) {
counter_stand+=1;
if(counter_stand<10) count_txt.text="00"+counter_stand;
else if(counter_stand<100) count_txt.text="0"+counter_stand;
else count_txt.text=counter_stand;
updateAfterEvent();
//ticker.start();
}
trace(i)
clearInterval(_root.inter)
_root.inter=setInterval(p,i,p)
}
inter=setInterval(counter,i,this.counter); deluxe |
| | |
| | #3 (permalink) |
| Flashaholic Registriert seit: Feb 2003 Ort: Berlin
Beiträge: 1.459
|
mach es doch funktionaler indem du das interval in einer eigen function erzeugst und die wert über arrays verwaltest guckst du schnelle erste idee PHP-Code:
__________________ TVNEXT Solutions |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Jun 2001 Ort: Stuttgart
Beiträge: 6.415
|
atothek nen this in ner funktion referenziert nur auf die zeitleiste wo die funktion definiert wurde-schon ausprobiert. und schon recht kompliziert, warum alles im voraus niederschreiben wenn mans auch berechnen kann? deluxe |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Apr 2004 Ort: Wien
Beiträge: 886
|
danke für die schnellen antworten! ich schau mirs mal, hoffentlich funktionierts jetzt... aber was ich trotzdem nicht verstehe... wieso er manchmal die intervalle nicht richtig cleart .... danke!
__________________ "Ein Computer ist eine Maschine, mit der man fast so schnell schreiben wie denken kann." (Umberto Eco) |
| | |
| | #6 (permalink) |
| Flashaholic Registriert seit: Feb 2003 Ort: Berlin
Beiträge: 1.459
|
@deluxe ich weiß nicht wovon du redest mit this in functionen erleuter das mal etwas genauer und was meinste mit berechnen ???
__________________ TVNEXT Solutions |
| | |
| | #7 (permalink) | |
| Neuer User Registriert seit: Apr 2004 Ort: Wien
Beiträge: 886
|
@Deluxe: ich hab das mit deinem code probiert, aber komischer weisse ändert sich gar nix, also zählt überhaupt nicht...? was ich auch nicht ganz kapier wieso du manchmal _root.inter statt nur inter verwendest/ macht das einen unterschied? Zitat:
__________________ "Ein Computer ist eine Maschine, mit der man fast so schnell schreiben wie denken kann." (Umberto Eco) | |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Jun 2001 Ort: Stuttgart
Beiträge: 6.415
|
@athotek: PHP-Code: du schreibst die intervall werte im vorraus nieder: PHP-Code: bei dir ne zahlen reihe zu finden wird wohl etwas komplizierter i-i/5 würde doch auch reichen? dann kannste dir das ganze "arrayzeugs" sparen @dimension hast du meinen code mal komplett kopiert? da ist doch ein trace(i) drinne. i wird richtig verringert und du hast auch zugriff drauf. also sollte doch der rest kein problem sein? das mit dem root: ich war nur nachlässig(faul), solltest aus der funktion immer ne absolute pfadangabe bzw. referenz benutzen! warum ein bloßes "inter" in der funktion funktioniert? ganz einfach, in der funktion wurde keine variable mit dem namen "inter" lokal (also per var) deklariert. findet flash dort(in der funktion) nicht das inter wird automatisch auf den root verwiesen. ist kein bug-läuft eben so ab-kann aber für verwirrung sorgen. deluxe |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Jun 2001 Ort: Stuttgart
Beiträge: 6.415
| PHP-Code: schau dir den kopf der counter funktion an PHP-Code: ich übergebe jedes mal die referenz(in p gespeichert) auf die funktion der funktion selbst. hätte auch einfach das this der funktion überschreiben können, nur hab ich ja vorhin davon geredet dass das nicht geht, und hätte ich auf einmal doch ein this verwendet...käme komisch ![]() ausgeschrieben sieht die sache oben also so aus: PHP-Code: |
| | |
| | #10 (permalink) |
| Flashaholic Registriert seit: Feb 2003 Ort: Berlin
Beiträge: 1.459
|
na deluxe du meinßt das bei dem setzen vom interval PHP-Code:
__________________ TVNEXT Solutions |
| | |
| | #11 (permalink) |
| Neuer User Registriert seit: Jun 2001 Ort: Stuttgart
Beiträge: 6.415
|
unterschätz mich nicht ![]() klar dass this auf alles mögliche zeigen kann. was ich die ganze zeit sagen will: eine funktion weiß von haus aus zwar wo sie liegt nicht aber ihren namen, also auch nicht die referenz auf sich. du übergibst lediglich ne referenz auf den ort der deklarierung der funktion, level0 oder wo auch immer wärs in nem objekt auf das objekt aber du übergibst NICHT die referenz auf die funktion selbst! deluxe |
| | |
| | #12 (permalink) |
| Neuer User Registriert seit: Apr 2004 Ort: Wien
Beiträge: 886
|
@deluxe ... aha jetz zeigt er mal was an, danke, kA wieso vorher nicht wegen dem _root.inter: kann ich mir die ganzen pfadangaben nicht eh einfach ersparen wenn ich außerhalb der funct. am anfang einfach var inter global definiere? danke nochmals, wegen dem bsp: dann gehört aber die zeile raus oder: if(count_txt.text==maxNum) clearInterval(inter); weil unten steht dann das clearInterval(_root.inter); und dort unten gehört halt dann noch die if-abfrage if(count_txt.text==maxNum) damits nicht mehr gesetzt wird, wenns maxNum erreicht hat...oder? nur das problem ist, er cleart das interval anscheinend noch immer nicht ordentlich, weil er gibt weiterhin i aus...??
__________________ "Ein Computer ist eine Maschine, mit der man fast so schnell schreiben wie denken kann." (Umberto Eco) |
| | |
| | #13 (permalink) |
| Flashaholic Registriert seit: Feb 2003 Ort: Berlin
Beiträge: 1.459
|
hah ok da haste natürlich recht. hab ich mich wohl etwas unpräzise ausgedrückt. was ich meine ist das man bei der schreibweiße den referenzierten Pfad übergibt und den Funktionsnamen als String gefolgt vom interval und den parameternPHP-Code: was du mit dem Berechnen meinßt hätte ich ja auch so gemacht allerdings hat er sehr eigene wert verwendet, eben diese im array deshalb hab ich das so gelöst wenn er ne einfache 5 oder 6 oder wie auch immer reihe genommen hätte ist das selbstverständlich das zu berechnen
__________________ TVNEXT Solutions |
| | |
| | #14 (permalink) |
| Neuer User Registriert seit: Jun 2001 Ort: Stuttgart
Beiträge: 6.415
|
hmm ist mir nicht aufgefallen dass du das anders formuliert hast, weil ich das noch nie so geschrieben habe- oder is das etwa neu in dem aktuellen flash? wenigstens sind wir uns einig geworden. @dimension bei dir fehlt noch die abbruchbedingung würde das ingesamt so machen PHP-Code: deluxe |
| | |
| | #15 (permalink) |
| Neuer User Registriert seit: Apr 2004 Ort: Wien
Beiträge: 886
|
wow! super! das interval hört dann wirklich auf und wird gecleart! danke vielmals!
__________________ "Ein Computer ist eine Maschine, mit der man fast so schnell schreiben wie denken kann." (Umberto Eco) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |