• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash 8

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-02-2010, 14:32   #166 (permalink)
Mittelalter User
 
Registriert seit: Jun 2003
Beiträge: 316
>> schon ist das Ding immer in der Mitte. <<

Aber natürlich auch nur wenn du als swf Größe in der Html feste Werte angibst. Bei % sieht das ganze schon wieder anders aus.
__________________
My Activeden items
Flashlightbox
Realtimefreak ist offline   Mit Zitat antworten
Alt 21-02-2010, 15:19   #167 (permalink)
Neuer User
 
Registriert seit: Mar 2007
Ort: Bochum
Beiträge: 165
PHP-Code:
Stage.scaleMode "noScale"
Stage.align "LT"
lstrn = new Object(); 
lstrn.onResize = function() { 
    
MC._x Stage.width/2
    
MC._y Stage.height/2
}; 
Stage.addListener(lstrn); 
lstrn.onResize(); 
so zentriert, bleibt MC immer in der Mitte der Stage, egal, ob die swf-Größe in Pixel oder prozentual angegeben ist.
amexdesign ist offline   Mit Zitat antworten
Alt 21-02-2010, 15:51   #168 (permalink)
Mittelalter User
 
Registriert seit: Jun 2003
Beiträge: 316
Das Problem bei silbercue ist aber das er:

Stage.align = "T";

schreibt. Und nicht LT ...
__________________
My Activeden items
Flashlightbox
Realtimefreak ist offline   Mit Zitat antworten
Alt 21-02-2010, 17:26   #169 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.305
hi,
richtig wäre wenn dann aber auch "TL"... und nicht "LT"

cheers,
sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 21-02-2010, 18:02   #170 (permalink)
Mittelalter User
 
Registriert seit: Jun 2003
Beiträge: 316
Schimpf und Schande über mich ...
__________________
My Activeden items
Flashlightbox
Realtimefreak ist offline   Mit Zitat antworten
Alt 11-03-2010, 18:18   #171 (permalink)
usefull *****
 
Registriert seit: Nov 2001
Beiträge: 24
Hallo ,

ich habe ein Problem an dem ich mir schon seit Tagen die Zähne ausbeisse :-(

Ich lade eine externe .swf Datei in eine Haupt-Flash-Datei.
Die externe swf.Datei ist ein Animationsfilm, den ich aus Illustratordateien erstellt habe.
– Diese Animation soll als Hintergrundfilm laufen und soll sich der jeweiligen Browserfenstergröße proportional anpassen.
– Die Navigation der Site liegt dann an fester Position im Vordergrund (in der Hauptflashdatei) und soll nicht mit skaliert werden.

Hier zum Anschauen mit Hintergrund und Navigation:
fullscreentest 4

Nun mein grosses Problem: Wenn bei der externen Datei (also der Animationsfilm) die Grafiken über die Bühne gezogen wird, benutzt Flash beim Reinladen nicht die Größe der auf der Bühne sichtbaren Grafik sondern berechnet die über die Bühne hinausgehenden Grafiken mit ein....Dadurch wird beim rein laden falsch skaliert und plaziert .... und eine Skalierung findet beim Verändern der Größe des Browserfensters auch nicht statt. Gibt es da eine Lösung?


Hier zum Anschauen:
Meine Ausgangstest mit einem Hintergrund, dessen grafische Elemente auch über die Bühnengröße gehen, wobei hier alles klappt!

Fullscreentest Extern

Derselbe Test nur mit dem reingeladenen Animationsfilm

Fullscreentest 2 Extern

Hier mein Code den ich für den Hauptflashfilm zum Reinladen und der Skalierung der externen .swf verwendet habe:

PHP-Code:
Stage.scaleMode "noScale";
Stage.align "TL";

var 
bgFile:String "bg_film.swf";
var 
bgWidth:Number;
var 
bgHeight:Number;
var 
ratio:Number;

// ---------- RESIZE LISTENER -----------------------
var stageListener:Object = new Object();
stageListener.onResize = function() : Void{
    
resizeBackground();
}
Stage.addListener(stageListener);


// ---------- MOVIELOADER FOR BACKGROUND SWF --------
var loadListener:Object = new Object();
var 
bgLoader:MovieClipLoader = new MovieClipLoader();
bgLoader.addListener(loadListener);
bgLoader.loadClip(bgFilecontainer);
loadListener.onLoadInit = function(container) : Void{
    
bgHeight container._height;
    
bgWidth  container._width;
    
ratio bgWidth bgHeight;
    
ratio Math.floor(ratio*100)/100;
    
resizeBackground();
}


// ---------- SCALE FUNCTION FOR BACKGROUND SWF -----
function resizeBackground() : Void{
    if(
Stage.width bgWidth && Stage.height <= bgHeight){
        
container._height Stage.width ratio;
        
container._width Stage.width;
    }
    if(
Stage.height bgHeight && Stage.width <= bgWidth){
        
container._height Stage.height;
        
container._width Stage.height ratio;
    }
    if(
Stage.height bgHeight && Stage.width bgWidth){
        if(
Stage.width Stage.height ratio){
            
container._height Stage.height;
            
container._width Stage.height ratio;
        }
        if(
Stage.width Stage.height ratio){
            
container._height Stage.width ratio;
            
container._width Stage.width

Im Anhang findet ihr die verwendeten Dateien der Tests als .fla:



Den Animationsfilm.fla (ein Auszug) als möglichen Übeltäter hier:
http://ww.zapport.de/animation_short.zip



Jede Hilfe wäre toll,

curious
Angehängte Dateien
Dateityp: zip test.zip (52,1 KB, 44x aufgerufen)
curious ist offline   Mit Zitat antworten
Alt 13-03-2010, 15:05   #172 (permalink)
Neuer User
 
Registriert seit: Mar 2010
Beiträge: 9
Tach auch,

habe folgendes Problem. Meine swf passt sich nicht meinem Brwoser an. habe mir die Flash-8 - Scale & Stage.zip datei geladen. aber irgendwie kann ich das nicht umsetzen. *Schäm

Wäre super wenn mir jemand dabei behilflich sein könnte.

Code:
Stage.scaleMode = "noScale";
//Skalierung für die ganze Bühne abschalten. 
Stage.align = "TL";
//Die aktuelle Ausrichtung der SWF-Datei im Player oder Browser. In diesem Fall TL(Top-Left).  
lstrn = new Object();
//Listener erstellen. 
lstrn.onResize = function() {
	//Beim verändern der Bühnengröße... 
	scaleMC._x = Stage.width/2;
	//den zu skalierenden MovieClip in die Mitte des Flash Films setzen. 
	scaleMC._y = Stage.height/2;
	//den zu skalierenden MovieClip in die Mitte des Flash Films setzen. 
	scaleMC._width = Stage.width;
	//die Breite des MovieClip = die Breite der Bühne. 
	scaleMC._height = Stage.height;
	//die Höhe des MovieClip = die Höhe der Bühne. 
	MC._x = MC._width/2;
	MC._y = MC._height/2;
	//den MovieClip der nicht skaliert werden soll, in die Mitte des Flash Films setzen. 
};
Stage.addListener(lstrn);
//Listener der Bühne hinzufügen. 
lstrn.onResize();
//sofort die Funktion aufrufen.
Hatte mich für diesen code entschieden. Wies nur nicht ob es der richtige ist.
Mein Problem zur Zeit ist das wenn ich den film in opera gucke mit einer auflösung von 1900*1200 , da ist alles in ordnung. aber wenn ich die Auflösung änder z.B. auf 1024*768 dann passt das alles nicht mehr.

Versuche es schon seit tagen......
Pascalos ist offline   Mit Zitat antworten
Alt 18-03-2010, 15:27   #173 (permalink)
Neuer User
 
Registriert seit: Mar 2007
Ort: Bochum
Beiträge: 165
Hallo,

was ist denn der scaleMC? Ist es ein leeres MC, in den was geladen wird oder ist es ein MC mit farblicher Füllung???
amexdesign ist offline   Mit Zitat antworten
Alt 18-03-2010, 17:46   #174 (permalink)
Neuer User
 
Registriert seit: Mar 2010
Beiträge: 9
genau da liegt mein problem!

ich weiss nicht was damit gemeint ist oder was ich da eintragen muss. hier ist die Internetseite: SEITE

vielleicht sieht man hier jetzt mein Problem besser.

Bitte nehmt dafür einenAuflösung über 1200*..... und danach mal 1024*..... da könnt ihr sehen was mein Problem ist.

Vielleicht hilft das noch: Mein Background Image im flashfilm ist 1600*.... groß. Die Bühne ist 950*900. wenn ich in Flash den Film Teste wird nur die Bühne angezeigt. Das sieht gut aus. Gehe ich dann ins www, dann wird der konplette Hintergrunf geladen. Das heißt der film wird viel zu groß für den browser.

Es wäre super super super cool wenn mir da jemand helfen könnte!!!!!

Gruß
Pascal
Pascalos ist offline   Mit Zitat antworten
Alt 19-03-2010, 11:01   #175 (permalink)
Neuer User
 
Registriert seit: Mar 2007
Ort: Bochum
Beiträge: 165
OK. Wenn Background Image in den scaleMC geladen wird, dann vielleicht so:
PHP-Code:
Stage.scaleMode "noScale";
//Skalierung für die ganze Bühne abschalten. 
Stage.align "TL";
//Die aktuelle Ausrichtung der SWF-Datei im Player oder Browser. In diesem Fall TL(Top-Left).  
lstrn = new Object();
//Listener erstellen. 
lstrn.onResize = function() {
    
//Beim verändern der Bühnengröße... 
    
scaleMC._x Stage.width/scaleMC._width/2;
    
//den zu skalierenden MovieClip in die Mitte des Flash Films setzen. 
    
scaleMC._y Stage.height/scaleMC._height/2;
    
//den zu skalierenden MovieClip in die Mitte des Flash Films setzen. 
    //scaleMC._width = Stage.width;///// hier kannst du doch nicht ein Bild von 1600*... auf 1024 setzen, wenn die Auflösung 1024x786 ist.
    //die Breite des MovieClip = die Breite der Bühne. 
    //scaleMC._height = Stage.height;
    //die Höhe des MovieClip = die Höhe der Bühne. 
    
MC._x MC._width/2;
    
MC._y MC._height/2;
    
//den MovieClip der nicht skaliert werden soll, in die Mitte des Flash Films setzen. 
};
Stage.addListener(lstrn);
//Listener der Bühne hinzufügen. 
lstrn.onResize();
//sofort die Funktion aufrufen. 
amexdesign ist offline   Mit Zitat antworten
Alt 09-04-2010, 10:04   #176 (permalink)
Neuer User
 
Registriert seit: Mar 2007
Ort: Bochum
Beiträge: 165
Und jetzt das Ganze auch als AS3
PHP-Code:
import flash.events.Event;
stage.scaleMode StageScaleMode.NO_SCALE;
stage.align StageAlign.TOP_LEFT;
stage.addEventListener(Event.RESIZEresizeHandler);
function 
resizeHandler(event:Event):void{
    
scaleMC.stage.stageWidth/scaleMC.width/2;
    
scaleMC.stage.stageHeight/scaleMC.height/2;

amexdesign ist offline   Mit Zitat antworten
Alt 27-05-2010, 21:17   #177 (permalink)
Neuer User
 
Registriert seit: May 2010
Beiträge: 96
wie kriege ich den hin das txtHeader immer links oben ist bei mir?
und ein neuer mc immer unten rechts ist? egal wie gross oder klein man das browserfenster zieht?

ich habe bis jetzt das erstellt :
PHP-Code:
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;

stage.align StageAlign.TOP_LEFT;
stage.scaleMode StageScaleMode.NO_SCALE;
stage.addEventListener(Event.RESIZEresizeHandler);

stage.dispatchEvent(new Event(Event.RESIZE));


function 
resizeHandlerevent:Event ):void
{
    
header.width stage.stageWidth;
    
     
    
txtHeader.= (stage.stageWidth 2) -370;
    
mcHeader.= (stage.stageWidth 2) + 480;
    
    
    
middle.= (stage.stageWidth 2) - (middle.width 2);
    
middle.height stage.stageHeight header.height footer.height;
    
    
mcMiddle.= (stage.stageWidth 2) - (mcMiddle.width 2);
    
    
footer.width stage.stageWidth;    
    
footer.stage.stageHeight footer.height;

aber hier ist der txtHeader zwar immer links oben, aber nur auf der eigentlich stage, zieht man das fenster grösser als die Stage bleibt der txtHeader trotzdem auf der Stage sprich, er entfernt sich vom browserfenster.
Linopacino ist offline   Mit Zitat antworten
Alt 16-06-2010, 21:08   #178 (permalink)
Neuer User
 
Registriert seit: Oct 2006
Beiträge: 1
Question Proportional

Was muss man ändern, damit der Hintergrund proportional vergrößert oder verkleinert wird (nicht verzerrt)?

Viele Grüße

pbmuenchen
pbmuenchen ist offline   Mit Zitat antworten
Alt 10-07-2010, 12:46   #179 (permalink)
Neuer User
 
Registriert seit: Aug 2008
Beiträge: 5
Das würde mich jetzt aber auch nochmal interessieren
Decius ist offline   Mit Zitat antworten
Alt 29-07-2010, 11:03   #180 (permalink)
Neuer User
 
Registriert seit: Apr 2010
Beiträge: 3
gibts darauf keine antwort mehr??
GCBMadeira 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


LinkBacks (?)
LinkBack zu diesem Thema: http://www.flashforum.de/forum/flash-8/tutorial-scale-stage-205854.html
Erstellt von Für Art Datum Hits
Adobe Forums: FLpro8: Film skalieren aber Inhalt 100% Dieses Thema Refback 05-07-2011 20:18 1
Daily MG Wissen: Flash Stage Scale Dieses Thema Refback 25-08-2009 18:59 28


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:03 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele