| |||||||
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) |
| Neuer User Registriert seit: Oct 2003 Ort: im garten frankreichs
Beiträge: 76
| duplicateMovieClip (initMovieClip) wie geht das?
hallo Forum, bin mit diesem Thema in der Flash MX Rubrik leider mit 0 Antworten durchgerutscht, darum jetzt doppelpost in der hoffnung das mir hier jemand hilft. Sorry! Schon seit langem versuche ich es mit den verschiedensten klammerstellungen und habe es nie hinbekommen. Jetzt brauche ich jemanden der lust hat mich da aufzuklären. movieClip.prototype.initButtons = function (pClip, pTitel) { pClip.titel = pTitel; pClip.onRollOver = function () { trace (pTitel); } } for (var j=1; j<5; j++) { this.duplicateMovieClip("menue_btn"+j, j, _root.initButtons(this._parent["menue_btn"+j], _root.pTitels[j])); } Es geht mir also um den InitMovieClip Aufruf in der duplicateMovieClip Fn... Warum versagt mein prototype hier? In der referenz steht das es sich bei [,objectInit] um ein object handeln muss, ist mein protoype etwa kein object? Wie sieht die richtige notation für das ansprechen des prototypen aus und wie übergebe ich ihm die parameter?
__________________ gruß schnabelmax |
| | |
| | #2 (permalink) |
| Gast
Beiträge: n/a
|
Hi, das ist ja alles sehr wirsch was du erzählst… Wenn du einen Button auf die Bühne instanzieren möchtest, solltest du am besten attachMovie() verwenden und in der Library ein entsprechendes Buttonmodell mit Linkage ID versehen. createEmptyMovieClip erzeugt doch nur einen leeren MC auf der Bühne, was soll man denn da klicken können? Und das du soweit bist, das du da dynamisch Linien und Textfelder einfügen kannst, glaube ich nicht. Wenn du den Namen, Titel etc. mitgeben möchtest, solltest du den MC in der Lib auch mit ensprechender Komponentendefinition versehen. Insgesamt weiß ich nicht was du so genau möchtest, aber ich habe dir mal dazu eine Fla gebastelt, dort kann du erkennen wie man Parameter übergibt, wie man einen Prototype korrekt definiert usw.… hoffentlich hilft dir das weiter. Demnächst bette bitte deine Codesnips in vB Code ein und versuche, dein Posting deutlicher zu formulieren. Hier der Code: PHP-Code: Anbei die Fla. Liebe Grüße Yves |
|
| | #3 (permalink) |
| Neuer User Registriert seit: Oct 2003 Ort: im garten frankreichs
Beiträge: 76
|
danke für die Antwort, aber: movieClip.duplicateMovieClip(neuerName, tiefe [,objetInit]) das steht in der Referenz. Mir geht es jetzt nur um den Teil [,objetInit]. Mein script oben sollte nur verdeutlichen, dass ich an Stelle X, Object X duplizieren, und über [,objetInit] zu initialisieren versuche, sprich mit parametern zu versehen (_x, _y, text ect.). Ich möchte gerne wissen ob ich [,objetInit] richtig interpretiere und wenn ja, suche ich nach einem konkreten Anwendungsbeispiel da ich weder in meinen bücher, noch im Forum eines finde. Hoffentlich ist das weniger wirsch.
__________________ gruß schnabelmax |
| | |
| | #4 (permalink) | |
| Gast
Beiträge: n/a
| Zitat:
PHP-Code: Kommst du mit dem o.g. Script klar? Anbei nochmals die .fla. Liebe Grüße Yves | |
|
| | #5 (permalink) |
| Neuer User Registriert seit: Oct 2003 Ort: im garten frankreichs
Beiträge: 76
|
das ist alles keine Antwort auf meine Frage. Ich weiss was ein protoype ist und wie ich ihn benutze. Ich weiss auch wie mann movieClips durch attachMovie() auf die Bûhne zieht. Das ist aber nicht das was ich wissen will! Ich will die Initialisierung meiner Buttons in die duplicateMovieClip Function intigrieren, so habe ich diese Option [,objetInit] jedenfalls verstanden. Ich weiss nur eben nicht ob es sich bei [,objetInit] um einen Functionsaufruf handelt und wenn ja, wie ich sie samt Parameterübergabe anspreche. Oder wie es eben sonst geht. Ich weiss nicht wie ich es noch sagen soll. das versuche ich zu vermeiden: ActionScript:
und das will ich, wenn es geht, haben: ActionScript:
__________________ gruß schnabelmax |
| | |
| | #6 (permalink) | ||
| Gast
Beiträge: n/a
|
Hey Kollege… ich habe dir haargenau die Antwort auf deine Frage gegeben. Wie du an meinem Prototype erkennen kannst, wird dort, extra deutlich kommentiert, zuerst ein Objekt definiert und diesem Eigenschaften wie _x, _y zugewiesen. Dieses Objekt nenne ich newClip. Du musst dieses Objekt definieren, um später dessen Eigenschaften für das initObject Parameter zu nutzen. Es ist doch auch ausdrücklich in der Dokumentation erklärt, das bei fehlendem Objekt das Parameter ignoriert wird. Logischerweise ist innerhalb des Prototypes dann auch der Befehl, der das dort definierte Objekt als initObject Parameter benutzt. Anders ist es sinnbefreit. Wie du unschwer erkennen kannst, ist die Syntax doch dort korrekt angewandt. Wenn du möchtest, kannst du dort auch einfach einen duplicateMovieClip() statt des attachMovie() verwenden. Die Verwendung des zuvor definierten Objektes bleibt gleich. Um noch mal ganz klar zu gehen gehe ich nun wortwörtlich auf dein Posting ein. Zitat:
Sinn des ganzen ist es, ein generisches Objekt mit Eigenschaften zu definieren. Zitat:
Um dir nun die Angaben für jeden neue Instanz zu sparen (obwohl es da auch andere Wege gibt), kannst du nun die Eigenschaften PHP-Code: PHP-Code: PHP-Code: Und wozu? Na damit du nun dieses Objekt als initObject Parameter verwenden kannst. Und wie geht das? Na ganz einfach. PHP-Code: Was macht nun das initObject Parameter. Es überträgt, sowie schon von mir oben erklärt und ebenfalls in der Dokumentation erklärt, die Eigenschaften des Objektes auf die MovieClipInstanz, die wir mit duplicateMovieClip() erschaffen haben. So, und damit das ganze Sinn macht, sollte man es ja auch so abstrakt bzw dynamisch halten, wie es geht. Was bietet sich da mehr an, als einen Prototype zu schreiben, dem man alle Variablen als Funktionsparameter mitgibt, hmm? Also nochmal das Beispiel von vorhin, nur mit duplicateMovieClip(), damit du dich nicht daran störst, das ich der Einfachheit halber attachMovie() nahm. PHP-Code: Klar kann man den mit removeMovieClip() entfernen… aber darum geht es hier nicht. Wenn du nun genau überlegst, war bereits mein letzter Beitrag eine Antwort exakt auf deine Frage. Wie sieht es nun mit diesem Posting aus? Yves | ||
|
| | #7 (permalink) | |
| Gast
Beiträge: n/a
| Zitat:
Ist zwar schon alles erklärt, aber hier nochmal dein Ansatz auseinander dividiert. PHP-Code: Die Parameter, die variieren, übergibst du einfach einer Funktion. Hier bietet sich ein Prototype an. Und in diesem Prototype steht dann das Objekt welches als initObject Parameter verwendet werden soll. Um nun extern Parameter übergeben zu können musst du nun den Prototype aufrufen. Also ist quasi nur noch innerhalb dieses Prototypes Platz für die Clipinstanzierende Funktion wie duplicateMovieClip(). Nun alles klar? Liebe Grüße Yves | |
|
| | #8 (permalink) |
| Neuer User Registriert seit: Oct 2003 Ort: im garten frankreichs
Beiträge: 76
|
Hi 409coffeemaker, also ersteinmal vielen dank für deine Bemühungen. Das war ja eine harte Nuss. Du hast mich gestern schlieslich doch auf den richtigen Weg gebracht und ich habe dad was ich suchte gefunden nämlich ActionScript:
Hier habe ich jedoch keine chance dem mc eine onRollOver Fn zu übergeben. Deine attach methode ist für meinen konkreten Fall also die einzig Sinnfolle. Ich wollte aber nur dieses ding mit {} und _x: 100 wissen. a+
__________________ gruß schnabelmax |
| | |
| | #9 (permalink) | ||||
| Gast
Beiträge: n/a
|
Hi Max, Zitat:
Zitat:
Zitat:
Zitat:
Na dann… Liebe Grüße Yves | ||||
|
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |