Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-08-2006, 14:47   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2002
Beiträge: 68
Unhappy Zentrieren geladener JPEGs

Hallo!

Ich habe ein Problem mit eienr Bildergalerie, würde gern die geladenen Bilder zentriert auf der Bühne haben (im Moment links oben orientiert). Habe auch schon das FF durchsucht, aber nichts 100pro passendes gefunden ... kann mir jemand das script entsprechend anpassen? Der MC in die die Bilder geladen werden heisst picture ...
Das script sieht im Moment so aus:
PHP-Code:
function loadXML(loaded) {
    if (
loaded) {
        
xmlNode this.firstChild;
        
image = [];
        
description = [];
        
total xmlNode.childNodes.length;
        for (
i=0i<totali++) {
            
image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
            
description[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
        }
        
firstImage();
    } else {
        
content "Datei nicht geladen!";
    }
}
xmlData = new XML();
xmlData.ignoreWhite true;
xmlData.onLoad loadXML;
xmlData.load("game01.xml");
// ///////////////////////////////////
listen = new Object();
listen.onKeyDown = function() {
    if (
Key.getCode() == Key.LEFT) {
        
prevImage();
    } else if (
Key.getCode() == Key.RIGHT) {
        
nextImage();
    }
};
Key.addListener(listen);
previous_btn.onRelease = function() {
    
prevImage();
};
next_btn.onRelease = function() {
    
nextImage();
};
// ///////////////////////////////////
0;
this.onEnterFrame = function() {
    
filesize picture.getBytesTotal();
    
loaded picture.getBytesLoaded();
    
preloader._visible true;
    if (
loaded != filesize) {
        
preloader.preload_bar._xscale 100*loaded/filesize;
    } else {
        
preloader._visible false;
        if (
picture._alpha<100) {
            
picture._alpha += 10;
        }
    }
};
function 
nextImage() {
    if (
p<(total-1)) {
        
p++;
        if (
loaded == filesize) {
            
picture._alpha 0;
            
picture.loadMovie(image[p], 1);
            
desc_txt.text description[p];
            
picture_num();
        }
    }
}
function 
prevImage() {
    if (
p>0) {
        
p--;
        
picture._alpha 0;
        
picture.loadMovie(image[p], 1);
        
desc_txt.text description[p];
        
picture_num();
    }
}
function 
firstImage() {
    if (
loaded == filesize) {
        
picture._alpha 0;
        
picture.loadMovie(image[0], 1);
        
desc_txt.text description[0];
        
picture_num();
    }
}
function 
picture_num() {
    
current_pos p+1;
    
pos_txt.text current_pos+" / "+total;

Hülft mir jemand? Wäre super ...

gruss
quiri
quiri ist offline   Mit Zitat antworten
Alt 22-08-2006, 14:55   #2 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
was bedeutet links oben? links oben in der bildschirm ecke, oder ausgerichtet an einem anderen mc? wenn doch einfach nur links oben in der ecke sein soll dann kannste den pictures mc doch auch einfach per hand auf x und y 0 setzen... ansonsten konnte ich in deinem script in keinster weise einen hinweis darauf finden das du überhaupt probiert den pictures mc per _x und _y zu positionieren?!

cya, 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 23-08-2006, 13:34   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2002
Beiträge: 68
Nee, ich bin ja auch fast "unbefleckt" in solchen Sachen ...
Ich habe mir fast gedacht das in dem Script keine Ausrichtung drin ist.
Das Bild wird immer (standard?) mit der linken oberen Ecke an dem MC picture ausgerichtet, egal ob hoch oder querformat. Ich hätte jetzt gerne dass es mit der Mitte an dem MC ausgerichtet wird ... die Querformat-Bilder sind alle 500 Pixel breit bzw die Hochformat sind alle 500 px hoch. Wie setze ich jetzt am geschicktesten dieses Ausrichten ein, mit welchem Script? Es gibt wohl mehrere Möglichkeiten oder?

gruss
quiri
quiri ist offline   Mit Zitat antworten
Alt 23-08-2006, 18:12   #4 (permalink)
lernwillig
 
Benutzerbild von Bugfixer
 
Registriert seit: May 2004
Ort: Berlin
Beiträge: 221
Hi, ja es gibt mehrere möglichkeiten.

Die eleganteste ist eigentlich, dass du deine container, in die du deine bilder lädst, ausrichtest.
Dazu würde ich mit einer fallunterscheidung arbeiten. Hier ein grobes beispiel:

ActionScript:
  1. if(this.container._width > this.container._height)
  2. {
  3.      x = 100, y = 200;
  4. }
  5. else
  6. {
  7.      x = 200, y = 100;
  8. }
  9. this.container._x = x;
  10. this.container._y = y;

Die function rufts du dann bei jedem buttonclick auf.
Bugfixer ist offline   Mit Zitat antworten
Alt 23-08-2006, 20:42   #5 (permalink)
Neuer User
 
Registriert seit: Nov 2002
Beiträge: 68
Ok, das hört sich gut an ... danke.

An welchen Stellen setze ich das ein? Wäre toll wenn dus mir verrätst, sonst muss ich stundenlang rumprobieren .. schankedön!

Gruss
quiri
quiri ist offline   Mit Zitat antworten
Alt 24-08-2006, 13:28   #6 (permalink)
lernwillig
 
Benutzerbild von Bugfixer
 
Registriert seit: May 2004
Ort: Berlin
Beiträge: 221
In deine onEnterFrame wenn dein bild fertig geladen wurde und du es anzeigen willst.

Allerdings ist es ein ziemlicher performancekiller, wenn deine onEnterFrame die ganze zeit im hintergrund abläuft. Deshalb in eine function packen und erst aufrufen, wenn du sie benötigst. Wenn dein file/bild vollständig geladen ist mit delete this.onEnterFrame; löschen.

Wie sowas richtig anwendest findest du hundertfach hier im forum.
Bugfixer 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 15:38 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele