Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-02-2004, 21:39   #1 (permalink)
409coffeemaker
Gast
 
Beiträge: n/a
Variable mit i-Zähler verbinden und _global setzen

Hi,

hab grad 'n Brett vorm Kopf da ich den ganzen Tag schon Scripte in PHP…

ActionScript:
  1. this.onEnterFrame
  2.     {
  3.     var loader = new LoadVars()
  4.     loader.load("colours.php");
  5.     loader.onLoad = function(success)
  6.         {
  7.         if(success)
  8.             {
  9.             for (i=0; i<this.palette; i++)
  10.                 {
  11.                 _global.colour.colour_ = this.colour_;
  12.                 }
  13.             }
  14.         }
  15.         }

Ich möchte einfach nur das i hinter _global.colour.colour_ = this.colour_; (zb _global.colour.colour_3 = this.colour_3
und kriegs irgendwie nicht konkatiniert. Hüüüüülfeeeee

Kann mal eben jemand bitte

Hehe… peinlich ich weiß…

Yves

Geändert von 409coffeemaker (19-02-2004 um 21:41 Uhr)
  Mit Zitat antworten
Alt 19-02-2004, 21:52   #2 (permalink)
________________
 
Benutzerbild von Katze
 
Registriert seit: May 2002
Ort: Braunschweig
Beiträge: 441
jetzt mal ganz doof geantwortet, also ich habe keine ahnung, ob du das meinst... aber deiner sinnigen beschreibung da unten, würde ich jetzt sowas entnehmen - keine garantie, ich scripte auch schon den ganzen tag ist wahrscheinlich genauso ne dumme antwort...
ActionScript:
  1. this.onEnterFrame
  2. {
  3.         var loader = new LoadVars()
  4.         loader.load("colours.php");
  5.         loader.onLoad = function(success)
  6.         {
  7.                 if(success)
  8.                 {
  9.                         for (i=0; i<this.palette; i++)
  10.                         {
  11.                                 _global.colour.colour_+i = this.colour_+i;
  12.                         }
  13.                 }
  14.         }
  15. }

mfg Katze
__________________
Etwas nicht zu können, ist kein Grund es nicht zu tun!

STUDIO B12 Blog
Katze ist offline   Mit Zitat antworten
Alt 19-02-2004, 21:56   #3 (permalink)
409coffeemaker
Gast
 
Beiträge: n/a
ja dachte ich auch… aber vielleicht was mit eval() ?

hehe, weil so kommt:

Scene=Scene 1, Layer=colordefinitions, Frame=1: Line 11: Left side of assignment operator must be variable or property.
_global.colour.colour_+i = this.colour_+i;


Hoffentlich sieht uns keiner zu

Yves
  Mit Zitat antworten
Alt 19-02-2004, 22:03   #4 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Wieso packst die onLoad-Geschichte denn auch noch in einen enterFrame? Da wird ja dann 31mal (oder je nach Framerate) pro Sekunde ein LoadVars-Objekt instanziert und die load-Aktion gestartet...

Übrigens:
ActionScript:
  1. _global.colour["colour_" + i] = this["colour_" + i]
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 19-02-2004, 22:12   #5 (permalink)
409coffeemaker
Gast
 
Beiträge: n/a
Hi, danke

Tatsächlich? Ich dachte immer, das würde nur einmal, nämlich onEnterFrame geschehen, wenn der Film danach weiterläuft.

Yves
  Mit Zitat antworten
Alt 19-02-2004, 22:14   #6 (permalink)
________________
 
Benutzerbild von Katze
 
Registriert seit: May 2002
Ort: Braunschweig
Beiträge: 441
Was mir jetzt noch so dazu einfällt, ist, dass man doch eigentlich nicht variablennamen doppelt vergeben sollte, oder?!?
Ich meine Du hast dann ja global ein colour_3 und in this ein colour_3?!?

dumdidum, ich sollte bald mal ins bett gehen...

mfg Katze
__________________
Etwas nicht zu können, ist kein Grund es nicht zu tun!

STUDIO B12 Blog
Katze ist offline   Mit Zitat antworten
Alt 19-02-2004, 22:28   #7 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
@409: Der enterFrame is unnötig bis fehl am Platze hier, weil wenn das auf _root liegt, hört der ja nie auf... Brauchst keine zusätzliche Verpackung für den onLoad.

@katze: die Variablen sind ja hier in unterschiedlichen Objekten deklariert. Da kannst theoretisch 100e von Variablen mit dem selben Namen haben, solang sie in unterschiedlichen Objekten leben (altes OOP-Prinzip: Eine Kiste weiß nix vom Inhalt einer anderen Kiste... )
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 19-02-2004, 22:37   #8 (permalink)
409coffeemaker
Gast
 
Beiträge: n/a
Hi,

trotzdem komme ich irgendwie nicht klar…

So sieht die PHP Datei aus:

PHP-Code:
<?php
require_once('config.inc.php');
$db_tab='colours';
$i='0';
$read=mysql_query("select rgb_hexcode_8bit from $db_tab order by id",$handler);
    while(
$a=mysql_fetch_array($read))
        {
        
$result.='&colour_'.$i.'='.$a['rgb_hexcode_8bit'];
        
$i++;
        }
$result.='&palette='.$i;
echo 
$result;
?>

So ihre Ausgabe:

&colour_0=2F3800&colour_1=000000&colour_2=FA9900&c olour_3=535E47&colour_4=8F8078&colour_5=E5E6DA&col our_6=A30000&colour_7=FFABD4&colour_8=000000&colou r_9=CFF573&colour_10=7DFF8F&colour_11=3B69DB&colou r_12=A32900&colour_13=FFF2A1&colour_14=000000&colo ur_15=A30000&colour_16=FFABD4&colour_17=000000&col our_18=A30000&colour_19=FFABD4&colour_20=000000&pa lette=21

Und so nun das AS

ActionScript:
  1. var loader = new LoadVars()
  2. loader.load("colours.php");
  3. loader.onLoad = function(success)
  4.     {
  5.     if(success)
  6.         {
  7.         for (i=0; i<this.palette; i++)
  8.             {
  9.             _global["colour_" + i] = this["colour_" + i]
  10.             }
  11.         }
  12.     }
  13. _root.test.text = _global.colour_1;

Normalerweise sollte ja in _root.test 000000 erscheinen.

Ohman, ich mach Feierabend.

Danke schonmal.

Yves
  Mit Zitat antworten
Alt 19-02-2004, 23:27   #9 (permalink)
Neuer User
 
Registriert seit: Feb 2004
Beiträge: 66
Zitat:
Geschrieben von 409coffeemaker
Normalerweise sollte ja in _root.test 000000 erscheinen.
Aber nur wenn _global.colour_1 auch wirklich befüllt ist, wenn Du an der Textzuweisung vorbeikommst, oder?

Schreib es so

ActionScript:
  1. var loader = new LoadVars()
  2. loader.onLoad = function(success)
  3. {
  4.         if(success)
  5.         {
  6.                 for (i=0; i<this.palette; i++)
  7.                 {
  8.                         _global["colour_" + i] = this["colour_" + i]
  9.                 }
  10.                 _root.test.text = _global.colour_1;
  11.         }
  12. }
  13. loader.load("colours.php");

Viele Grüße,

kriegerpoet
kriegerpoet ist offline   Mit Zitat antworten
Alt 19-02-2004, 23:59   #10 (permalink)
409coffeemaker
Gast
 
Beiträge: n/a
Stimmt. Jetzt geht es auch. Ich glaube es liegt echt an der Uhrzeit. Bei den loadVars Objekten dich ich mit sendAndLoad(); benutze mache ich es ja auch so hab ich gesehen…

Vielen Dank für eure Antworten. Noch 2 Jahre Routine und dann kann man es auch nicht mehr auf die Uhrzeit schieben :P

Best Wishes

Yves
  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 09:18 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele