compileproblem bei actionscript

Hallo schon wieder,

diesmal ist mein Problem folgedes, ich habe mir ein Script fuer eine Navigation zusammengeschustert, indem ich ein vorhandes ein wenig veraendert habe, das ganze sieht so aus:

Link zum Actionscript bei pastebin

Das ganze funktioniert einwandfrei... wenn ich es (wie gefunden) fuer flash player 6 exportiere.
Sobald ich eine hoehere Version waehle funktioniert das ganze garnichtmehr bzw. nicht richtig. Woran kann das liegen? Ich muss das ganze naemlich fuer den Flash Player 9 publizieren, da dort wo die navigation verbaut ist dinge verwendet werden, die nur mit flash player 9 funktionieren.

Nun ist die Frage, wieso klappt das nicht, wenn ich Flash Player 9 bei den Einstellungen waehle und AS2.0 ? Bzw. wie krieg ich es hin, dass eben dies klappt?

Danke fuer die Hilfe

Julian
 
Hi,

häufige Ursachen sind:
  • Groß- und Kleinschreibung: Flashplayer 6 hat z.B. so etwas akzeptiert:
Code:
loadmovie
- Flashplayer 7 und höher braucht die korrekte Schreibweise:
Code:
loadMovie
  • undeklarierte Variablen. Flashplayer 6 hat so etwas akzeptiert:
Code:
a += 1;
trace(a); // Ausgabe: 1
Flashplayer 7 und höher würde "NaN" ausgeben, da die Variable a zuvor nicht mit dem 0 deklariert wurde.

Durchsuche Deinen Code nach solchen Stellen und poste im Misserfolgsfall noch einmal.

Gruß
.
 
Ah okay, ich hab jetzt schonmal nach loadMovie und anderen korrekten Formen gesucht und eigentlich nix gefunden...

Das 2. versteh ich nicht richtig...

Ich hab ja z.B this.a = 1.1; oder this.d = 1.5; ich muesste davor also a und d als 0 definieren oder wie ist das gemeint?

Ausserdem weiss ich garnicht wofuer das a und das d ueberhaupt stehen?

Gruss Julian
 
Hi,

in Deinem Code steht z.B. in Zeile 8 und 9:
Code:
8	    yPos = yPos + (clip._width+35); 
9	    clip._x = ]YPos;
Ab Flashplayer 7 sind "yPos" und "YPos" zwei verschiedene Variablen, da ja auf Groß- und Kleinschreibung geachtet wird.

Das Durchsuchen des Codes nach solchen Vorkommnissen wirst Du selbst übernehmen müssen; wir sind nur dazu da, Dir die Ansätze aufzuzeigen.

Ich hab ja z.B this.a = 1.1; oder this.d = 1.5; ich muesste davor also a und d als 0 definieren oder wie ist das gemeint?
Nein, folgendes funktioniert in allen Playern:
Code:
var a = 2;

a = a + 1;

trace(a); // Ausgabe: 3

In Flashplayer 6 wurde für undefinierte Variablen automatisch der Wert 0 gesetzt, also:
Code:
a = a + 1;
würde den Wert 1 ergeben. Ab Flashplayer 7 ist a zunächst undefiniert ("undefined"), so dass undefined + 1 NaN (keine Nummer) ergibt.

Gruß
.
 
hi!

achso, so war das gemeint! YPos hab sogar ich verbrochen, weil ich die Navigation von vertikal auf horizontal geaendert hab.

Super jetzt wird die Navi wieder korrekt angezeigt und macht dass was sie soll, bis auf dass sie beim RollOver keine zufaellige Rotation und Vergroesserung macht... aber das bekomm ich glaube ich hin ;)

Danke Tobias!

Gruss Julian

//Edit:

ich glaube das problem beim RollOver liegt hierbei:

Code:
 NaviClass.prototype.newDepth = 100;

und

Code:
NaviClass.prototype.newDepth = NaviClass.prototype.newDepth + 20;
    this.swapDepths(NaviClass.prototype.newDepth);

muss ich das newDepth als variable definieren, weil das wird ja da einfach nur auf 100 gesetzt und nicht gesagt "was" auf 100 gesetzt wird... also ist das ja einfach nur ne Zahl oder irre ich mich hier?
 
Zuletzt bearbeitet:
Zurück