Anleitung | dynamische Scrollpane aus Actionscript/PHP & MySQL

Dieses Thema im Forum "Flash and Actionscript" wurde erstellt von sevY, 16.07.2004.

  1. sevY

    sevY Thread Starter Gast

    Hi zusammen,

    hier möchte ich anhand des Beispiels eines simplen Bookingkalenders für zb. Bands zeigen, wie man mehrere Datensätze mit PHP als Bridge aus MySQL ausliest und in Flash dann eine Scrollpane instanziert und mit diesen Inhalten füllt.

    Außerdem ist ein simples Admintool zur Verwaltung der Dbase mitinbegriffen, sowie die mittlerweile schon obligatorische Flashdetection.

    Die Verwendung der function.inc.php zum Escapen des Variablenseparators '&' in Actionscript, sowie die Funktion und Arbeitsweise der Flashdetection ist hier erklärt. Falls ihr noch keine Erfahrungen mit PHP, MySQL und Actionscript in diesem Zusammenhang habt, sollte ihr auch erst jenes Tutorial durcharbeiten.

    Beginnen wir hier dann direkt mit der Query.php

    PHP:
    <?php
    require_once('config.inc.php');
    require_once(
    'function.inc.php');
    $i=0;
    $read=mysql_query("Select date,event,location from $db_tab order by date desc",$handler);
    while(
    $a=mysql_fetch_array($read))
        {
        
    $result.='&date_'.$i.'='.charReplace::replace(utf8_encode($a['date']));
        
    $result.='&event_'.$i.'='.charReplace::replace(utf8_encode($a['event']));
        
    $result.='&location_'.$i.'='.charReplace::replace(utf8_encode($a['location']));
        
    $i++;
        }
    $result.='&repeats='.$i;
    echo 
    $result;
    ?>
    Der Unterschied zum vorherigen Tutorial ist, das wir hier 3 Variablen definieren, welche pro Datensatz durchgezählt werden.

    Diese Werte werden in folgendem Actionscript weiterverarbeitet.

    PHP:
    //Actionscript 1.0
    MovieClip.prototype.loader=function()
        {
      
        var 
    scrollpane=_root.attachMovie('FScrollPaneSymbol','scrollpane',1);
        
    scrollpane._x=0;
        
    scrollpane._y=0;
        
    scrollpane.width=500;
        
    scrollpane.height=200;
      
        var 
    loader=new LoadVars();
        
    loader.object=this;
        
    loader.load('query.php');
        
    loader.onLoad=function()
            {
          
          
            var 
    base_x=10;
            var 
    base_y=0;
            var 
    container=createEmptyMovieClip('container',2);
            for(var 
    i=0;i<=this.repeats;i++)
                {          
                var 
    element=container.attachMovie('element','event'+i,i);
                
    element.date=this['date_'+i];      
                
    element.event=this['event_'+i];
                
    element.location=this['location_'+i];
                
    element._y=base_y+(i*50);
                }
              
            
    scrollpane.setScrollContent(container);
            
    scrollpane.setVScroll=false;
            
    scrollpane.setHScroll=auto;
            
    container._x=base_x;

            
    delete this.object['loader'];
            };
        };
    loader();
    this.stop();
    Das Interessante für alle, die bisher wenig mit Flash gearbeitet haben ist, das die Bühne vollkommen leer ist und alles per Script erstellt wird.


    Zuerst wird die Scrollpane aus der Library auf der Bühne instanziert und in Bezug auf Größe und Platzierung definiert.

    Anschließend liest nun das loadVars Objekt mittels der Query.php die Datensätze aus MySQL aus.

    Dabei werden die Datensätze synchron ebenfalls mittels i-Zähler durchnumeriert. Das ganze geschieht in einer for-Schleife, dessen Terminierungswert wir von PHP übermittelt bekommen.

    Es wird also ein leerer MovieClip dynamisch erstellt, in den wir dann pro Datensatz einen MovieClip einfügen.

    Dieser MovieClip besitzt 3 Komponentendefinitionen als Eigenschaften vom Datentyp String. Diese 3 Eigenschaften werden in der for-Schleife mit den Werten aus PHP definiert, damit die in diesem MovieClip enthaltenen, dynamischen Textfelder ihren Inhalt zugewiesen bekommen können.

    Die Position der einzelnen DatensatzMovieClips wird mittels des i-Zählers und der Multiplikation dessen mit dem gewünschten Abstand definiert.


    Anschließend setzen wir den Container, der die Elemente enthält, als ScrollContent der zuvor instanzierten Scrollpane und definieren die Komponentenparameter bzw. Eigenschaften dieser bezüglich des horizontalen und vertikalen Scrollverhaltens.

    Ist das geschehen, richten wir den Container in der Scrollpane nocheinmal aus, indem wir den Abstand zur linken Aussenseite relativ um 10px vergrößern.

    Das war's.

    Das mitingebriffene Admintool und dessen Funktionen brauche ich hier nicht näher zu erklären, da es den Rahmen des Flashforums sprengen würde.

    Delmar wird euch jedoch gerne in seinem Forum dazu weitere Fragen beantworten.

    Viel Spaß damit.


    Liebe Grüße

    Yves
     
    Zuletzt von einem Moderator bearbeitet: 02.10.2016
Die Seite wird geladen...
Ähnliche Themen - Anleitung dynamische Scrollpane
  1. schnupfen
    Antworten:
    0
    Aufrufe:
    577

Diese Seite empfehlen