Frage

Ich habe einen Flash-Film, die Bilder dynamisch aus einer XML-Datei geladen wird. Ich möchte auf verschiedenen Seiten dieser .swf-Datei wieder zu verwenden, aber die Bilder auf Seite 1 sind alle 400 x 200 und die Bilder auf page2 sind alle 745 x 422. Wenn ich versuche, diese auf einer anderen Seite wieder zu verwenden, die geladenen Bilder sind geschrumpfte (Größe angepasst) -. ich sie möchte, was in der Breite / Höhe definiert übereinstimmen, aber sie skalierten bekommen je nachdem, wie die Bühne skaliert

im einen Lader (AS3) für das Bild verwenden, das sie auf einem Behälter (Sprite)

Orte
slideLoader.load(new URLRequest(xmlSlideshow..image[intCurrentSlide].@src));

Ich habe versucht, die Bühne verschiedene Größen machen zu starten, aber ich würde wirklich wie es irrelavant wenn möglich - das heißt: 50 x 50. Dann in html die Breite / Höhe würde die Breite / Höhe der Bilder eingestellt werden wird geladen.

Im nicht ein Flash-Assistenten so bitte vergib mich, wenn im nicht klar, ich werde versuchen, mehr Einblick zu geben, wenn nötig.

War es hilfreich?

Lösung

Paar Dinge ... Erstens müssen Sie Ihre App angeben, nicht maßstäblich. (AS3-Code)

stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;

Dann, wenn Ihr Bild (fügen Sie einen Hörer an das slideLoader Objekt) geladen wird, führen Sie eine Javascript-Funktion Blitz der ExternalInterface-Klasse.

ExternalInterface.call('resizeFlashMovie', slideLoader.width, slideLoader.height);

Und Ihre Javascript-Funktion, so etwas wie dieses wäre:

function resizeFlashMovie(width, height) {
    var flash = document.getElementById('yourFlashMovieId');
    flash.style.width = width+'px';
    flash.style.height = height+'px';
}

Andere Tipps

Ich entschuldige mich ich den Code nicht zur Hand haben, aber ich weiß, Sie haben die Möglichkeit, ein No-Größe ändern auf der Leinwand beim Start eingestellt werden.

Idealerweise können Sie in der Höhe / Breite über die Attribute des embed-Tag übergeben, haben keine Resize auf der Leinwand und verwenden die in Dimensionen übergeben Ihr Bild dimenions zu setzen.

Ich glaube, das ist es:

fscommand("allowscale","false");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top