Webflasher
Mitglied
Hallo Leute,
ich habe bei meiner Flashslideshow das Problem, dass die Bilder immer an die Größe des Flashfensters angepasst werden.
Dabei gehen allerdings Seitenverhältnisse und Proportionen verloren. Wie kann ich dafür sorgen, dass dies nicht so ist?
Hier der Code:
Vielen Dank
ich habe bei meiner Flashslideshow das Problem, dass die Bilder immer an die Größe des Flashfensters angepasst werden.
Dabei gehen allerdings Seitenverhältnisse und Proportionen verloren. Wie kann ich dafür sorgen, dass dies nicht so ist?
Hier der Code:
Code:
import mx.transitions.*;
//Diesen Code am anfang der Skriptes setzen
Stage.scaleMode = "noScale";
Stage.align = "TL";
//leeren MC erstellen
this.createEmptyMovieClip("con",1);
//zuerst transparent setzen
this.con._alpha = 0;
//Zähler
var index:Number = 0;
//Liste der Bilder
var urls:Array = new Array("(1).jpg", "(2).jpg", "(3).jpg", "(4).jpg", "(5).jpg", "(6).jpg", "(7).jpg", "(8).jpg", "(9).jpg", "(10).jpg", "(11).jpg", "(12).jpg");
//Anzahl der Bilder ermitteln über Länge des Arrays
var len:Number = urls.length;
//5 Sekunde = 5000 Millisekunden Pause zwischen den Bildern
var pause:Number = 5000;
var o:Object = new Object();
Stage.addListener(o);
o.onResize = function() {
bg._x = Stage.width/2;
bg._y = Stage.height/2;
con._x = Stage.width/2-con._width/2;
con._y = Stage.height/2-con._height/2;
setBackgroundSize();
};
o.onResize();
/**
*Das Hintergundbild soll das gesamten Browserfenster einnehmen
*/
function setBackgroundSize() {
var p:Number;
if (bg._width<Stage.width) {
p = Stage.width/bg._width;
bg._width = Stage.width;
bg._height *= p;
}
if (bg._height<Stage.height) {
p = Stage.height/bg._height;
bg._height = Stage.height;
bg._width *= p;
}
}
function startLoader(){
//Lauscher und MovieClipLoader-Instanz erstellen
_root.mclListener = new Object();
_root.mcLoader = new MovieClipLoader();
_root.mcLoader.addListener(_root.mclListener);
//und das erste Bild laden
_root.mcLoader.loadClip("..."+_root.urls[index], _root.con);
//Bild ist geladen und MC wurde befüllt:
mclListener.onLoadInit = function(mc:MovieClip) {
trace("fertig, beladen wurde "+mc);
//MC Skalieren
mc._width = Stage.width;
mc._height = Stage.height;
//MC auf die Bühnen-Mitte setzen:
mc._x = int((Stage.width - mc._width)/2);
mc._y = int((Stage.height - mc._height)/2);
_root.fader(mc,true);
}
}
function fader(mc,blende){
//mc ist das ein- oder auszublendende Objekt
//blende ist true oder false, d.h. blendet ein oder aus
if(blende){
//einblenden von alpha=0 bis alpha=100 in 0,6 Sekunden
var tw1:Tween = new Tween(mc, "_alpha", mx.transitions.easing.None.easeNone, 0, 100, 0.6, true);
tw1.onMotionFinished = function() {//wenn ausblenden beendet...
_root.meineID = setInterval(_root,"weiter",_root.pause);//5 Sek Pause
}
}
else{//ausblenden
var tw2:Tween = new Tween(mc, "_alpha", mx.transitions.easing.None.easeNone, 100, 0, 0.6, true);
tw2.onMotionFinished = function() {//wenn ausblenden beendet...
_root.folgefilm();//nächsten Film laden und einblenden
}
}
}
//Intervall ist beendet
function weiter(){
trace("Pause beendet");
//Intervall wieder löschen
clearInterval(_root.meineID);
//aktuelles Bild ausblenden
_root.fader(_root.con,false);
}
function folgefilm(){
trace("folgefilm");
_root.index++;
//checken, ob das letzte Bild erreicht wurde
if(_root.index == _root.len){
//letztes Bild wurde gezeigt, wieder mit dem ersten Bild starten = Loop
_root.index = 0;
}
_root.mcLoader.loadClip("..."+_root.urls[index], _root.con);
}
startLoader();
this.stop();
Vielen Dank