Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26-06-2004, 13:04   #1 (permalink)
409coffeemaker
Gast
 
Beiträge: n/a
loadMovie dyn. Bild zentrieren?

Hi…

die letzte Frage für heute…

Wenn man dynamische Bilder in Flash lädt, geschieht das ja für gewöhnlich mit loadMovie(). Bisher habe ich immer einem vorgefertigten MC aus der Library attached, indem ein positionierter Container lag.

Die Bilder die ich dann eingeladen habe, mussten immer alle das gleiche Format haben. Also zb 300px*300px, damit sie das Layout nicht zerschossen haben.

Auf der wunderschönen Seite von Saskia Ramin, erstellt von 24-7 Media, kann man ihre Arbeiten betrachten, die durchaus verschiedene Formate haben.

Das hat mich kurz auf die einfache Idee gebracht, das man doch eigentlich folgendes machen könnte:

Angenommen man hat ein Contentfeld. 600*600.
Man lädt ein Bild mit loadMovie dynamisch in einen zuvor mit createEmptyMovieClip() erstellten Container.
PHP-Code:
//Actionscript 1
var container=_root.contentfeld.createEmptyMovieClip('container',1);
container.loadMovie('bild.jpg',1); 
Logischerweise hängt nun das ganze links oben in der Ecke.
Man müsste doch nun mit

PHP-Code:
//Actionscript 1.0
var x=getProperty(container_x);
var 
y=getProperty(container_y); 
Die Größe des Bildes bestimmen können. Vorausgesetzt, man startet diese Abfrage, nachdem das Bild geladen ist, sonst erhält man 0,0. Leider weiß ich noch nicht wie man herausbekommen kann, wann das Bild geladen ist.
Mit getBytesloaded(); & co kommt man wohl nicht weiter.

Angenommen man hat nun die container._x und container._y Werte… sagen wir es sind 300, 300… dann könnte man doch nun die ganze Geschichte zentrieren.

Scheint einfache Mathematik zu sein…

(Content._x - container._x) / 2 = neue container._x

(Content._y - container._x) / 2 = neue container._y

Und dann halt mit setProperty(container, _x, _y); das Moped zentrieren.


Was meint ihr? Kann mir jeman behilflich sein?


Liebe Grüße

Yves
  Mit Zitat antworten
Alt 26-06-2004, 13:42   #2 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
So irgenwie!!
PHP-Code:
this.inner_mc._x=(this.center_mc._x+(this.center_mc._width-this.inner_mc._width)/2);
this.inner_mc._y=(this.center_mc._y+(this.center_mc._height-this.inner_mc._height)/2); 
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 26-06-2004, 22:11   #3 (permalink)
409coffeemaker
Gast
 
Beiträge: n/a
So geht's

PHP-Code:
//Actionscript 1.0

MovieClip.prototype.centerImage=function(file)
    {
    var 
comp=this.attachMovie('comp','comp',1);
    var 
container=comp.createEmptyMovieClip('image',2);
    var 
image=container.loadMovie(file,3);
    
comp.onEnterFrame=function()
        {
        if(
this.image.getBytesLoaded()==this.image.getBytesTotal() && this.image.getBytesLoaded()>4)
            {
            
container._x=(comp._x+(comp._width-container._width)/2);
            
container._y=(comp._y+(comp._height-container._height)/2);
            
delete this.onEnterFrame;
            }
        }
    } 
Anbei die Fla

Liebe Grüße

Yves
Angehängte Dateien
Dateityp: zip Archive.zip (24,9 KB, 163x aufgerufen)
  Mit Zitat antworten
Alt 27-06-2004, 00:05   #4 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Hab ich doch geschrieben
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 27-06-2004, 10:56   #5 (permalink)
409coffeemaker
Gast
 
Beiträge: n/a
Hi,

naklar! Ich hab das nur nocheinmal zusammengefasst und in eine Fla geschrieben.

Ist doch ok, oder?


Liebe Grüße

Yves
  Mit Zitat antworten
Alt 27-01-2005, 09:23   #6 (permalink)
Free Flasher
 
Benutzerbild von paraneujahr
 
Registriert seit: Dec 2001
Ort: Hattingen
Beiträge: 276
Schööön, aber...

Äh, sorry...


...aber könnte mir bitte jemand erklären, wie ich das in folgendes Script einbaue?

PHP-Code:

ausgabe_txt
.text "...Bilder werden geladen...";

lv = new LoadVars();
lv.load("galerie.txt");
lv.onLoad = function(status) {
    if (
status) {
        
// Felder erzeugen
        
bildEintrag = new Array();
        
bildTitel = new Array();
        
// Einträge Trennen
        
bildEintrag this.daten.split(",");
        
// BildTitel+URL
        
for (var 0bildEintrag.lengthi++) {
            
bildTitel.push(bildEintrag[i].split("|"));
        }
        
// Filmsequenz Erzeugen
        
createEmptyMovieClip("mc"1);
        
// Bild in die Filmsequenz laden
        
loadMovie(bildTitel[0][1], "mc");
        
// Positionieren
        
mc._x 80;
        
mc._y 20;
        
// Textfeld mit Bildnamen
        
ausgabe_txt.text bildTitel[0][0];
    } else {
        
ausgabe_txt.text "Fehler!";
    }
};

weiter.onRelease = function() {
    
// Nächstes Bild
    
if (bild bildTitel.length 1) {
        
bild++;
        
loadMovie(bildTitel[bild][1], "mc");
        
ausgabe_txt.text bildTitel[bild][0];
    }
};

zuruck.onRelease = function() {
    
// Vorheriges Bild
    
if (bild 0) {
        
bild--;
        
loadMovie(bildTitel[bild][1], "mc");
        
ausgabe_txt.text bildTitel[bild][0];
    }
}; 

Wäre echt prima - ich brech mir einen ab!!
__________________
;o)-PARA-(o;

Geht wählen und ändert damit etwas - aber wählt KLEINE Parteien. Nicht wählen belässt die Falschen an der Macht!
paraneujahr 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



Alle Zeitangaben in WEZ +1. Es ist jetzt 21:18 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele