einrichten eines timer in flash as3

Habe ich ein Projekt durch, in einer Woche, und ich habe fast abgeschlossen. Ich habe noch eine Frage ich muss arbeiten, und ich bin ratlos.

Ich füge den code habe ich so weit unten.

Wenn du könntest auch erklären, was der code tut, damit ich weiß, was es tut, wenn es nicht zu viel Mühe, der code wurde aus einem in der Klasse activity und ich habe die Identifikatoren übereinstimmen, was meine Grafiken aufgerufen werden.
Ich bin versucht zu implementieren, die ein timer in meinem drop und Fang Spiel, das alle 15 Sekunden, erhöht sich die Geschwindigkeit der fallenden Objekte. Der Zeitgeber wird gestartet, aus 60 Sekunden, und wenn es trifft, 0 Sekunden, es sollte gehen, auf einer separaten Seite.

Könnte mir bitte jemand erklären, wie ich dies tun? Ich bin nicht so gut im verstehen der code im flash, also wenn Sie könnte, halten Sie es so einfach wie möglich wäre ich sehr dankbar.

Den code den ich habe ist wie folgt. Es funktioniert perfekt, nur muss ich ändern, einen Bereich, in dem der timer :

package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.Timer;
import flash.utils.getDefinitionByName;

public class CatchingGame extends MovieClip {
    var catcher:Catcher;
    var nextObject:Timer;
    var objects:Array = new Array();
    var score:int = 0;
    const speed:Number = 7.0;

    public function CatchingGame() {
        catcher = new Catcher();
        catcher.y = 350;
        addChild(catcher);
        setNextObject();
        addEventListener(Event.ENTER_FRAME, moveObjects);
    }

    public function setNextObject() {
        nextObject = new Timer(1000+Math.random()*1000,1);
        nextObject.addEventListener(TimerEvent.TIMER_COMPLETE,newObject);
        nextObject.start();
    }

    public function newObject(e:Event) {
        var goodObjects:Array = ["Circle1","Circle2"];
        var badObjects:Array = ["Square1","Square2"];
        if (Math.random() < .5) {
            var r:int = Math.floor(Math.random()*goodObjects.length);
            var classRef:Class = getDefinitionByName(goodObjects[r]) as Class;
            var newObject:MovieClip = new classRef(); 
            newObject.typestr = "good";
        } else {
            r = Math.floor(Math.random()*badObjects.length);
            classRef = getDefinitionByName(badObjects[r]) as Class;
            newObject = new classRef(); 
            newObject.typestr = "bad";
        }
        newObject.x = Math.random()*500;
        addChild(newObject);
        objects.push(newObject);
        setNextObject();
    }

    public function moveObjects(e:Event) {
        for(var i:int=objects.length-1;i>=0;i--) {
            objects[i].y += speed;
            if (objects[i].y > 400) {
                removeChild(objects[i]);
                objects.splice(i,1);
            }
            if (objects[i].hitTestObject(catcher)) {
                if (objects[i].typestr == "good") {
                    score += 5;
                } else {
                    score -= 1;
                }
                if (score < 0) score = 0;
                scoreDisplay.text = "Score: "+score;
                removeChild(objects[i]);
                objects.splice(i,1);
            }
        }

        catcher.x = mouseX;

    }
}
}

vielen Dank für die Zeit nehmen, zu Lesen, mein Problem und jede Hilfe gegeben

Wenn du gehst, um erhöhen die speed variable, Sie ll wollen ein var kein const, für den Anfang. Hier ist eine Anleitung, die timer - Klasse in AS3: republicofcode.com/tutorials/flash/as3timer

InformationsquelleAutor | 2013-03-27

Schreibe einen Kommentar