nur Hintergrund-Movieclip dynamisch skalieren [Flash 9]
| 01.09.2010, 16:26 | | Beiträge: 2 Registriert: Jul 2010
| nur Hintergrund-Movieclip dynamisch skalieren Hallo Freunde,
hier meldet sich mal wieder ein blutiger Anfänger. Folgendes Problem:
ich habe in meinem Flashfilm einen MC als Hintergrund. Beim Ändern der Browserfenstergröße soll nur der Hintergrund skaliert werden. Schaltflächen etc. sollen die Größe beibehalten. So soll´s aussehen: http://www.scottkelby.com/portfolio/
Der Hintergrund soll als externe SWF-Datei über "URLRequest" geladen werden
...danke für eure Mühen | |
| 02.09.2010, 15:05 | Re1 | Beiträge: 85 Registriert: Aug 2010
| Zu allererst wirst du folgendes setzen müssen:
ActionScript:| 1 | stage.scaleMode = StageScaleMode.NO_SCALE;
|
Damit werden einfach keine Elemente automatisch skaliert, wenn man das Ganze größer macht.
Als nächstes kann man über stage.stageWidth und stage.stageHeight z.b. in einem ENTER_FRAME Event auf die Bühnengröße zugreifen und das Bild entsprechend groß machen. Hier wirst du eventuell Probleme mit obskuren Breiten/Höhen-Verhältnissen haben.
Und das Bild muss noch neu Positioniert werden, da die obere linke Ecke dann nicht mehr bei 0 /0 liegt, sondern z.b. bei -50, -423. Musst etwas rumprobieren mit Formeln, ich glaube das geht irgendwie mit
ActionScript:| 1 | (stage.stageWidth - 1000) / 2
|
wenn die Ursprungsgröße in deiner fla auf 1000 steht. Musst du mal mit rumprobieren.Du möchtest Flash und AS3 lernen? Schau mal bei meinen Flashtutorials unter www.tutorialflash.de vorbei! Neuste Tutorialreihe: Sicherheit deiner Flashanwendungen. Schutz vor Hacks und Cheats, inkl. Anleitungen wie die Hacks funktionieren. | Geändert von jens108 am 02.09.10 um 15:06 Uhr
| |
|
| 09.09.2010, 22:13 | Re2 | Beiträge: 2 Registriert: Jul 2010
Themenautor/in
| ...danke für den Hinweis.
ich denke ich habe eine Lösung gefunden allerdings in AS2, wer hat´s drauf mir das Script in AS3 umzuschreiben.
wäre supi :-)
hier das Script:
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | Stage.scaleMode = "noScale";
Stage.align = "TL";
meinListener = new Object();
meinListener.onResize = function() {
_root.scalefactor = (_root.bg._width)/(_root.bg._height);
_root.stagescale = (Stage.width)/(Stage.height);
if (_root.stagescale>_root.scalefactor) {
_root.bg._width = (Stage.width);
_root.bg._height = (Stage.width)/_root.scalefactor;
} else {
_root.bg._width = (Stage.height)*_root.scalefactor;
_root.bg._height = (Stage.height);
}
_root.bg._x = (Stage.width/2)-(_root.bg._width/2);
_root.bg._y = (Stage.height/2)-(_root.bg._height/2);
_root.tt._y = Stage.height-30;
_root.tt._x = Stage.width-40;
};
Stage.addListener(meinListener);
|
| |
| | | nicht sichtbar bei eingeloggten Mitgliedern |
|
| | Themen Ähnliche Beiträge zum Thema | 30.06.2010 - Sebitania 23.03.2010 - daxs 12.12.2009 - Maroon 17.12.2009 - GuentherLehman |
|
Flashhilfe.de Flash Platform Tipps & Tutorials Flash Platform Andere Programmiersprachen Jobangebote Diskussionen
Flashhilfe News 
Regeln & Bedingungen
|