| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Flashnoob Registriert seit: Jan 2005
Beiträge: 16
| This-referenzierung
Hallo erstmal und sorry falls ich lästig bin, aber folgende Frage: Ich habe ein kleines Spielchen konzipiert (Bilder per Drag&Drop in die richtige Reihenfolge bringen)... funktioniert tadellos, doch wenn ich die Datei auslagere, sprich außerhalb verwenden möchte (also in einer anderen datei eingebaut) funktioniert es nicht mehr. Ich kann mir natürlich schon denken woran es liegt - daran das das flash die zuweisung von der ausgelagerten datei nicht mehr erkennt...nur weiß ich nicht wie ich das hinbekommen soll. So siehts zur zeit aus... Frame1: (zuweisung der objekte auf die targets (help1-14)) Code: help1 = object7; help2 = object12; help3 = object5; help4 = object2; help5 = object10; help6 = object3; help7 = object9; help8 = object14; help9 = object1; help10 = object4; help11 = object6; help12 = object11; help13 = object8; help14 = object13; _global.dummy = false; object sind die beweglichen Teile targets die auf die sie gezogen werden... Frame2 (hier liegt der Hund begraben) : Code: i=1;
for(i;i<15;i++)
{
j=1;
for(j;j<15;j++)
{
if(this["object"+i].hitTest(this["target"+j]))
{
if (_global.dummy == true) return;
this["help"+j]._x = this["target"+j]._x;
this["help"+j]._y = this["target"+j]._y;
if (this["object"+i] <> this["help"+j]) {
k=1;
for(k;k<15;k++) {
if (this["help"+k] == this["object"+i]) {
this["help"+j]._x = this["target"+k]._x;
this["help"+j]._y = this["target"+k]._y;
this["help"+k] = this["help"+j];
}
}
}
this["object"+i]._x = this["target"+j]._x;
this["object"+i]._y = this["target"+j]._y;
this["help"+j] = this["object"+i];
}
}
} Das Problem (meiner Meinung nach) ist das er das this[....] nach der auslagerung nicht mehr zuweisen kann.....wäre für hilfe sehr sehr dankbar^^
__________________ So long... |
| | |
| | #2 (permalink) |
| lernwillig Registriert seit: Jan 2002 Ort: auf dem Land
Beiträge: 1.327
|
Hallo, das "this" musst Du ersetzen durch den richtigen Pfad zu Deinem Film, z.B. für einen Film auf der Hauptzeitleiste _level0.deinmovieclip._x Da gibts ein sehr gutes Tutorial von Rena. Gruss 23012 |
| | |
| | #3 (permalink) |
| Flashnoob Registriert seit: Jan 2005
Beiträge: 16
|
Sorry, ich denke ich habe mich vorhin falsch ausgedrückt. Nach Rücksprache mit einem Kollegen formuliere ich meine Frage nun neu: Wie ist es mir möglich Objekte so zu referenzieren, das diese auch bei Einbau in einer anderen .swf-Datei funktionieren. Zum Beispiel: Movie1.swf lädt im 2.Frame in das Objekt _root.InhaltExtern über die Methode loadMovie("Movie2.swf",_root.InhaltExtern) einen 2.externen Film (eben diesen Movie2.swf). In diesem 2.Film gibt es ein Objekt Object#1 etc... und diese haben eigene Methoden. Diese Methoden funktionieren über Referenzierung mit this natürlich nicht mehr. Wie ist es mir also möglich externe SWF-Files bzw. deren Objekte so zu referenzieren dass sie in anderen .swf-Files trotzdem noch einwandfrei funktionieren und die Methoden korrekt ausgeführt werden. Danke im voraus
__________________ So long... |
| | |
| | #9 (permalink) |
| querdenker Registriert seit: Jun 2001 Ort: formel1-stadt hockenheim
Beiträge: 4.731
|
außerdem ist 'this' ja gerade dafür gut auch über hirachien hinweg immer korrekt zu referenzieren... die einzige frage, die ich immo habe ist, wo und was ist 'target'+i ? und wo liegen diese tragets? greetz kelor |
| | |
| | #10 (permalink) |
| helpQLODhelp Registriert seit: Feb 2002 Ort: Köln
Beiträge: 8.505
|
Das Script kommt mir sehr komisch vor, ich verstehe gar nicht, was da passiert? Bist du sicher, dass es mal funktioniert hat? Wenn es darum geht, die Objects den richtigen Targets zuzuordnen, muesste es im Prinzip doch so funktionieren: Am Anfang liegen die Objects und die Targets verstreut auf dem Bildschirm herum. Dann draggt der User ein Object. Beim Drop auf einem Target snappt das Object auf die Position des Targets ein. Ansonsten bleibt das Object einfach liegen. Anschliessend überprüft man, ob alle Objects auf den richtigen Targets liegen. Wenn alle Objects richtig liegen, ist das Spiel vorbei. Richtig? mfg r.
__________________ Ralf Bokelberg™ - Flex & Flash Consulting |
| | |
| | #11 (permalink) |
| Flashnoob Registriert seit: Jan 2005
Beiträge: 16
|
bokel: so in etwa. es gibt auch noch einen dritten script-frame aber mit dem will ich euch gar nicht belasten.... Also es sieht wie folgt aus: Es gibt 14 objekte und 14 hintergründe. AUf diesen hintergründen (die ja größer sind als die objekte) liegen (natürlich unsichtbar) die targets, wie du richtig erkannt hast, die teile bei denen das object einschnappt. Am anfang liegen alle objekte auf "falschen" targets, der user muß sie in die richtige reihenfolge droppen - bei interesse kann ich dir eine version zukommen lassen. Es hat nicht nur einmal funktioniert, es funktioniert jedesmal^^ Wie ich schon sagte es ist folgendes Problem: solange ich es normal starte bzw auch wenn ich die swf file alleine laufen lasse funktioniert es tadellos... Das Problem ist folgendes: Movie1.swf lädt im 2.Frame in das Objekt _root.InhaltExtern über die Methode loadMovie("Movie2.swf",_root.InhaltExtern) einen 2.externen Film (eben diesen Movie2.swf). In diesem 2.Film gibt es ein Objekt Object#1 etc... und diese haben eigene Methoden. Diese Methoden funktionieren über Referenzierung mit this natürlich nicht mehr. Wie ist es mir also möglich externe SWF-Files bzw. deren Objekte so zu referenzieren dass sie in anderen .swf-Files trotzdem noch einwandfrei funktionieren und die Methoden korrekt ausgeführt werden? *hofft auf hilfe* danke^^
__________________ So long... |
| | |
| | #12 (permalink) |
| helpQLODhelp Registriert seit: Feb 2002 Ort: Köln
Beiträge: 8.505
|
Die Objekte solltest du dann über _root.inhaltExtern["object" + i] ansteuern können. mfg r.
__________________ Ralf Bokelberg™ - Flex & Flash Consulting |
| | |
| | #13 (permalink) |
| querdenker Registriert seit: Jun 2001 Ort: formel1-stadt hockenheim
Beiträge: 4.731
|
ralf...aber er holt doch diesen film in diesen contianer rein. und das script, dass er hatte, liegt doch in dieser externen swf, die nun im contianer liegt. und wenn ich dort n script habe, dann funktioniert doch der verweis auf this['object'+i] immer noch. *gugg* außer er hat das script dort nicht mehr liegen, sondern hat es jetztb zwischenzeitlich in seinen hauptfilm rein. greetz kelor |
| | |
| | #14 (permalink) |
| helpQLODhelp Registriert seit: Feb 2002 Ort: Köln
Beiträge: 8.505
|
Ja, wenn Schokobrot einfach den kompletten Film irgendwoanders reinlädt, in dem das Script, die Targets und die Objekte liegen, dann sollte das ohne weiteres funktionieren. Ich dachte jetzt, das Script liegt im ersten Film und die Objekte im zweiten. mfg r.
__________________ Ralf Bokelberg™ - Flex & Flash Consulting |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |