Problem mit Grössenangabe von Bildern in ActionScript

if (this.img._width > 10 && this.img._height > 10)
ist this.img bei Dir überhaupt definiert? Ausserdem solltest Du dann auch this.img skalieren und nicht den gesamten Container.

Poste bitte mal Deine Datei, denn hier im Dunkeln rumzustochern bringt nicht viel.

Gruß
.
 
Ok im Anhang die Datei, ich habe alles in das ActionScript gepackt, der Aufruf findet in der fla* statt...

Gruss
 

Anhänge

  • script.txt
    3,2 KB · Aufrufe: 35
Hi,

also, das kommt mir alles etwas komisch vor:
  • Du hast einen Container namens _root["Bild"] - aber das scheint eine Label-Instanz zu sein? Warum instanzierst Du das Bild in ein Label?

  • Wenn Du die Namen so fest vergibst, kannst Du nicht mehrere dieser Klasseninstanzen erstellen - die Objekte würden sich ja gegenseitig überschreiben.

  • Das Vorladen müsste eigentlich so aussehen:
PHP:
img.loadMovie("pics/" +imgname);
img.onEnterFrame = function() {
	if (this._width > 10 && this._height > 10) {
		this._width = 787;
		this._height = 482;
	}
}
, aber da ich a) nicht weiß, was Du mit _root.Bild.unloadMovie(img) erreichen willst und mir b) einige Zweifel kommen, dass da sonst alles mit rechten Dingen zugeht, wird das wohl auch so nicht funktionieren.

Kannst Du mal eine lauffähige Version (sprich: die .fla mit dem entsprechenden Aufruf der Klasse) posten?

Gruß
.
 
Hallo,

also zu a) wohin soll ich das Bild denn laden, bisher ging das mit dem Label ganz gut?
Das mit den festen Namen hatte ich nicht bedacht geb ich zu, da ich immer davon ausgegangen bin nur ein Bild auf der Bühne zu haben...
Das unloadMovie hab ich gesetzt dass das Bild auch wieder von der Bühne verschwindet, also wenn ich weiter rumklick quasi die Bühne "geleert" wird und ich neue Elemente auf die Bühne stellen kann... Oder gibt es einen Befehl der alles von der Bühne löscht?

Gruss
 
Ok, aber dann drängt sich mir die Frage auf, wozu Du ein Bild lädst und es dann sofort wieder entlädst? Immerhin befindet sich "img" in _root.Bild - und wird natürlich mitgelöscht.

Wie gesagt: Meine Verwirrung mag daher rühren, dass ich mir kein Bild von der Situation machen kann, sprich: das Ding nicht in "Aktion" sehen kann.

Gruß
.
 
Nun ja ich entlade es ja nicht gleich wieder sondern wenn man zur nächsten Seite geht... Und da will ich ja nicht das Bild von der Seite davor sehen sondern was anderes...
Die Frage ist immer noch wohin soll ich ein Bild laden wenn nicht in ein Label? Reicht es das einfach in den MovieClip zu laden?
 
Ok, wenn das funktioniert, kannst Du es ruhig in ein Label laden.

Allerdings: In Deinem Code wird die unloadMovie-Methode direkt nach dem Laden des Bildes aufgerufen - deshalb frage ich.

Wie gesagt: Ohne das Ding am Laufen (und die Möglichkeit zum Debuggen) zu haben, wird das nicht leicht, Dir weiterzuhelfen. Poste wenn möglich die dazugehörige .fla.

Gruß
.
 
mh jetzt hab ich nochmal von vorne angefangen und es geht jetzt wieder. Ich bin sehr verwirrt.... Weil ich gestern auch schon ne Weile dran sass und rumprobiert hab auch mit deinem Code... Manchmal glaube ich, dass Flash etwas zickig ist :)
Gibts da eigentlich sowas wie einen Cache? Oft werden meine Änderungen nicht gleich übernommen- was hilft ist immer einen trace() einzufügen Komisch komisch...

Gibt es eigentlich eine Funktion die meine Bühne komplett leert oder muss ich jedes Element einzeln entfernen (zB wenn ich mehrere Seiten habe, die ich per Knopfdruck wechsel)?

Gruss
 
Gibt es eigentlich eine Funktion die meine Bühne komplett leert oder muss ich jedes Element einzeln entfernen (zB wenn ich mehrere Seiten habe, die ich per Knopfdruck wechsel)?
Das kommt drauf an, was Du löschen willst.

Gezeichnete Sachen bekommst Du mit
PHP:
_root.clear();
weg. Wenn es sich um MovieClips handelt, so:
PHP:
for (var i in _root) {
    if (typeof(_root[i]) == "movieclip") {
        _root[i].removeMovieClip();
    }
}
(Aber nur bei per AS instanzierten Clips)

Gruß
.
 

Neue Beiträge

Zurück