mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 25.04.2024 22:08 Benutzername: Passwort: Auto-Login

Thema: Positionierung von mc in blidergalerie vom 04.06.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Multimedia -> Positionierung von mc in blidergalerie
Autor Nachricht
narsil
Threadersteller

Dabei seit: 04.06.2007
Ort: Bronschhofen
Alter: -
Geschlecht: Männlich
Verfasst Mo 04.06.2007 20:20
Titel

Positionierung von mc in blidergalerie

Antworten mit Zitat Zum Seitenanfang

hallo forummitglieder
echt ein cooles forum. hat mir schon öfters geholfen.
leider konnte ich für mein jetztiges problem, keinen thread finden, darum hab ich mich kurzerhand angemolden und
bin so frech euch zu fragen. doch dafür ist das forum doch da Lächel

bin an ner flash gallery am arbeiten, bei welcher die bilder (die per backend auf den server kommen) per xml-schnittstelle reingeladen werden.
damit das ganze ein bischen schöner aussieht hats zwei funktionen, fadeIn und fadeOut, welche die bilder ein und wieder ausblenden. das klappt alles super gut, nur ein problem krieg ich leider nicht hin. und zwar die positionierung der bilder auf der x-achse. sobald ich in der navigation vorwärts oder rückwärts drücke, springt das "aktive" bild an die position des bildes, das neu geladen wird und fadet nicht schön an ort und stelle aus.

die gallery findet ihr hier.


den code hier:

Code:

// Tween-Klasse importieren 
import mx.transitions.Tween; 
import mx.transitions.easing.*; 


function fadeOut (ladeziel, speed){
    _root.onEnterFrame = function(){
          
        if(bild._alpha > 1 ){
            bild._alpha-=speed;
        }else{ //fade in;
         delete _root.onEnterFrame;
            _root["bild"].loadMovie(ladeziel); 
            fadeIn(8);
                
        }
    }
}

function fadeIn (speed){
    _root.onEnterFrame = function(){
   
        if(bild._alpha < 99 ){
            bild._alpha+=speed;
                 bild._y = 20;
          bild._x = 865 - daten.childNodes[count].attributes.width; 

        }else{
            delete _root.onEnterFrame;
                 bild._y = 20;
          bild._x = 865 - daten.childNodes[count].attributes.width; 
        }
    }
}



//die flash-gallery   
var daten:XML = new XML();   
daten.ignoreWhite = true;   
daten.load("http://www.bjornopsahl.com/inc/i_gallery_fashion.php");   
//daten sind geladen   
daten.onLoad = function(toll) {   
    if (toll) {   
        trace(daten.childNodes.length);   
        //gibt 4 im output-fenster aus   
        trace(daten.childNodes[0].attributes.id);   
        //gibt die id des ersten bildes aus "1"   
        trace(daten.childNodes[0].attributes.path);   
        //gibt den zielpfad des ersten bildes aus "http://meinserver/bilder/bild1.jpg"   
        trace(daten.childNodes[0].attributes.width);
        // gibt breite aus
        trace(daten.childNodes[0].attributes.description);0
           // gibt bild beschreib aus

         
         var count = 0;   
   
      
        _root.createEmptyMovieClip("bild", 1, _root.getNextHighestDepth()); 
        _root["bild"].loadMovie(daten.childNodes[0].attributes.path);   
     
        bild._alpha = 0; // MC _alpha auf 10 
        bild._y = 20;
         bild._x = 865 - daten.childNodes[0].attributes.width; 


      
      
        fadeIn(16)
       

      
          _root.text_bild.html = true;
           text_bild.htmlText = daten.childNodes[0].attributes.description;
          mf = new TextFormat();
          mf.font = "Arial";
          mf.size = 10;
          mytext.setTextFormat(mf); 
         
         
      
        vor.onRelease = function() {   
            if (++count>=daten.childNodes.length) {   
                count = 0;   
            }   
             
                fadeOut(daten.childNodes[count].attributes.path, 16)
         bild._x = 865 - daten.childNodes[count].attributes.width; 
         
           
         _root.text_bild.html = true;
                text_bild.htmlText = daten.childNodes[count].attributes.description;
                mf = new TextFormat();
                mf.font = "Arial";
                mf.size = 10;
                mytext.setTextFormat(mf); 
            

        }; 
         
                 
        //   
        rueck.onRelease = function() {   
            if (--count<0) {   
                count = daten.childNodes.length;   
            }   
                         
   
         
                fadeOut(daten.childNodes[count].attributes.path, 16)
            //bild._x = 865 - daten.childNodes[count].attributes.width; 

              //  bild._y = 20;
              //bild._x = 865 - daten.childNodes[count-1].attributes.width; 
            
             
             _root.text_bild.html = true;
                text_bild.htmlText = daten.childNodes[count].attributes.description;
                mf = new TextFormat();
                mf.font = "Arial";
                mf.size = 10;
                mytext.setTextFormat(mf); 
      }
         

       
    } else {   
        trace("Fehler");   
    }   
}; 



wär echt super, wenn jemand mir helfen könnte. ich blicke einfach nicht mehr durch...

thanks
  View user's profile Private Nachricht senden
therapiekind

Dabei seit: 14.03.2006
Ort: In deinem Kopf
Alter: -
Geschlecht: -
Verfasst Di 05.06.2007 00:13
Titel

Antworten mit Zitat Zum Seitenanfang

Ich denke, der Fehler liegt hier:
Code:
fadeOut(daten.childNodes[count].attributes.path, 16);
bild._x = 865 - daten.childNodes[count].attributes.width;

fadeOut() wird aufgerufen, nimmt aber etwas Zeit in Anspruch, bis es durchgelaufen ist. Der ActionScript-Parser wird aber nicht warten, bis das passiert ist. Er ruft deine Funktion einfach auf, geht in die nächste Zeile und setzt den neuen _x-Wert für bild. Und zu dem Zeitpunkt ist fadeOut() noch gar nicht fertig.

Ich lege dir nahe, deinen Code etwas besser zu strukturieren bzw. zu modularisieren. Das schafft mehr Übersicht und der Code lässt sich leichter warten. Anfangen würde ich damit, nicht 90% deines Programms in einen XML.onLoad-Handler zu quetschen.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
The_A

Dabei seit: 05.12.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 05.06.2007 12:28
Titel

Antworten mit Zitat Zum Seitenanfang

therapiekind hat geschrieben:

Ich lege dir nahe, deinen Code etwas besser zu strukturieren bzw. zu modularisieren. Das schafft mehr Übersicht und der Code lässt sich leichter warten. Anfangen würde ich damit, nicht 90% deines Programms in einen XML.onLoad-Handler zu quetschen.


erstens das!!! und zweitens haben die Tweenklassen auch einen Handler für
Code:
TWEEN.onMotionFinished = function(){}

der könnte dir bei der zeitlichen abfolge auch helfen
  View user's profile Private Nachricht senden
narsil
Threadersteller

Dabei seit: 04.06.2007
Ort: Bronschhofen
Alter: -
Geschlecht: Männlich
Verfasst Di 05.06.2007 13:11
Titel

Antworten mit Zitat Zum Seitenanfang

danke für eure rückmeldungen, ich guck mir die sachen mal an!
  View user's profile Private Nachricht senden
narsil
Threadersteller

Dabei seit: 04.06.2007
Ort: Bronschhofen
Alter: -
Geschlecht: Männlich
Verfasst So 10.06.2007 22:06
Titel

Antworten mit Zitat Zum Seitenanfang

Hi,

hab mal nen teil des codes aus dem xml.onload rausgenommen. das faden funzt jetzt, jedoch die navigation mit den vorwärts/rückwärts-pfeilen nicht wirklich. seht am Besten selber hier

code update:

Code:
// Tween-Klasse importieren 
import mx.transitions.Tween; 
import mx.transitions.easing.*; 


function fadeOut (ladeziel, speed){
    _root.onEnterFrame = function(){
          
        if(bild._alpha > 1 ){
            bild._alpha-=speed;
        }else{ //fade in;
         delete _root.onEnterFrame;
            _root["bild"].loadMovie(ladeziel); 
            fadeIn(8);
                
        }
    }
}

function fadeIn (speed){
    _root.onEnterFrame = function(){
   
        if(bild._alpha < 99 ){
            bild._alpha+=speed;
                 bild._y = 20;
          bild._x = 865 - daten.childNodes[count].attributes.width; 

        }else{
            delete _root.onEnterFrame;
                 bild._y = 20;
          bild._x = 865 - daten.childNodes[count].attributes.width; 
        }
    }
}



//die flash-gallery   
var daten:XML = new XML();   
daten.ignoreWhite = true;   
daten.load("http://www.bjornopsahl.com/inc/i_gallery_fashion.php");   
//daten sind geladen   
daten.onLoad = function(toll) {   
    if (toll) {   
        trace(daten.childNodes.length);   
        //gibt 4 im output-fenster aus   
        trace(daten.childNodes[0].attributes.id);   
        //gibt die id des ersten bildes aus "1"   
        trace(daten.childNodes[0].attributes.path);   
        //gibt den zielpfad des ersten bildes aus "http://meinserver/bilder/bild1.jpg"   
        trace(daten.childNodes[0].attributes.width);
        // gibt breite aus
        trace(daten.childNodes[0].attributes.description);
           // gibt bild beschreib aus
      
      var count = 0;   
   
        _root.createEmptyMovieClip("bild", 1, _root.getNextHighestDepth()); 
        _root["bild"].loadMovie(daten.childNodes[count].attributes.path);   
           

        bild._alpha = 0; // MC _alpha auf 0
        bild._y = 20;
         bild._x = 865 - daten.childNodes[count].attributes.width; 
            
      
            
        fadeIn(16)
       
        _root.text_bild.html = true;
         text_bild.htmlText = daten.childNodes[count].attributes.description;
        mf = new TextFormat();
        mf.font = "Arial";
        mf.size = 10;
        mytext.setTextFormat(mf); 
         
      } else {   
        trace("Fehler");   
    }   
};         
               
      
        vor.onRelease = function() {   
            if (++count>=daten.childNodes.length) {   
                count = 0;   
            } 
           
         fadeOut(daten.childNodes[count].attributes.path, 16)
            
         daten.childNodes[count].attributes.path._x = 865 - daten.childNodes[count].attributes.width; 
         
         _root.text_bild.html = true;
            text_bild.htmlText = daten.childNodes[count].attributes.description;
            mf = new TextFormat();
            mf.font = "Arial";
            mf.size = 10;
            mytext.setTextFormat(mf); 
        }; 
         
                 
        //   
        rueck.onRelease = function() {   
            if (--count<0) {   
                count = daten.childNodes.length;   
            }   
         
                fadeOut(daten.childNodes[count].attributes.path, 16)
             
             _root.text_bild.html = true;
                text_bild.htmlText = daten.childNodes[count].attributes.description;
                mf = new TextFormat();
                mf.font = "Arial";
                mf.size = 10;
                mytext.setTextFormat(mf); 
      }
  View user's profile Private Nachricht senden
narsil
Threadersteller

Dabei seit: 04.06.2007
Ort: Bronschhofen
Alter: -
Geschlecht: Männlich
Verfasst Mi 04.07.2007 21:36
Titel

Antworten mit Zitat Zum Seitenanfang

hay

die navigation hab ich jetzt auch hingekriegt. leider ist das fadeIn bzw. fadeout erst richtig schön, wenn die bilder im cash sind.
wie könnt ich immer das nächste bild vorladen? etwa mit loadMovie?

hier das aktuelle script.

Code:


// FASHION KATEGORIE

// Tween-Klasse importieren 
import mx.transitions.Tween; 
import mx.transitions.easing.*; 


function fadeOut (ladeziel, speed){
    _root.onEnterFrame = function(){
          
        if(bild._alpha > 1 ){
            bild._alpha-=speed;
        }else{ //fade in;
         delete _root.onEnterFrame;
            _root["bild"].loadMovie(ladeziel); 
            fadeIn(32);
        }
    }
}

function fadeIn (speed){
    _root.onEnterFrame = function(){
   
        if(bild._alpha < 99 ){
            bild._alpha+=speed;
                 bild._y = 20;
          bild._x = 865 - daten.childNodes[count].attributes.width; 

        }else{
            delete _root.onEnterFrame;
                 bild._y = 20;
          bild._x = 865 - daten.childNodes[count].attributes.width; 
        }
    }
}



//die flash-gallery   
var daten = new XML();   
daten.ignoreWhite = true;   
daten.load("http://www.bjornopsahl.com/inc/i_gallery_fashion.php")   
//daten sind geladen   
   daten.onLoad = function() {   
      if (daten.loaded && daten.hasChildNodes) {   
            
            var count = 0;   
            
            _root.createEmptyMovieClip("bild", 1, _root.getNextHighestDepth()); 
            _root["bild"].loadMovie(daten.childNodes[0].attributes.path);   

            bild._alpha = 0; // MC _alpha auf 0
            bild._y = 20;
            bild._x = 865 - daten.childNodes[count].attributes.width; 
                  
            fadeIn(48)
            
               _root.text_bild.html = true;
            text_bild.htmlText = daten.childNodes[count].attributes.description;
            mf = new TextFormat();
            mf.font = "Arial";
            mf.size = 10;
            mf.color = "#666666";
            mytext.setTextFormat(mf);
                        
      } else {   
            trace("Fehler");   
      }   
   }
         
         var count = 0;
         vor.onRelease = function() {   
            
            if(++count>=daten.childNodes.length){   
               count = 0;   
            } 
            
            fadeOut(daten.childNodes[count].attributes.path, 48)
            daten.childNodes[count].attributes.path._x = 865 - daten.childNodes[count].attributes.width;
            
            _root.text_bild.html = true;
            text_bild.htmlText = daten.childNodes[count].attributes.description;
            mf = new TextFormat();
            mf.font = "Arial";
            mf.size = 10;
            mf.color = "#666666";
            mytext.setTextFormat(mf); 
         }
   
   
         rueck.onRelease = function() {   
            
            if (count--<1) {   
               count = daten.childNodes.length - 1;   
            }   
                     
            fadeOut(daten.childNodes[count].attributes.path, 48)
                
            _root.text_bild.html = true;
            text_bild.htmlText = daten.childNodes[count].attributes.description;
            mf = new TextFormat();
            mf.font = "Arial";
            mf.size = 10;
            mf.color = "#666666";
            mytext.setTextFormat(mf); 
         }

  View user's profile Private Nachricht senden
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Do 05.07.2007 08:55
Titel

Antworten mit Zitat Zum Seitenanfang

Jetzt erklär mir mal kurz, warum du für das Faden nicht einfach die Tweenklasse benutzt. Mit onEnterFrame das doch alles Rantz.


EDIT: Das seh ich jetzt erst. Du importierst die Tween-Klasse und die Easings, aber benutzt sie nirgends. Wozu ?


Zuletzt bearbeitet von phihochzwei am Do 05.07.2007 08:57, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Div Positionierung
CSS Positionierung ...
DIV Positionierung
IE8 und die Positionierung
css - div positionierung
[CSS] Positionierung
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Multimedia


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.