1&1 DSL
Flashhilfe.de - Flash Community

variablen einen MC übergeben [Flash 10]

Forum > ActionScript 3.0 > variablen einen MC übergeben

 


AntwortenRegistrieren Seite1  

 17.01.2010, 17:04 
Beiträge: 6
Registriert: Dec 2009

variablen einen MC übergeben
Hallo erstma

Ich hab ein Liniendiagramm erstellt, welches in einem MC geschrieben ist und dieser wiederum auf meiner Bühne liegt. Der Code, um die Daten aus php zu holen, ist auf der Bühne geschrieben. Nun schaffe ich es leider nicht, die Daten dem MC zu übergeben. Die variable, in welcher die Daten sind, wurde außerhalb einer funktion deklariert, weshalb die doch als global gelten sollte, aber wieso funktioniert es nicht?
 20.01.2010, 14:48Re1
Beiträge: 568
Registriert: May 2007

also mit deiner erklärung versteht man zwar das problem aber ich bräuchte trotzdem teile vom code um dir weiterhelfen zukönnen.
Bitte keine pn´s wegen irgendwelchen fragen zu Threads, dafür gibt es sie ja schließich
 20.01.2010, 16:53Re2
Beiträge: 6
Registriert: Dec 2009

Themenautor/in

danke das du dich damit befassen möchtest
edit:ich hab die fla noch dran gehängt zur verdeutlichung, aber da ist noch ne menge Mist drinnen, welcher in den unteren code schon gelöscht ist

hier ist der code von meiner Bühne, welche die Daten aus einer php datei lesen soll
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var request:URLRequest=new URLRequest("dateiname.php");
request.method=URLRequestMethod.POST;
var loader:URLLoader=new URLLoader();
loader.load(request);
//loader.dataFormat=URLLoaderDataFormat.VARIABLES;
var dgp:String; //hier wird dgp als globale var definiert

loader.addEventListener(Event.COMPLETE, completeHandler);

function completeHandler(event:Event):void {
   var res:String = String(loader.data);
   var variables:URLVariables=new URLVariables(res);
      
   dgp = variables.daten;
   //trace(dgp);
   loader.close();
}


und an diesen graphen übergeben soll (also die var dgp) welcher als MC auf meiner Bühne liegt
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
var myParent:MovieClip = parent as MovieClip;
var gp:Array = root.dgp.split(","); hier sollte dgp empfangen werden

//var d1:Array=new Array(100,100,200,300,300,350,400,0); zum testen
//var gp:Array=new Array(100,250,200,150,300,300,400,50); zum testen


this.graphics.lineStyle(2,0x00FF00,100);
this.graphics.moveTo(0, 400);

var posx:Number=0;
var posy:Number=400;
var a:Number=0;
var i:Number=1;
var j:Number=((gp[a+1]-(400-posy))/(gp[a]-posx))*-1;

var timer:Timer=new Timer(20,gp[a]-posx);//---neu-startpos.

function go():void {
   timer.addEventListener(TimerEvent.TIMER, drawDia);
   timer.start();
}

function drawDia(e:TimerEvent):void {
   this.graphics.lineTo(posx+i,posy+j);
   i+=1;
   j+=((gp[a+1]-(400-posy))/(gp[a]-posx))*-1;//y-wert berechnung
   if (this.timer.currentCount==this.timer.repeatCount) {
      this.timer.reset();
      posx=gp[a];
      posy=(400-gp[a+1]);//y=400-wert
      //a+=2;
      this.timer.repeatCount=gp[a+2]-gp[a];//---neu-alt
      //this.timer.removeEventListener(TimerEvent.TIMER, drawDia); //---sinn?
      a+=2;
      i=0;
      j=0;
      if (gp[a]!=null) {
         this.go();
      } else {//prüfe erst ob im 2ten Array was drinnen ist usw.
         gp=d1;//neue koordinaten, löschen geht mit delete var oder var = null
         this.graphics.lineStyle(2,0x0000FF,100);
         this.graphics.moveTo(0, 400);

         posx=0;
         posy=400;
         a=0;
         i=1;
         j=((gp[a+1]-(400-posy))/(gp[a]-posx))*-1;

         this.timer.repeatCount=gp[a]-posx;//---neu-startpos.
         this.go();
      }
   }
}

this.go();


Angehängte Dateien:
Adobe Flash Quelldatei linechart.fla68.00 KB
Geändert von com1 am 20.01.10 um 16:57 Uhr

 
nicht sichtbar bei eingeloggten Mitgliedern1&1 Webhosting
 20.01.2010, 17:07Re3
Beiträge: 568
Registriert: May 2007

sonst probier doch einfach mal ne function beim movieclip zu machen womit du das ganze bekommst z.b.

ActionScript:
1
2
3
4
5
6
7
8
9
10
//im mc
var gp:Array = gpString.split(",");
var gpString:String;
function getgpString(passedIn:String){
      gpString = passedIn;
}

// auf der Bühne

mc.getgpString(dgp);
Bitte keine pn´s wegen irgendwelchen fragen zu Threads, dafür gibt es sie ja schließich
 20.01.2010, 17:56Re4
Beiträge: 6
Registriert: Dec 2009

Themenautor/in

ich bekomme nun die Fehlermeldung:
1061: Call to a possibly undefined method getgpString through a reference with static type Class.

ich hab den MC extra nochma umbenannt und es nochmal getestet, aber selber Fehler...
hmm ich denke ich bin noch zu sehr ein noob, um das hinzubekommen :'(

der ansatz von dir scheint aber richtig zu sein
Geändert von com1 am 20.01.10 um 17:57 Uhr

 20.01.2010, 18:16Re5
Beiträge: 6
Registriert: Dec 2009

Themenautor/in

omg doofheit tut so weh also könnt ihr euch vorstellen was für Kopfschmerzen ich gerade hattte :D

ich hatte den MC keinen Instanznamen gegeben sondern... naja reden wir besser nicht drüber. Ist mir zu peinlich :P

Vielen Dank für deine Hilfe
du hast mich echt viel weiter gebracht *daumenhoch*
 
nicht sichtbar bei eingeloggten Mitgliedern
 20.01.2010, 21:23Re6
Beiträge: 568
Registriert: May 2007

kein problem kannst das thema dann ja ald geklärt abhacken
Bitte keine pn´s wegen irgendwelchen fragen zu Threads, dafür gibt es sie ja schließich
 
Themen
Ähnliche Beiträge zum Thema
 

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.
Partner Webseiten: DesignerInAction.de   Designnation.de   Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   PSD-Tutorials.de   Tutorials.de

Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2012 Sebastian Wichmann - Flashhilfe.de