tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
11
ZUGRIFFE
516
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Adam Wille
    Adam Wille Adam Wille ist offline Mitglied Diamant
    Registriert seit
    Feb 2002
    Ort
    Leipzig
    Beiträge
    2.904
    Hi Leute

    Was haltet ihr von folgender Timer-Variante in OOP umgesetzt?
    PHP-Code:
    MovieClip.prototype.timer = function (timeinterval) {
        
    timercheck = function () {
            
    endTime getTimer();
            
    diff endTime startTime;
            
    trace(diff);
            if (
    diff >= time) {
                
    clearInterval(timeInterval);
                
    delete startTime;
                
    delete endTime;
                
    delete diff;
                
    delete timeInterval;
            }
        }
        
    startTime getTimer();
        
    timeInterval setInterval(timercheckinterval);
    }

    timer(501); 
    Einfacher konnte ich's mir von der Sacher her erstmal nicht vorstellen...

    Eure Ideen, Vorschläge, Meinungen, Erweiterungen etc. würden mich da mal interessieren.

    Geist,
    antworthungrig
    Geändert von Adam Wille (04.10.02 um 13:26 Uhr)
     
    Ah, these are the days
    Let them roll as they roll
    And be all you are
    Because you're beautiful
    Material

  2. #2
    Stephan Zesiger Stephan Zesiger ist offline Mitglied Rubin
    Registriert seit
    May 2002
    Ort
    _root
    Beiträge
    1.342
    Hi geist

    sieht interessant aus. könntest du nicht noch ein praktisches beispiel bringen, bei dem deine methode zur anwendung kommt ?

    gruss skyla
     

  3. #3
    Avatar von Adam Wille
    Adam Wille Adam Wille ist offline Mitglied Diamant
    Registriert seit
    Feb 2002
    Ort
    Leipzig
    Beiträge
    2.904
    Mh, es gibt ehrlich gesagt noch 2 Dinge, an denen's mir hapert.

    1)
    Beim ersten Durchlauf wird nur ein Stop-Punkt erreicht, der nach 50 ist - ist also blöd, wenn mehrere Timing-Punkte erreicht werden sollen...dann kann ich ja fast gleich onEnterFrame nutzen

    2)
    Mir ist noch keine rechte Methode eingefallen, um dem Player zu sagen, dass er zB erst diese Methode runterrasseln soll und dann dem nächsten Befehl nachgeht.
    Dann wäre's ja im Prinzip erst ein richtiger Timer, wenn ich anweisen könnte, dass per timer(500, 50) ne halbe Sekunde gewartet werden soll und erst dann das nächte geschieht...macht's aber nicht

    Aber ich bin am Grübeln, Skyla.

    Du kannst auch schon direkt was in den Code reinsetzen, bspw.
    PHP-Code:
    MovieClip.prototype.timer = function (timeinterval) {
        
    timercheck = function () {
            
    endTime getTimer();
            
    diff endTime startTime;
            
    trace(diff);
            if (
    diff >= time) {
                
    trace("2 Sekunden gewartet");
                
    clearInterval(timeInterval);
                
    delete startTime;
                
    delete endTime;
                
    delete diff;
                
    delete timeInterval;
            }
        }
        
    startTime getTimer();
        
    timeInterval setInterval(timercheckinterval);
    }

    timer(200050); 
    aber dann geht auch schon wieder der prototype-Effekt verloren, denn dann hab ich nix davon, wenn ich eh wieder den ganzen Prototypen verändern muss, um einen Effekt vonstatten gehen zu lassen...

    Theoretisch geht's aber so...mir fehlt halt irgendwie der blöde Anstoß dazu, dass erst nach komplettem Ablauf weiteragierrt wird im Script.

    Geist
     
    Ah, these are the days
    Let them roll as they roll
    And be all you are
    Because you're beautiful
    Material

  4. #4
    Stephan Zesiger Stephan Zesiger ist offline Mitglied Rubin
    Registriert seit
    May 2002
    Ort
    _root
    Beiträge
    1.342
    ok- jetzt versteh ich's. muss zugeben habe das ding ein paar minuten studiert, aber nicht wirklich gecheck, für was es gut sein soll.

    aber kannst du nicht verschiedene funktionen mit dem setInterval zeitlich steuern ?
     

  5. #5
    Avatar von Adam Wille
    Adam Wille Adam Wille ist offline Mitglied Diamant
    Registriert seit
    Feb 2002
    Ort
    Leipzig
    Beiträge
    2.904
    Wie stellst du dir das vor?

    Die Variante, an die ich noch am ärgsten geglaubt hatte, war den Timer in eine for-Schleife zu stecken, denn wenn die Schleife nicht zuende ist, dann wird folglich nix weitergemacht, aber auch da macht er das, was nach der Schleife kommt, noch eher als den Timer zuende laufen zu lassen...verzwickt...

    Geist
     
    Ah, these are the days
    Let them roll as they roll
    And be all you are
    Because you're beautiful
    Material

  6. #6
    Avatar von Adam Wille
    Adam Wille Adam Wille ist offline Mitglied Diamant
    Registriert seit
    Feb 2002
    Ort
    Leipzig
    Beiträge
    2.904
    Also zur Zeit hab' ich's mit 'ner switch-Anweisung laufen, da kann man bspw. nette Flacker-Effekte erzielen.

    Ich wollte zwar eigentlich Teile meiner HP nicht posten, aber jetzt wo der Effekt mal hier im Spiel ist - schaut's euch mal an
    PHP-Code:
    MovieClip.prototype.flicker = function (timeintervaltimertype) {
        
    timercheck = function () {
            
    endTime getTimer();
            
    diff endTime startTime;
            if (
    diff >= time) {
                
    clearInterval(timeInterval);
                
    delete startTime;
                
    delete endTime;
                
    delete diff;
                
    delete timeInterval;
                switch (
    timertype) {
                    case 
    1:
                        
    _root.i++;
                        
    themc._visible false;
                        
    init();
                        break;
                    case 
    2:
                        
    _root.1;
                        
    themc._visible true;                    
                        
    init();
                        break;
                }
            }
        }
        
    timerstart = function () {
            
    startTime getTimer();
            
    timeInterval setInterval(timercheckinterval);
        }
        
    timerstart();
    }
    i=1;
    function 
    init () {
        
    flicker(301i);
    }
    init(); 
    Frage ist jetzt sicher noch, inwiefern sich das ganze von nem enterFrame-Event unterscheidet - weil ja die Intervalle natürlich nicht alle 1 Sekunde geschehen, sondern bei meinem Rechner bspw. der Player etwas alle 6-10 Millisekunden reagiert und 'ne Aktion bringen kann.

    Aber das würde ja bspw. einer Framerate von 100 fps entsprechen - und die kann sich jemand mit grafischen Effekten wohl kaum dauerhaft erlauben...

    Noch Meinungen?

    Geist
     
    Ah, these are the days
    Let them roll as they roll
    And be all you are
    Because you're beautiful
    Material

  7. #7
    Stephan Zesiger Stephan Zesiger ist offline Mitglied Rubin
    Registriert seit
    May 2002
    Ort
    _root
    Beiträge
    1.342
    hi geist

    ist sehr schwierig, bei diesem code deine gedanken nachzuvollziehen. ich denke du solltest bei solchen code-brocken mehr mit // arbeiten

    grüsse skyla //auf eine anwendung wartend
     

  8. #8
    Avatar von Adam Wille
    Adam Wille Adam Wille ist offline Mitglied Diamant
    Registriert seit
    Feb 2002
    Ort
    Leipzig
    Beiträge
    2.904
    Er wartet auf eine Anwendung?

    Nimm einen Quadrat als MC, setz es auf die Bühne und benenn es "themc" und dann pflanzt du den Code von unten in Frame 1 und da ist dann deine Anwendung...

    Aber du bekommst auch noch die kommentierte Version plus "updateafterEvent", ja...

    Geist
     
    Ah, these are the days
    Let them roll as they roll
    And be all you are
    Because you're beautiful
    Material

  9. #9
    Stephan Zesiger Stephan Zesiger ist offline Mitglied Rubin
    Registriert seit
    May 2002
    Ort
    _root
    Beiträge
    1.342
    Hi ghost, hier noch die optimierte Version:

    PHP-Code:
    setInterval(function(){theMC._visible=random(2);updateAfterEvent()},40);} 



    ist glaub ich noch n'zacken schneller als deine. aber bei der länge von deinem script ist das auch kein wunder.

    mmmmbrummmmmm !
     

  10. #10
    Avatar von Adam Wille
    Adam Wille Adam Wille ist offline Mitglied Diamant
    Registriert seit
    Feb 2002
    Ort
    Leipzig
    Beiträge
    2.904
    Meckerfritze...

    War doch nur mal 'n Beispiel dafür, wozu der Prototyp gut sein soll...zum Warten halt.

    Jetzt überleg' halt mal mit, wie das Ding als Timer zu gebrauchen ist - auch ohne Flackerzeugs.

    Geist
     
    Ah, these are the days
    Let them roll as they roll
    And be all you are
    Because you're beautiful
    Material

  11. #11
    Stephan Zesiger Stephan Zesiger ist offline Mitglied Rubin
    Registriert seit
    May 2002
    Ort
    _root
    Beiträge
    1.342
    ...Mecker-Zicke wär mir lieber

    aber ich glaub halt immernoch, dass du "nur" setInterval () nachgebaut hast...

    bewirb dich doch mit deinem scribt mal bei Macromedia Abteilung Flash Entwicklung *lol*

    gruss skyla

    keep on rollin' ghost
     

  12. #12
    Avatar von Adam Wille
    Adam Wille Adam Wille ist offline Mitglied Diamant
    Registriert seit
    Feb 2002
    Ort
    Leipzig
    Beiträge
    2.904
    Ne, hab ich nicht.

    Wenn's halt mal ordnungsgemäß funktionieren könnte, dann wäre das nicht setTimeout() sondern halt wait() - setTimeout() für solche Zwecke zu missbrauchen ist ja frivol und nicht mit der Flasher-Ehre vereinbar...

    Hoffentlich kommt der Moment...argh.

    MM-Anwärter Geist
     
    Ah, these are the days
    Let them roll as they roll
    And be all you are
    Because you're beautiful
    Material

Ähnliche Themen

  1. Timer in C++
    Von AirsoftDivisionHRO im Forum C/C++
    Antworten: 5
    Letzter Beitrag: 20.01.08, 14:51
  2. vba timer
    Von RulerofDarkness im Forum Visual Basic 6.0
    Antworten: 3
    Letzter Beitrag: 30.11.05, 14:49
  3. Timer
    Von Dark Ranger im Forum Visual Basic 6.0
    Antworten: 7
    Letzter Beitrag: 09.10.05, 20:02
  4. Timer
    Von Jai im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 08.09.05, 11:01
  5. Timer in SWT
    Von trispo im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 1
    Letzter Beitrag: 27.12.04, 23:00