[MX] Scriptumwandlung F5 -> MX

Fey

Erfahrenes Mitglied
Problem mit Script [MX]

Hallo!

Sorry für die nicht viel aussagende Überschrift, aber mir ist nix besseres eingefallen. "Früher", also in Flash5 hat man ja Scripte auf einen MC legen können. Das sah dann folgendermaßen aus:

PHP:
onClipEvent (enterFrame) {
	faktor = _width/_root.breite;
	_width = _width/faktor;
	_height = _height/faktor;
	_y=_root.hoehe-_height;
}

Jetzt in FlashMX kann man das ja direkt in die Hauptzeitleiste packen mit folgendem Script:

PHP:
meinMC.onEnterFrame = function() {
	faktor = _width/_root.breite;
	_width = _width/faktor;
	_height = _height/faktor;
	_y=_root.hoehe-_height;
}

Ich habe in meinem Fall beide Schreibweisen ausprobiert. Mit this und _parent und allem rumprobiert, ob es vielleicht nur an den Pfadangaben liegt. Komischerweise funktioniert das Letztere, sprich die neuere Version nicht. Wo liegt mein Fehler. Findet den jemand von Euch vielleicht? Ich hab mich schon dumm und dämlich gesucht.

Liebe Grüße und ein dickes Danke,
Feyiama
 
Zuletzt bearbeitet:
Versuchs mal so :
PHP:
var breite  =30;
var hoehe = 10;
this.test.onEnterFrame = function() {
   faktor = _width/_root.breite;
   this. _width = _width/faktor;
   this._height = _height/faktor;
   this._y=_root.hoehe-_height;
};

Ich weiß nich ob das jetzt ein Übtertragungefehler war, aber du mußt bei on... = function()
{
}; dieses Simikolon setzen

man sollte sich auch angewöhnen this vor die eigenschaften zu setzten ;)
also, bei mit klappts
 
Hi philyphil,

ich habs mit this probiert, mit _parent...ging nicht. Die Höhe und die Breite sind bereits im _root definiert.

Das Semikolon war ein Übertragungsfehler. :)

Grüße,
Feyiama
 
Hi fey

PHP:
clip.onPress=function(){
   x=10;
}

ergibt _root.x=10

und ist folglich nich das gleiche wie

PHP:
clip.onPress=function(){
   this.x=10;
}

weil dies führt zu: _root.clip.x=10;



g skyla
 
Genau, eine auf dem Wege implementierte Handlerfunktion zielt über this auf das Objekt, für welches sie als Methode den Kopf hergibt. :)

Und falls du mal eine _parent-Instanz aus einem Objekt heraus mit MX-EventHandlern ansprechen willst, dann solltest du dir _parent nicht so alleine merken, sondern fast stets über this._parent gehen.

Gruß,
Geist
 
Hi Skyla,

das Dumme aber ist ja, dass beides nicht funktioniert hat. Habs ja auch mit this probiert, um genau den MC anzusprechen...

Ich persönlich finde es irgendwie seltsam. Aber ich werd noch dran rumtüfteln. Das muss doch zum laufen zu bringen sein...

Grüße,
Feyiama
 
PHP:
meinMC.onEnterFrame = function() {
    var faktor = this._width/_root.breite;
    this._width = this._width/faktor;
    this._height = this._height/faktor;
    this._y = _root.hoehe - this._height;
}
geht ganz sicher nicht?

Geist
 
Hi Geist,

ja wirklich...

also...hier mit Script auf dem MC:
auf_mc.gif


Hier nochmal das Script auf dem MC:
PHP:
onClipEvent (enterFrame) {
	faktor = _width/_root.breite;
	_width = _width/faktor;
	_height = _height/faktor;
	_y=_root.hoehe-_height;
}

Und hier mit dem Script auf _root:
auf_root.gif


Hier nochmal das Script auf _root:
PHP:
container.onEnterFrame = function() {
	faktor = this._width/_root.breite;
	this._width = this._width/faktor;
	this._height = this._height/faktor;
	this._y=_root.hoehe-this._height;
};

Ich finde den Fehler einfach nicht. :( Ich meine, da gibt es doch eigentlich keinen Unterschied, oder?

Grüße,
Feyiama
 
Hm sorry, bei mir bewirken beide Scripte das gleiche:

In deinem Fall erstmal nix, weil nach dem ersten Durchlauf der Funktion im ersten Frame die Variable faktor sich eh auf 1 eingepegelt hat und ab dann keine sichtbare Änderung mehr verursacht - wenn ich das Script aber so verändere, dass mal doch mit Durchlauf von ein paar Frames etwas mit einem beliebigen MC geschieht, so erscheint es mir eben, als ob dein EventHandler und meine implementierte Funktion das gleiche bewirken. :)

Vielleicht hilft die *.fla ein wenig weiter?

Gruß,
Geist
 
jup da kann ich mich Geist nur anschließen... ich hatte das auch noch mal getestet, da ich mir nich vorstellen kann, dass sowas nich geht :)

komme auf das geliche Ergebnis
 

Neue Beiträge

Zurück