zuerst mc bewegen dann attachen dann Sprung zu frame 2

flashmaus

Mitglied
Hallo zusammen,
bei Buttondruck soll sich mc "tasse" auf ein "ziel" zubewegen (300)
funktioniert auch.
Erst wenn "tasse" diesen Punkt erreicht hat, soll ein mc "attached" werden
dann soll ins zweite frame gesprungen werden:
das funktioniert nicht
PHP:
stop();
movieclip.prototype.moveWohin = function(ziel) {
	this.onEnterFrame = function() {
		// trace(ziel);
		if (this._x<ziel) {
			this._x += 5;
		} else {
			delete (this.onEnterFrame);
		}
	};
};
_root.button.onPress = function() {
	_root.tasse.moveWohin(300);
	trace(_root.tasse._x);  // output: 147.45
	if (_root.tasse._x>=100) { 
		_root.tasse.attachMovie("ball", "ball1_mc", 1);
		gotoAndStop(2);
	}
};
vielen Dank
 

Anhänge

  • test.fla.zip
    4,5 KB · Aufrufe: 20
Zuletzt bearbeitet:
Hi,

damit auch kontinuierlich getestet wird, ob die Tasse den Zielpunkt erreicht hat, brauchst Du eine weitere onEnterFrame-Methode (oder einen Dispatcher-Aufruf in Deiner Prototype-Funktion). Deine if-Abfrage wird ja nur ein einziges Mal direkt nach dem Starten der Animation aufgerufen. Also:
PHP:
_root.button.onPress = function() {
    _root.tasse.moveWohin(300);
    _root.onEnterFrame = function() {
        if (_root.tasse._x>=300) {
            _root.tasse.attachMovie("ball", "ball1_mc", 1);
            gotoAndStop(2);
            delete this.onEnterFrame;
        }
    }
}
... oder so etwas:
PHP:
stop();

movieclip.prototype.moveWohin = function(ziel) {
    this.onEnterFrame = function() {
        if (this._x<ziel) {
            this._x += 5;
        } else {
            _root.dispatch(this);
            delete (this.onEnterFrame);
        }
    }
}
// -- aufruf moveWohin für button --
_root.button.onPress = function() {
    _root.tasse.moveWohin(300);
}

function dispatch(obj) {
    obj.attachMovie("ball", "ball1_mc", 1);
    gotoAndStop(2);
}
Welche Parameter die Funktion dispatch() übergeben bekommt und wann sie aufgerufen wird, hängt natürlich davon ab, in welchen Situationen Du die Funktion moveWohin() einsetzen willst. ;)

Gruß

P.S.: Mach bitte in Zukunft Gebrauch von den CODE- bzw. PHP-Tags - das erleichtert das Lesen des Codeschnipsel erheblich.
.
 
danke erstmal
"tasse" wandert zwar nach rechts und es wird
ins nächste frame gesprungen, es wird aber nichts "attached"
"tasse" soll im 2 frame auch (mit dem "attach") noch zu sehen sein
Gruss
 
Zuletzt bearbeitet:
Hi,

"Tasse" kann auch im zweiten Frame nicht zu sehen sein, da sich auf diesem Schlüsselbild lediglich eine Form befindet. Lege die Tasse auf eine neue Ebene mit nur einem Schlüsselbild, das über beide Frames gültig ist. ;)

Gruß
.
 
Zurück