| |||||||
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) |
| Custom Title Registriert seit: Aug 2001
Beiträge: 467
| Lingo/Javascript makescriptedsprite - Flashmember Problem (variablescope)
Hallo zusammen Ich habe gerade ausgesprochen interessantes Probleme mit Flashmembern und makescriptedsprite. Ich habe einen Flashmember der eine (AS)Funktion und eine (AS)Variable besitzt. Packe ich diesen Flashmember "manuel" auf die Bühne kann ich seine Variable und seine Methode wunderbar aufrufen: Code: var schiff = sprite(1); trace(schiff.flashMethode()); Code: schiff = channel(1).makescriptedsprite(member("schiffMember")); trace(schiff.flashMethode()); Hier muss doch ein Weg existieren die Flashmethoden auch dann zu erreichen wenn ich das sprite mit makescriptedsprite erstelle? Was habe ich hier nicht begriffen? 2. Problem - VariableScope mit JS in Benutzung der scriptinstancelist: Wenn ich zwei Sprites auf die Bühne setze und ein BehaviourScript manuel zuweise funktioniert dieses Behaviour wie erwartet: Code: function beginSprite(){
this.speed = random(5);
trace("Begun"+this.speed);
}
function enterFrame(){
trace(this.speed);
} Weise ich jedoch dieses Verhalten über die scriptinstancelist zu statt es manuell zuzuordnen besitzen am Ende alle Sprites den gleichen "speed". Obwohl es doch alles korrekt zugewiesen ist. Code: function startMovie(){
sprite(1).scriptInstanceList = list(new script("speed"));
sprite(1).beginSprite();
sprite(2).scriptInstanceList = list(new script("speed"));
sprite(2).beginSprite();
} Ich bin äusserst verwirrt... Vielen Dank für jede Hilfe und viele Grüsse, Alex
__________________ ---::::: AVisioN :::::--- |
| | |
| | #2 (permalink) |
| meistens harmlos Registriert seit: Jun 2001 Ort: Stuttgart
Beiträge: 17.643
|
Bei der ersten Frage dürfte es sich um ein Timingproblem handeln. Geht nicht Code: channel(5).makeScriptedSprite(member("flash"))
put sprite(5).meinevariable -- oder auch trace, in der Zeile direkt danach Geht Code: channel(5).makeScriptedSprite(member("flash"))
-- einige Frames später
put sprite(5).meinevariable
-- Ausgabe "hallo welt" Zur zweiten Frage kann ich nichts sagen da Javascript in Director bisher noch nicht so mein Ding ist (-> Zeit )Gruß Rena Geändert von rena (05-10-2005 um 23:31 Uhr) |
| | |
| | #3 (permalink) |
| Custom Title Registriert seit: Aug 2001
Beiträge: 467
|
Ja Du hast recht - Problem 1 ist mit _movie.updateStage() behoben. Das zweite Problem ist mir ein Rätsel. Ich habe gesucht und gesucht und habe die Frage auch schon gefunden - nur die Antwort nicht.. Das Problem ist äusserst ärgerlich wenn man z.B. ein Spiel plant. Ich hab mich auch in die Artikel von MM eingearbeitet (über JS) und mein Ansatz wird als richtig gesehen - er wird aber auch nur mit manuel plazierten Sprites durchexerziert. Naja Danke Dir auf jeden Fall recht herzlich ![]() Grüsse nach Schwaben, Alex
__________________ ---::::: AVisioN :::::--- |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |