Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-09-2004, 12:50   #1 (permalink)
:)
 
Benutzerbild von skillz08
 
Registriert seit: Jan 2002
Beiträge: 273
Lightbulb wie kann ich mcs im array ansprechen?

also, ich hab eine klasse:

PHP-Code:
my_container = new function(value1,value2){
   
this.myvar1=value1;
   
this.myvar2=value2;
   for(
i=0;i<this.myvar2;i++){
      
// newDepth() is ne funktion von mir
      
this.createEmptyMovieClip("container"+i,newDepth());
      
this["container"+i].id i;
      
this["container"+i]._x=_root.x;
      
this["container"+i]._y=_root.y;
   }

geht nicht
aber:mit _root geht - WILL ICH ABER NICH
PHP-Code:
my_container = new function(value1,value2){;
   
this.myvar1=value1;
   
this.myvar2=value2;
   for(
i=0;i<this.myvar2;i++){
      
// newDepth() is ne funktion von mir
      
_root.createEmptyMovieClip("container"+i,newDepth());
      
_root["container"+i].id i;
      
_root["container"+i]._x=_root.x;
      
_root["container"+i]._y=_root.y;
   }

__________________
Scientia potestas est.

@home: .:: mac.blog ::.
@work: .::takomat::.

.:: coming up next ThiNk8lab ::.
skillz08 ist offline   Mit Zitat antworten
Alt 23-09-2004, 13:03   #2 (permalink)
Neuer User
 
Benutzerbild von :: RK ::
 
Registriert seit: Jan 2002
Ort: Umgebung Stuttgart
Beiträge: 5.412
hi,

des sagt doch alles aus.
"_root" bezieht sich immer auf die Hauptzeitleiste, es geht höchst wahrscheinlich
nicht mit "this" weil ["container"+i] nicht in dem jeweiligen MovieClip drin sind,
sondern in der Hauptzeitleiste liegen. "this" bezieht sich immer auf das jeweilige
Objekt, also immer auf die Zeitleiste in dem auch das AS liegt.


Lange Rede kurzer Sinn: falsche Pfadangabe.
__________________
Das Glück im Leben hängt von den guten Gedanken ab, die man hat.

Easing_Equations / Flash Kontaktformular / FlashPlugin W3C konform / Nützliche Beiträge zu FAQs
:: RK :: ist offline   Mit Zitat antworten
Alt 23-09-2004, 13:06   #3 (permalink)
freundlich ...
 
Benutzerbild von LoRMiddleCLass
 
Registriert seit: Aug 2002
Ort: Berlin
Beiträge: 588
mach mal trace(this) in deiner klassenfunction.
da müsste dann ( OBject Object) erscheinen.

du kannst in einem object keinen mc erstellen.
eher so:

this.mc = pfad.createEmptyMovieClip( .. );

*m
__________________
the universe wants you to win...
LoRMiddleCLass ist offline   Mit Zitat antworten
Alt 23-09-2004, 13:07   #4 (permalink)
freundlich ...
 
Benutzerbild von LoRMiddleCLass
 
Registriert seit: Aug 2002
Ort: Berlin
Beiträge: 588
hmm .. wie rk sagt.
__________________
the universe wants you to win...
LoRMiddleCLass ist offline   Mit Zitat antworten
Alt 23-09-2004, 13:07   #5 (permalink)
nky
Bontempi Punk
 
Benutzerbild von nky
 
Registriert seit: Dec 2001
Ort: Dtld/Pfalz
Beiträge: 4.185
hmm - so ? (pTimeline ist die Timeline - die musst beim aufruf mit übergeben)
ActionScript:
  1. my_container = function(value1,value2,pTimeline)
  2. {
  3.    this.myvar1=value1;
  4.    this.myvar2=value2;
  5.    for(i=0;i<this.myvar2;i++){
  6.       // newDepth() is ne funktion von mir
  7.       pTimeline.createEmptyMovieClip("container"+i,newDepth());
  8.       pTimeline["container"+i].id = i;
  9.       pTimeline["container"+i]._x=_root.x;
  10.       pTimeline["container"+i]._y=_root.y;
  11.    }
  12. }

Gruss nky
nky ist offline   Mit Zitat antworten
Alt 23-09-2004, 13:08   #6 (permalink)
nky
Bontempi Punk
 
Benutzerbild von nky
 
Registriert seit: Dec 2001
Ort: Dtld/Pfalz
Beiträge: 4.185
huch da waren die anderen aber schneller
nky ist offline   Mit Zitat antworten
Alt 23-09-2004, 13:13   #7 (permalink)
nky
Bontempi Punk
 
Benutzerbild von nky
 
Registriert seit: Dec 2001
Ort: Dtld/Pfalz
Beiträge: 4.185
wenn ich das auf _root schreibe
var myObj = new my_container(deinWert1, deinWert2)

dann sind die this in seiner funktion eine referenz auf _root

das hab ich so noch nie gesehen ! cool !

Gruss nky
nky ist offline   Mit Zitat antworten
Alt 23-09-2004, 13:29   #8 (permalink)
:)
 
Benutzerbild von skillz08
 
Registriert seit: Jan 2002
Beiträge: 273
also leute.
erstmal: fett danke.

habs jetzt soweit laufen.
ein mc sagt:
PHP-Code:
onClipEvent(load){
   
this.my_cont = new _global.com.takomat.projects.charclass(this,char_count,char_count,5);

PHP-Code:
_global.com.takomat.projects.charclass= function(pObj,count,colums,spacer){
     
_root.x=0;
     
_root.y=0;
     
this.anzahl count;
     
this.Name = new Array();
     
this.Url = new Array();
     
this.pic = new Array();
     for(
0i<=this.anzahl ;i++){
     
/*--------------------------------------------------------
      ZEILEN HÖHE EINSTELLEN
     --------------------------------------------------------*/
     
if(!= 0){_root.y+= 80;}
     for (
0c<columsc++){
          if (
i<=this.anzahl){
          
/*--------------------------------------------------------
          ARRAYS FÜLLEN
          --------------------------------------------------------*/
          
this.Name[i] = _level0.characters["char_"+i+"_name"];
          
this.Url[i] =_level0.characters["char_"+i+"_intro_video"];
          
this.pic[i] =_level0.characters["char_"+i+"_pic"];
          
           
/*--------------------------------------------------------
          CONTAINER ERSTELLEN
          --------------------------------------------------------*/
          
pObj.createEmptyMovieClip("container"+i,newDepth());
          
pObj["container"+i].id i;
          
pObj["container"+i]._x=_root.x;
          
pObj["container"+i]._y=_root.y;

          
/*--------------------------------------------------------
          BILD IN CONTAINER LADEN
          --------------------------------------------------------*/
          
pObj["container"+i].createEmptyMovieClip("pic",newDepth());
          
pObj["container"+i].pic.loadMovie("http://www.takomat.com/test/charamel/php/make_img.php?url="+this.pic[i]);
          
          
/*--------------------------------------------------------
          TEXT ERSTELLEN
          --------------------------------------------------------*/
          
pObj["container"+i].createTextField("txt",newDepth(),0,50,100,20);
          
pObj["container"+i].txt.font "Times New Roman";
          
pObj["container"+i].txt.size 12;
          
pObj["container"+i].txt.color 0x000000;
          
pObj["container"+i].txt.text=this.Name[i];
          
_root.+= pObj["container"+i]._width spacer;

          
/*--------------------------------------------------------
          BUTTON FUNKTION
          --------------------------------------------------------*/
          
pObj["container"+i].owner=this
          pObj
["container"+i].onRelease=function(){
               
this.txt =this.owner.Name[this.id];
               
_root.auswahl.text=this.txt;
          }
}
/*--------------------------------------------------------
i ERHÖHEN UND ZEILENUMBRUCH ERZWINGEN
 --------------------------------------------------------*/
i++;
if( 
== colums-1){
     
_root.y+=spacer;
     
_root.x=0;
     
i--;
}
}
}

ok, bilder kommen jetzt auch,
prob: text
das textfeld wird nichtmehr generiert
allerdings funtioniert der button (dh es liegt nicht daran, dass er den namen nicht hat)

__________________
Scientia potestas est.

@home: .:: mac.blog ::.
@work: .::takomat::.

.:: coming up next ThiNk8lab ::.
skillz08 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 15:09 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele