onEnterframe im Container

Hallo !
Ich schon wieder ;-)
Ich hab nen Problem mit einer onEnterFrame Aktion. Ich habe eine Interaktive karte gebaut die auch super . (Nochmal großen dank dafür hier an das Forum)
Jetzt wollt Ich die komplette Karte in einen MC umwandel damit Ich die Variablen ,sozusagen einen Level höher schreiben zu kann. So kann ich den KC-Karte neustarten (gotoAndPlay(1)) ohne das die Variablen überschrieben werden. Soweit klappt es auch gut. nur war auf der Karte zwei onEnterframe Funktionen, eine im ersten Bild und eine im zweiten. Beide gehen nun nicht mehr. Ich hab nach besten Gewissen die Pfade angepasst und alle anderen Funktionen gehen ja auch. Darum denk ich das die Pfade wohl korrekt sind.
Gibt es da ein grundsätzliches Problem was ich übersehen hab?

Vielen dank,
gruß CM
 
Hi Ich versuchs mal,
Das ist die erste onEnterframe funktion, liegt imMoment noch auf dem ersten Bild auf _root.Karte
Code:
var _root.hit_anzahl = 45;
this['Karte'].onEnterFrame = function() {
    var isover = false;    
        for (var i=1; i<=_root.hit_anzahl; i++) {
			_root.MC = _root.Karte.map["hit" + i];
			_root.MC._alpha = 0;
			
	if (_xmouse > 27 && _ymouse > 32 && _xmouse < 565 && _ymouse < 479) {
         if (_root.MC.hitTest(_xmouse, _ymouse, true)) {
                _root.Karte.report.text = texte [i - 1] ;
		_root.Karte.attachMovie (["bild" + i] ,"rechteck" ,1 );
				     	_root.Karte.rechteck._x = 283 ;
    					_root.Karte.rechteck._y = -181;
					_root.Karte.rechteck._xscale=48; 
					_root.Karte.rechteck._yscale=48;			
		if(reportin){
		    _root.MC._alpha = 40;
		}
            isover = true; 
            }        			 
        if (!isover) _root.Karte.report.text = "Hospital Map";
	}
    }
}

Auf dem zweiten Bild liegt eine recht ähnliche Funtkion die andere Flächen sichtbar machen. Vorher lagen die Funktionen halt direkt in _root. Habe dann ein MC mit dem Namen Karte gemacht alles reinkopiert (die ebenen kopiert) und die Pfad angabe im AS um Karte ergänzt. Auf _root selbst werden nur ein paar Variablen gesetzt.

Ach ja hab Flash MX, nicht 2004
danke :)
 
Zuletzt bearbeitet:
AUf einen Blick, und vielleicht falsch:

mach das [] weg und schreibe nur this.onEnterFrame ...

Grüsse
B
 
äh jungs...
also irgendwie bin Ich verwirrt. Also das onterFrame funktioniert. Ich bin grad so den Film am testen und fahr über eine Stelle weit weg von den hit Felder und dann zeigt er was an. Aber warum ist das so weit auserhalb von der Flash Bühne? Die Karte ist aus mehreren Ebenen aufgebaut, die erste ist der Grundriss die zweite dann die hit felder. Liegen plan übereinander so das der hit den namen der Stelle darunter an nen textfeld übergibt. Wie kommt es den jetzt zu diesem Verschieben der ebenen?
 
Ich fass mal kurz zusammen:
Ich hab ne Karte gebaut (zoombar, mit hittest der die Position im textfeld wiedergibt), Das super. Jetzt hab Ich alles noch in nen Mc gepackt und die Pfade angepasst. Soweit kein Problem, alle AS Funktionen gehen noch. Die karte ist aus zwei Ebenen aufgebaut eine die Sichtbar ist und den Grundriss darstellt und eine wo die Mc (mc-hit) liegen die der hittest abfragt. Im Normalfall lößt der Mauszeiger den hittest aus, färbt den mc-hit auf 70% alpha grün, stellt den Namen im Textfeld da und zeigt noch nen kleines Bild davon.
So weit so gut, in Variante eins wo die Karte nicht im MC liegt klappt alles so wie es soll, in Variante zwei wo alles in ein MC gepackt wurde klappt die Funktion zwar auch aber das hitfeld liegt weit auserhalb der Flash Bühne. Lößt aber trozdem aus und färbt auch das mc-hit an der richtigen stelle 70% grün.
Also liegt das mc-hit ja an der richtigen Stelle aber lößt an der Flaschen Stelle den Maus hittest aus.

Und was allgemeines
Sollte Ich dafür besser nen neuen thread aufmachen?
danke,
gruß CM
 
HI,

ich nehme an, es liegt ein Problem mit relativen bzw. absoluten Mauszeigerkoordinaten vor (this._xmouse vs. _parent._xmouse o.ä.). Bitte poste einmal die Datei, dann lässt sich sicher schnell rausfinden, wo der Fehler liegt. Vielleicht muss es statt
Code:
_root.MC.hitTest(_xmouse, _ymouse, true)
so lauten:
Code:
_root.MC.hitTest(_root._xmouse, _root._ymouse, true)

Gruß
.
 
Hi Datic,
Also langsam schulde Ich dir ne Menge Dank. Es funktioniert wunderbar, es war genau mein Problem. Ein _root. lößte es :)
Ich wußte nicht das Flash da nen unterschied macht. Naja wieder was gelernt.
Nochmal dank, ach bin ich immer schön fröhlich wenn es klappt ,-)
gruß CM
 
... und dabei war das bloß ein Schuss ins Blaue. ^^

Jedenfalls: Die absolute Position des Mauszeigers ( _root._xmouse ) unterscheidet sich in der Regel von der relativen ( _xmouse bzw. this._xmouse ) innerhalb eines MovieClips, solange dieser MovieClip nicht auf den Koordinaten 0, 0 liegt.

Gruß
.
 
Zurück