Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-08-2005, 11:04   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Beiträge: 27
dynamische Textfelder, dynamische Zuweisung

Hallo zusammen,
ich möchte gern per AS ein paar Buttons erstellen und diesen dynamische Namen und Ebenen übergeben. Die übergebenen Inhalte sollen dann jeweils onRollOver in einem Textfeld wiedergegeben werden.

Folgendes funktioniert eigentlich super, nur leider klappt die dynamische Zuweisung der Textfelder an die zugehörigen Buttons nicht. Wäre super wenn mir da jemand helfen könnte - ist bestimmt nicht schwer, hab aber ne richtige Denkblockade grad glaube ich.

Die beiden Textfelder werden scheinbar schon erstellt, überlagern sich aber mit den gleichen Koordinaten.

Hier das Script:

ActionScript:
  1. drawRetangle("001",10,"INHALT1"); //Bezeichnung,Ebene,Inhalt
  2.  
  3. drawRetangle("002",11,"INHALT2");
  4.  
  5.  
  6. function drawRetangle(k,m,inh){
  7.  
  8. //Position der Buttons per Zufall generieren
  9.  
  10.             _global.xpos;
  11.             _global.ypos;
  12.            
  13.             _global.xpos = Math.round(Math.random()*200);
  14.             if(_global.xpos<10){
  15.                 _global.xpos = Math.round(Math.random()*200);
  16.             }
  17.            
  18.             _global.ypos = Math.round(Math.random()*100);
  19.             if(_global.ypos<10){
  20.                 _global.ypos = Math.round(Math.random()*100);
  21.             }   
  22.  
  23. //Button zeichnen
  24.  
  25.             _root.createEmptyMovieClip("btn"+k,m);
  26.             _root["btn"+k].beginFill(0x404040,100);
  27.             _root["btn"+k].lineTo(0,0);
  28.             _root["btn"+k].lineTo(50,0);
  29.             _root["btn"+k].lineTo(50,10);
  30.             _root["btn"+k].lineTo(0,10);
  31.             _root["btn"+k].endFill();
  32.            
  33.             _root["btn"+k]._x = _global.xpos;
  34.             _root["btn"+k]._y = _global.xpos;
  35.            
  36. //Textfeld erstellen
  37.  
  38.         _root.createTextField(["feld"+k], 0, 0, 0, 200, 300);
  39.         this["feld"+k].multiline = true;
  40.         this["feld"+k].selectable = false;
  41.         this["feld"+k].type = "dynamic";
  42.         this["feld"+k].wordWrap = true;
  43.         this["feld"+k].border = false;
  44.         this["feld"+k].background=true;
  45.         this["feld"+k].backgroundColor=0xFF3333;
  46.         this["feld"+k]._visible=false;
  47.  
  48.         feldform = new TextFormat();
  49.         feldform.bold = false;
  50.         feldform.size = 9;
  51.         feldform.font = "Verdana";
  52.         feldform.Color = 0x4E1CAC;
  53.  
  54.         this["feld"+k].text= inh;
  55.         this["feld"+k].setTextFormat(feldform);
  56.  
  57. //Übergabe der Position
  58.  
  59.         _root.onMouseMove = function(){
  60.    
  61.         if(this["btn"+k].hitTest(_root._xmouse,_root._ymouse)){
  62.                 this["feld"+k]._x=_xmouse;
  63.                 this["feld"+k]._y=_ymouse;
  64.                
  65.                 }
  66.         }
  67.  
  68.  
  69. //Aktionen für die Buttons
  70.  
  71.         this["btn"+k].onRollOver = function() {
  72.                     _root["feld"+k]._visible = true;
  73.                     rllvrclr = new Color(["btn"+k]);
  74.                     rllvrclr.setRGB(0xD6F10E);
  75.             }
  76.            
  77.         this["btn"+k].onRollOut = function() {
  78.                     _root["feld"+k]._visible = false;
  79.                     nrllt = new Color(["btn"+k]);
  80.                     nrllt.setRGB(0x404040);
  81.             }
  82.            
  83.         this["btn"+k].onPress = function() {
  84.                 this.startDrag();
  85.             }
  86.            
  87.         this["btn"+k].onRelease = function() {
  88.                 this.stopDrag();
  89.             }      
  90.  
  91. }
cheetah ist offline   Mit Zitat antworten
Alt 19-08-2005, 11:34   #2 (permalink)
Nix Wisser
 
Benutzerbild von nullidee
 
Registriert seit: May 2003
Ort: Würzburg, Kleinstadt
Beiträge: 3.510
jetzt nur mal überflogen

Code:
 
_root.createTextField(["feld"+k], 0, 0, 0, 200, 300);
wird doch immer auf tiefe 0 erstellt

Code:
 
_root.createTextField(["feld"+k], m+100, 0, 0, 100, 100);
__________________
nullidee

Abakus GT 10² Kugeln - 80"Leinwand - CARAN D´ACHE SUPRACOLOR®
nullidee ist offline   Mit Zitat antworten
Alt 19-08-2005, 11:43   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Beiträge: 27
Die Tiefe ist auch weniger die Problematik als die dynamische Zuweisung. Es soll ja mit dem Aufruf drawRetangle() oben jeweils ein Rechteck gezeichnet werden, dass dann bei onRollOver mit den übergebenen Inhalten ein Textfeld darstellen bzw. mit einem verknüpft werden soll. In meinem Beispiel werden beide Textfelder mit eben nur einem Button verknüpft...

Geändert von cheetah (19-08-2005 um 11:46 Uhr)
cheetah ist offline   Mit Zitat antworten
Alt 19-08-2005, 11:50   #4 (permalink)
Nix Wisser
 
Benutzerbild von nullidee
 
Registriert seit: May 2003
Ort: Würzburg, Kleinstadt
Beiträge: 3.510
ja hast du denn schon ausprobiert?

da werden wenigstens beide Textfelder angezeigt,
zu den Buttonaktionen sag ich jetzt mal nix....
__________________
nullidee

Abakus GT 10² Kugeln - 80"Leinwand - CARAN D´ACHE SUPRACOLOR®
nullidee ist offline   Mit Zitat antworten
Alt 19-08-2005, 12:09   #5 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Beiträge: 27
Japp. Funktioniert. Danke dir. Sitz einfach schon zu lange davor scheinbar... Hast du jetzt noch ne Idee wie ich den anderen Button genauso mit dem Textfeld verknüpfe? Das muss doch irgendwie an dieser onMouseMove-Sache liegen oder? Ich werd wahnsinnig
cheetah ist offline   Mit Zitat antworten
Alt 19-08-2005, 12:20   #6 (permalink)
Nix Wisser
 
Benutzerbild von nullidee
 
Registriert seit: May 2003
Ort: Würzburg, Kleinstadt
Beiträge: 3.510
ist jetzt nicht so toll, aber ich habe keine Lust das ganze umzuschreiben.

Code:
 drawRetangle("001",110,"INHALT1"); //Bezeichnung,Ebene,Inhalt 

drawRetangle("002",111,"INHALT2");


function drawRetangle(k,m,inh){
		
		//Position der Buttons per Zufall generieren
		
		_global.xpos;
		_global.ypos;
		
		_global.xpos = Math.round(Math.random()*200);
		if(_global.xpos<10){
				_global.xpos = Math.round(Math.random()*200);
		}
		
		_global.ypos = Math.round(Math.random()*100);
		if(_global.ypos<10){
				_global.ypos = Math.round(Math.random()*100);
		}
		
		//Button zeichnen
		
		_root.createEmptyMovieClip("btn"+k,m);
		_root["btn"+k].beginFill(0x404040,100);
		_root["btn"+k].lineTo(0,0);
		_root["btn"+k].lineTo(50,0);
		_root["btn"+k].lineTo(50,10);
		_root["btn"+k].lineTo(0,10);
		_root["btn"+k].endFill();
		
		_root["btn"+k]._x = _global.xpos;
		_root["btn"+k]._y = _global.xpos;
		
		//Textfeld erstellen
		
		_root.createTextField(["feld"+k], m-50, 0, 0, 200, 300);
		this["feld"+k].multiline = true;
		this["feld"+k].selectable = false;
		this["feld"+k].type = "dynamic";
		this["feld"+k].wordWrap = true;
		this["feld"+k].border = false;
		this["feld"+k].background=true;
		this["feld"+k].backgroundColor=0xFF3333;
		this["feld"+k]._visible=false;
		
		feldform = new TextFormat();
		feldform.bold = false;
		feldform.size = 9;
		feldform.font = "Verdana";
		feldform.Color = 0x4E1CAC;
		
		this["feld"+k].text= inh;
		this["feld"+k].setTextFormat(feldform);
		
		//Übergabe der Position
		
	 /*   _root.onMouseMove = function(){
				
				if(this["btn"+k].hitTest(_root._xmouse,_root._ymouse)){
						this["feld"+k]._x=_xmouse;
						this["feld"+k]._y=_ymouse;
						
				}
		}*/
		
		
		//Aktionen für die Buttons
		
		this["btn"+k].onRollOver = function() {
   
	this._parent["feld"+k]._x = this._x+this._width;
	this._parent["feld"+k]._y = this._y;
	
				_root["feld"+k]._visible = true;
				rllvrclr = new Color(["btn"+k]);
				rllvrclr.setRGB(0xD6F10E);
		}
		
		this["btn"+k].onRollOut = function() {
				_root["feld"+k]._visible = false;
				nrllt = new Color(["btn"+k]);
				nrllt.setRGB(0x404040);
		}
		
		this["btn"+k].onPress = function() {
				this.startDrag();
	this.onEnterFrame = function(){
	this._parent["feld"+k]._x = this._x+this._width;
	this._parent["feld"+k]._y = this._y;
	}
		}
		
		this["btn"+k].onRelease = function() {
				this.stopDrag();
	delete this.onEnterFrame;
		}
		
}
__________________
nullidee

Abakus GT 10² Kugeln - 80"Leinwand - CARAN D´ACHE SUPRACOLOR®
nullidee ist offline   Mit Zitat antworten
Alt 19-08-2005, 12:32   #7 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Beiträge: 27
Das ist sehr nett. Ich danke. Genau das was ich gesucht habe...
cheetah ist offline   Mit Zitat antworten
Alt 19-08-2005, 12:38   #8 (permalink)
Nix Wisser
 
Benutzerbild von nullidee
 
Registriert seit: May 2003
Ort: Würzburg, Kleinstadt
Beiträge: 3.510
gern geschehen und herzlich willkommen hier
__________________
nullidee

Abakus GT 10² Kugeln - 80"Leinwand - CARAN D´ACHE SUPRACOLOR®
nullidee 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 05:20 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele