Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-09-2006, 10:56   #1 (permalink)
Flasher
 
Benutzerbild von Scanis
 
Registriert seit: Oct 2002
Ort: Berlin
Beiträge: 601
Alle variablen Löschen? Geht das?

Hallo leute.

Also ich hab hier ein kleines problem mit einem spiel das jemand anders gemacht hat. ich soll daran eine modifikation vornehmen und stehe nun vor einem Problem.
Es gibt nun einen nicht vorher geplanten "Nochmal spielen" button der natürlich an den frame 1 springt. Dieser frame ist komplett leer und erst im frame 2 fangen die scripts an und variablen.

Nun funktionieren einige scriptbedingte animationen nach dem neustart nicht mehr. Nur beim ersten mal spielen klappts.

Ich hab schon versucht jede var die ich finden konnte gleich am anfang zu reseten, aber der fehler bleibt trotzdem. Irgendwie speichert sich irgendwo die tatsache, dass diese animation bereits abgelaufen ist.

Hab auch die bibliothek komplett durchsucht da sehr viel oop gemacht wird aber daraus hab ich auch nix gefunden. ich werd jetzt noch weitersuchen aber bei dem eeeewig langen "Fremdscript" das bereits von den verschiedensten leuten im laufe der zeit zerstückelt worden ist befinden sich auch sehr sehr viele zeilen scriptmüll die noch von irgendwas anderem übrig sind. Bis ich da überhaut gefunden hab was an script noch wichtig ist und was nicht wird ein tag vergehn.

Nun meine idee. kann ich jede existierende variable resetten mit irgendeinem befehl oder so, so das das spiel an frame eins sich so verhält, als wäre es komplett neu geöffnet worden?

In AS1, flash player 6 muss es sein

Greetz und Thx Scanis
Scanis ist offline   Mit Zitat antworten
Alt 15-09-2006, 11:03   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.321
es ist aufgabe des programmierers eine init-function zu schreiben.
wenn das versäumt wurde, dann hat man's später natürlich schwer (vorallem, wenn's ein fremder script ist)

- wie siehts aus, das komplett neu laden zu lassen?

- ganz üble lösung: alle variablen (==type number und string) in _global und _root zu löschen

hab ich jetzt ohne zu testen schnell runter getippt:

for (i in _root)
{ trace(i+": "+typeof(_root[i]));
if (typeof(_root[i])==number) _root[i]=null;
}
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 15-09-2006, 11:19   #3 (permalink)
Flasher
 
Benutzerbild von Scanis
 
Registriert seit: Oct 2002
Ort: Berlin
Beiträge: 601
Danke dir!

Hmm, ich werd da mal an dem ansatz weiterprobieren, aber nach implementieren des scripts ist der einzige unterschied die übersicht beim trace. das spiel selber bleibt so störrisch wie es ist...

es gibt eine alte function die "neustart" heißt..aber die machts nicht....
Scanis ist offline   Mit Zitat antworten
Alt 15-09-2006, 11:26   #4 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.321
ist halt stabil programmiert - was will man mehr ;-)

(ausser kompletter neustart)

auch mal in _global reingesehen?
und wegen oop's auch verdächtige objecte killen
delete irgendwas

wenn nicht, dann wirst du doch mal in die class'en reinsehen müssen.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 15-09-2006, 11:42   #5 (permalink)
Banned
 
Benutzerbild von ballaballa
 
Registriert seit: Sep 2006
Beiträge: 793
PHP-Code:
var notPresitent " gugstu hia"
_global.presistent "gugsutu nua";
trace ("<<< _root >>>");
for (var 
i in _root){
    
trace"i = ""\n_root[i] = " _root[i]);
delete _root[i];
trace"i = ""\n_root[i] = " _root[i]);
}
trace ("<<< _global >>>");
for (var 
i in _global){
    
trace"i = ""\n_global[i] = " _global[i]);
delete _global[i];
trace"i = ""\n_global[i] = " _global[i]);

das wird eine _global sein
ballaballa ist offline   Mit Zitat antworten
Alt 15-09-2006, 11:51   #6 (permalink)
Flasher
 
Benutzerbild von Scanis
 
Registriert seit: Oct 2002
Ort: Berlin
Beiträge: 601
Exzellent. Das hats gebracht, jetzt klappt es wunderbar!

Vielen dank, du hast mir grad meine mittagspasue wieder zurückgegeben :-D

Thx euch beiden
Scanis ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 07:24 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele