nur rückwärts wenn die maus einen gewissen bereich verlässt

domione

Mitglied
[mx]nur rückwärts wenn die maus einen gewissen bereich verlässt

müsste möglich sein oder?
ich weiß wie ich einen ganzen film usw. rückwärts abspielen kann bei klick, aber wie muss dann der code sein, wenn ich der maus einen gewissen bereich zuordne?!
wird das dann mit or bedingungen gemacht oder?

es geht darum: wenn man auf "contact" geht kommt eine blase heraus (etwas oberhalb und links versetzt) verlässt man nun diese bereich der blase und des "contact" buttons wird der film rückwärts abgespielt bis er bei eins ist, da ist ja ein stop drinnen damit er nicht gleich von anfang an geladen wird.

wenn ich ihm nun für den ganzen film sage, dass wenn die maus außerhalb von xy ist spielst ihn zurück. irgendwie hab ich da nen denkfehler drinnen. einfacher wärs wenn ich ein unsichtbares bild drüber leg und dann ihm sage, wenn die maus auserhalb von pic1 ist, dann spielst ihn zurück oder?! kann mir da bitte jemand helfen?!

pah des macht mich fertig...

thanks schon mal

mfg dom
 
Zuletzt bearbeitet:
Klaro, nimm einen rollOut-EventHandler zu Hilfe, bei dessen Eintreten du den entsprechenden MC zurückspulen lässt:
PHP:
mc.onRollOut = function() {
    this.onEnterFrame = function() {
        this.prevFrame();
		if (this._currentframe == 1) {
			delete this.onEnterFrame;
		}
	}
}
hth,
Geist
 
Wenn du es bei diesem Script belassen willst, musst du es auf die Zeitleiste setzen, in der dein MovieClip "contact" liegt - oder ist es ein Button?

Wie realisierst du denn, dass die Blase erscheint, wenn der User mit der Maus darübergeht?

Geist
 
also es ist so ich habe einen mc mit in der in dem im ersten bild nur "contact" steht und eine ebene wo nur aktionen drinnen sind. in dieser ist die aktion stop() drinnen damit der mc nicht gleich gestartet wird. in dem ist dann ab dem 2en bild die blase drinnen und hört bei bild 14 wieder auf (auch ein stop() drinnen). in der szene eins wo nun der mc "contact" steht liegt eine schaltfläche darüber (auch mit der schrift contact"), die aber nur "aktiv" festgelegt wurde. dieser schaltfläche habe ich eine aktion "zugefügt" (wenn die maus nun auf der schaltfläche ist, startet der mc namens contact bei bild 2).
somit startet der mc und die blase wird geöffnet, bei 14 wird er gestoppt und nun steht die blase da. (oberhalb von contact ist ein bild daneben die blase)
wird nun das mit der maus verlassen, soll sich der mc rückwärts abspielen, die blase schließt sich und bei bild1 bleibt er wieder stehen.

so ich hoffe ich habe nix vergessen, bissl kompliziert das für mich, da ich nur weiß wie ich den film rückwärts laufen lasse, wenn man auf einen button klickt.

wenn ich nun im mc ein rechteck drüber lege, das unsichtbar mache, kann man festlegen, das wenn die maus auserhalb dieses rechtecks ist, der ganze mc rückwärts gespielt wird. kannst du mir da helfen???

mfg dom

ps: flash mx
 
Zuletzt bearbeitet:
kann mir bei der lösung meines problemes jemand helfen?!
des wäre voll super wenn mir da jemand helfen könnte.
thanks schon mal

mfg dom
 
Kümmere mich drum, versprochen.

Bin nur eben erst zurückgekommen und muss mich kurz in alles neue online reinfitzen. :)

Geist

P.S.:
Statt umständlicheren Beschreibungen (hab mir deine auf die Schnelle noch nicht durchgelesen, aber vom Wortgewicht her fällt ja einiges an ;)) kannst du gerne auch Dateien hier hochladen...
 
Hy,

also genauso wie du dem Button, der über dem MC liegt, sagen kannst, dass er bei Überfahren den MC losspielen soll, kannst du dem Button auch einen EventHandler implementieren, der beim Herausfahren der Maus aus dem Button feuert und damit den MC mit obigem Script zum "Rewinden" treibt.
Angenommen deine Szene 1 beinhaltet z.Z. folgendes ActionScript:
PHP:
buttonname.onRollOver = function() {
    _parent.mcname.play();
}
Ich hoffe zumindest, dass dein Script bisher so ähnlich aussieht, zumindest sollte das Script nicht als Objektaktion direkt auf der Schaltflächeninstanz der Bühne liegen!
Du brauchst dann in diesem Fall also eigentlich nur noch obiges Script zu erweitern:
PHP:
buttonname.onRollOver = _parent.mcname.play;

buttonname.onRollOut = function() {
    _parent.mcname.onEnterFrame = function() {
        this.prevFrame();
        if (this._currentframe == 1) {
            delete this.onEnterFrame;
        }
    }
}
Um der Sache auf den Grund zu gehen, gilt folgendes:

Dein Script liegt komplett auf der Zeitleiste von _level0,
wenn ich dich richtig verstanden habe.
Hier liegt auch der Sichtpunkt der ActionScript-Engine noch auf _level0.

Sobald du aber den EventHandler als Eigenschaft für den Button deklarierst, liegt der Sichtpunkt nichtmehr auf _level0, sondern hat sich nach _level0.buttonname hin verschoben.
Heißt alle Referenzierungen, die ab sofort innerhalb der Handler-Funktion auftauchen, müssen vom Standpunkt "_level0.buttonname" aus gesehen werden:
Ein this zeigt eben auf den Button, nicht auf die Hauptzeitleiste - und ein _parent zeigt in beiden Fällen auf _level0, da sowohl die Elterninstanz des Buttons _level0 ist, als auch die Elterninstanz von _level0 selbst _level0 ist. (es geht ja in der Film-Hierarchie auch nicht weiter nach oben :))

Da der MC auf der gleichen Zeitleiste liegt wie der Button brauchst du ja nur aus Sicht des Buttons heraus die Elterninstanz anzusteuern, nämlich _level0 - das läuft über die Referenz _parent ab.
Und dann musst du vom Standpunkt von _level0, wo du ja nun wieder angelangt bist, den MC referenzieren, der aber als einfacher Kind-MC von _level0 einfach über dessen Instanznamen (hier logischerweise "mcname") angesprochen werden kann. :)

Es gibt auch noch eine weitere Lösung, um das Script mit dem Rückwärtsspielen für den MC zu starten, das würde aber eine etwas andere (aber dennoch fortschrittlichere!) Denkweise beanspruchen und würde auch noch etwas tiefer in ActionScript eintauchen.
Wenn dich die Neugier da packen sollte, meld' dich einfach nochmal und ich werde mal schauen, dass ich die Sache mit der Methode hitTest mal etwas ausführlicher näherbringen kann...oder vielleicht auch jemand anderes von den Usern hier. :)

hth,
Geist
 
ah super des is toll.

naja wollte es halt gleich ausführlich beschreiben. du findest das flash file unter:

http://members.aon.at/d-k/index.fla (ca.270kb)

bitte net lachen wies gemacht wurde, bin noch blutiger anfänger.
dann kannst du dirs mal ansehen.

würde dir sehr danken für deine hilfe.ich weiß nicht wie du das machst, wenn du bei der datei ansich was veränderst, könntest mir die an domione@fastrun.at schicken (bis 100mb ;) )

wenn du vielleicht werbung bei 12promote haben möchtest, schicke mir einfach einen banner von dir (auch an die obige adresse+link)

danke dir schon mal.

mfg dom
 
Zuletzt bearbeitet:
ok, da waren wir gleich schnell.

ich sehs mir nun mal an, wenn ich noch fragen habe schreibe ich halt noch mal.

das angebot mit der werbung steht jedoch noch.

vielen danke!!!

mfg dom
 

Neue Beiträge

Zurück