Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-05-2005, 01:20   #1 (permalink)
- wortlos -
 
Registriert seit: Sep 2004
Ort: Nrw
Beiträge: 134
AS1 zu AS2 problem vermutlich

Hallo zusammen

Ich habe hier aus dem Forum nen kleines Script gefunden gehabt, und wollte es umschreiben. Allerdings wurde es für AS1 geschrieben und ich benutz nur 2

hier erstmal das ganze Script

PHP-Code:
MovieClip.prototype.loader=function() 
    { 
     
    var 
scroll=_root.attachMovie('ScrollPane','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(); 
Wenn ich das script starte lastet der Player aus und er fragt ob ich das Script beenden möchte.
Auskommentierungen haben mich dazu gebracht anzunehmen dass in diesem Abschnitt das Problem liegt.

PHP-Code:
        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); 
            } 
Element als attach aus der Komponenten Bib sagt mir nichts.. liegt's daran?
Bin um jegliche Vorschläge dankbar.

Nero
__________________
black and white isn't grey.
SirNero ist offline   Mit Zitat antworten
Alt 21-05-2005, 10:51   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Welchen Wert hat denn bspw. "repeats" als Schleifenmaximum?

Außerdem solltest du das Scrollpane-Script an die neuen Komponenten anpassen oder arbeitest du mit F7 und den alten F6-Komponenten?
  Mit Zitat antworten
Alt 21-05-2005, 20:08   #3 (permalink)
- wortlos -
 
Registriert seit: Sep 2004
Ort: Nrw
Beiträge: 134
Hallo Holger

Repeats ist in dem Test 3 gewesenweil es 3 Datensätze in der Datenbank sind. Gibt die Php auch ordnungsgemäß aus bei nem echo.

Das Panescript hatte ich bereits so geändert dass die größenskalierung mit setSize gemacht wird (du erinnerst dich evtl an meinen post diesbezüglich =).

Weiter weiß ich nicht :/ Soll das element das attacht wird ein textfield sein?

Gruß

Nero
__________________
black and white isn't grey.
SirNero ist offline   Mit Zitat antworten
Alt 21-05-2005, 21:27   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Scheint tatsächlich irgendetwas mit dem ScrollContent-MC zu tun zu haben. Schieb mal testhalber einen leeren MC in die Bibliothek, gib ihm einen Verknüpfungsbezeichner und setz ihn als ScrollContent ein. Dann versuch mal, einen MC drin zu erzeugen.
  Mit Zitat antworten
Alt 22-05-2005, 07:01   #5 (permalink)
- wortlos -
 
Registriert seit: Sep 2004
Ort: Nrw
Beiträge: 134
Morgen Holger!

Also ich hab mich mit dem Problem nochmal befasst und es komplett neu geschrieben aus Testzwecken. Es scheint ein Problem mit der Schleife zu sein zumal nun alles per AS erzeugt wird.

Erstaml der QT:
PHP-Code:
_root.createEmptyMovieClip("conti"2);
conti._x 50;
conti._y 50;
conti.setSize(100450);
_global.dbausgabe = function()
{
    var 
0;
    var 
inhaltgb = new LoadVars();
    
inhaltgb.load('ausgabe.php');
    
inhaltgb.onLoad = function()
    {
        while(
x<=inhaltgb.repeats)   //<--------------
        
{
            
_root.conti.createTextField(['ausgabe'+x], x50x*5010050);
            
_root.conti['ausgabe'+x].html true;
            
_root.conti['ausgabe'+x].htmlText inhaltgb['date_'+x];
            
x++;
        }
    }
}

_global.dbausgabe();
stop(); 
Das Ergebnis ist jetzt immerhin schon, dass er die 2 einträge für date_0 und date_1 aus der Datenbank korrekt auflistet, aber dann nicht abbricht und mit undefinied ins unendliche geht und den Player auslastet.

Hier mal die SQL echo ausgabe:

PHP-Code:
&date_0=date2

&event_0=event2

&location_0=location2

&date_1=date1

&event_1=event1

&location_1=location1

&repeats=
Ob For oder While, macht kein Unterschied :/ und angesichts der 2 die er für repeats ausgibt (auch in Flash ausgegeben getestet er gibt 2 zurück) sehr merkwürdig.

Vielleicht fällt dir ja noch was ein, danke schonmal für die Mühe.

Nero
__________________
black and white isn't grey.
SirNero ist offline   Mit Zitat antworten
Alt 22-05-2005, 14:32   #6 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Versuchs mal mit der Methode sendAndLoad statt nur load in der LoadVars-Klasse. Dann lies zuerst "repeats" ein und konvertier die Variable sicherheitshalber mit Number in eine Zahl.

Dann würde ich die Variablen über Kommas getrennt vom PHP-File holen und dann in einem "Rutsch" einlesen und mit einem String.split trennen.
  Mit Zitat antworten
Alt 22-05-2005, 19:13   #7 (permalink)
- wortlos -
 
Registriert seit: Sep 2004
Ort: Nrw
Beiträge: 134
Hallo Holger

Da mir Number immer nur ein NAN ausgeben wollte- und ich der Verzweiflung nahe war hab ich hier mal rumgesucht und eine funktionierende Alternative gefunden. Weshalb die Funktioniert oder nicht Number... wüßt ich zwar gern.. aber man kann nciht alles haben : D

hier nochmal die Funktionierende Version für alle die zufällig per Suche drauf stoßen:

PHP-Code:
_root.createEmptyMovieClip("conti"2);
conti._x 50;
conti._y 50;
conti.setSize(100450);

_global.dbausgabe = function()
{
    var 
inhaltnav:LoadVars = new LoadVars();
    
inhaltnav.sendAndLoad('ausgabe.php',inhaltnav,"POST");
    
inhaltnav.onLoad = function()
    {
        
xx parseInt(inhaltnav.repeats);
        
//_root.createTextField("test",5,500,500,100,100); 
        //_root.test.text=xx;
        
        
for(var 0;x<xx;x++)
        {
            
_root.conti.createEmptyMovieClip(['link'+x],x);
            
_root.conti['link'+x]._x=50;
            
_root.conti['link'+x]._y=50*x;
            
_root.conti['link'+x].createTextField(['ausgabe'+x],x,0,0,100,20);
            
_root.conti['link'+x]['ausgabe'+x].html true;
            
_root.conti['link'+x]['ausgabe'+x].htmlText inhaltnav['date_'+x];    
            
        } 
//ende for
        
    
//ende onload
    
//ende func

_global.dbausgabe();
stop(); 
Wissen muss man nur, dass repeats von der php gezählte datensätze sind und date_+x in der db die spalte date ist die als date_0 date_1 usw durchnummerirt werden. Eine beispielausgabe der PHP steht ja schon oben.

Vielen dank Holger

nun kann ich mich ja mit dem leidigen Thema widmen den Buttons die on-Funktion dynamisch zu vergeben

Gruß

Nero
__________________
black and white isn't grey.
SirNero 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 13:20 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele