flash counter/countdown ende abfangen und z.b gotoand stop ausführen.

  • Hallo stehe Grad hier mit meinem counter und leider weiß ich nicht wie ich es schaffe das wen der counter runter auf 00000 oder ins -126345 gecountet hat, das ich diese dann abfrage und erst dann was ausführe Z.b

    PHP
    if (countdown <000000){
    gotoAndStop (ok)
    }else
    if (countdown >000001){
    gotoAndStop (nicht ok)
    }

    der counter schaut so aus, siehe Anmbesten Anhang.

    Ich dachte mir ich stelle diese anfrage hier?

    Aber jergend wie s klapt es nicht. :?
    Mfg seby

  • Ermittel einfach den momentanen Timestamp und rechne diesen gegen den Timestamp aus dem Counter, so weißt du dann ob der Countdown noch läuft oder bereits abgelaufen ist:

    PHP
    var timestampNow:Number = new Date().getTime() /  1000 // momentaner Timestamp, Timestamps durch tausend Teilen da AS im millisek. rechnet
    var timestampNewYear:Number = newYear.getTime() / 1000;   //Timestamp Counterdatum
    
    
    if( timestampNewYear - timestampNow < 0) trace('Countdown abgelaufen');
    else trace('Countdown läuft noch');

    MfG
    Flexer

    AS3-Flex | Java-Spring | PHP-Zend | ObjC-Cocoa Developer

  • Guten morgen :)
    So was ähnliches hatte ich schon versucht, aber genau wie mit deinem Beispiel, läuft der counter trace('Countdown läuft noch'); unaufhörlich weiter.

    Oder ich mache da was falsch, währe sehr nett wen du den Code so Posten würdest an der stelle wo du es meinst,
    oder selber testen würdest.

    p.s gennau so schauts aus wen ich <1 setze dan kommt immer nur noch trace('Countdown abgelaufen');

    Perfekt ich habs sowas von simples und ich sitze hier seit min .. 6 std ^^


    Nochmal edit::::
    Naja nicht so ganz sobald der über 0 springt ist nix mehr :confused:
    das klapt nur dan wen mann online ist wehrend der o zehlt...
    sobald der über kommt also z.b -1 ist dan leider nix mehr. :smilie101:
    mfg seby

    4 Mal editiert, zuletzt von seby1302 (23. Mai 2011 um 04:27)

  • Du hast AS1 eingestellt, bei AS1 muß man die Typisierung weglassen sonst geht es nicht, pack das ans ende des obersten ersten Frames:

    PHP
    var timestampNow= new Date().getTime() /  1000;
    var timestampNewYear= newYear.getTime() / 1000;  
    if( timestampNewYear - timestampNow < 0) trace('Countdown abgelaufen');
    else trace('Countdown läuft noch');

    PS: Monate fangen in AS mit 0 an, also Jan = 0, Feb =1 usw....
    new Date(2011,05,22,20,33,30); wäre dann für Juni ;)

    MfG Flexer

    AS3-Flex | Java-Spring | PHP-Zend | ObjC-Cocoa Developer

    Einmal editiert, zuletzt von Flexer (23. Mai 2011 um 13:24)

  • Ne leider immer noch nix...
    //in AS1
    Countdown läuft noch
    Countdown läuft noch
    Countdown läuft noch

    // in AS2
    Countdown abgelaufen
    Countdown abgelaufen
    Countdown abgelaufen
    Countdown abgelaufen
    Countdown abgelaufen

    -->PS: Monate fangen in AS mit 0 an...
    Jap das weiß ich schon, darum suche ich später noch nach eine möglichkeit, mit php den aktuelen (datum/zeit) für flash umzuwandeln.
    Dieser soll später über php ins flash geladen werden.

    Aber ersteinmal muss das blöde teil ja laufen :)

    Komich finde ich nur , wen ich jetzt z.b in...

    bekomme ich 6 sec lang also so ist der zähler eingestehlt laut datum/zeit...
    läuft
    läuft
    läuft
    läuft
    läuft

    und danach nur noch ....

    stop
    stop
    stop
    stop
    stop


    Hätte also eig laufen sollen, ich probiere noch einbisgen rum...
    Mfg seby

  • Da hast du recht ich hab es mir wirklich schwerer gemacht
    nun hätte ich noch einem Problem...

    Wegen den buttons Script kann ich doch nicht frame wechseln.
    Aber nun dachte ich mir..
    ich mache das so.

    PHP
    if (timestampNewYear-timestampNow<0) {
            trace("ende")
            return false;
        }else{
            trace("läuft")
            return true;
        }

    nun solte ich doch diesen trace("ende") mit this.ende definiern können oder nur wie?
    ich bekomme immer _levelo.e aus, wen ich das so mache.
    ende.text=(this.ende);
    Ich würd dann gern ne if anfrage setzen z.b if (this.ende = true).
    Aber vileicht leuft auch so schon den dieses _levelo.e ausgabe kommt erst dann wenn die zeit abgelaufen ist.
    Werd ich morgen nach der arbet direckt testen :)


    PHP
    newYear = new Date(new Date().getTime() + 5000);


    Ist schonmal super danke!!


    Nun muss ich nur noch herrausfinden wie ich, aktueler zeit - die eingetragene zeit in der datenbang.
    weil beim 3ten klick in der Datenbank eingetragen werden....
    (klick 0) (Datum Uhrzeit des letzten klick)
    das nach 24 std der counter verschwindet und wider 3 Klicks eingetragen werden.
    darum hatte ich das so gemacht mit php.

    jahr,monat,tag,std,min,sec ..

    mfg seby

    2 Mal editiert, zuletzt von seby1302 (24. Mai 2011 um 03:47)

  • Hi soweit habe ich es geschafft hab Amende dann doch paar frames mehr erstellt und per gotoAndStop weiter geleitet.
    nun habe ich aber das Problem...
    Die einträge in der Datenbank werden gemacht allerDing, muss Mann refreshen ansonsten kann Mann auch nach den 3ten klick weiter klicken.
    erst nach den Refrech wird die zeit oder klick Anzahl geladen aus der datenbank.
    obwohl ich sendAndLoad benutze?
    hättest du da eine Idee?
    genau so ist es mit dem outer auch, wen die zeit abgelaufen ist weckselt er nicht wenn du nicht refrach machst. :(

    mein internet spinnt grad darum kann ich nichts raufladen.

    der code schaut z.b so aus (counter zurück zu frame 2)

    PHP
    var timestampNow = new Date().getTime()/1000;// momentaner Timestamp, Timestamps durch tausend Teilen da AS im millisek. rechnet
    var timestampNewYear = newYear.getTime()/1000;//Timestamp Counterdatum
    if (timestampNewYear-timestampNow<0) {
                    _root.gotoAndStop('einz');
                }

    und buttons so:

    z.b Alert.show macht er...
    _root.gotoAndStop ('bereits'); macht er nicht..

    edit:
    Da mir aufgefallen ist ich habe ein sender für meine buttos anfragen aber kein retuern habe ich es so versucht...

    Hatt aber leider überhaupt nix gebracht :(

    mfg seby