Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-09-2005, 15:55   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 10
Buttons dynamisch erstellen

Hi,
ich will einen Array von den Buttons, wo man bei den Eigenschaften zwischen "Grafik", "Schaltfläche" und "Movieclip" wählen kann, dynamisch erstellen.
Ich gehe davon aus, dass das die Button-Klasse ist, richtig?! Der Array ist auch kein Problem, ist ja eine einfache Schleife, die das vollfüllt. Fragt sich nur, was ich alles machen muss, bis der Button erscheint. Bis jetzt bin ich soweit:
_root.Btn = new Button();
_root.Btn._x=10;
_root.Btn._y=10;
_root.Btn._width=100;
_root.Btn._height=100;
_root.Btn._focusrect = true;
_root.Btn._visible;

Fragt sich jetzt nur, wie ich die Schaltfläche aus der Bibliothek "assignen" kann, und den Button entgültig anzeigen..

Kann mir dabei jemand Tipps o.ä. geben?

Danke,
AK-Palme
AK-Palme ist offline   Mit Zitat antworten
Alt 01-09-2005, 16:10   #2 (permalink)
action scribbler
 
Benutzerbild von jackalone
 
Registriert seit: Jun 2005
Beiträge: 67
du musst deinem Button einen Inhalt zuordnen, z.B. per Drawing-API ein rechteck! dann solltest du ihn sehen!

z.B.
ActionScript:
  1. _root.btn=new Button();
  2. with(_root.btn){
  3.     beginFill(0x6699CC,100);
  4.     lineTo(50,0);
  5.     lineTo(50,50);
  6.     lineTo(0,50);
  7.     lineTo(0,0);
  8.     endFill();
  9. }
jackalone ist offline   Mit Zitat antworten
Alt 01-09-2005, 16:16   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 10
Danke für die rasche Antwort. Nu wird er auch angezeigt
ein problem noch und eine Frage:
Warum Funktioniert das so nicht mit dem Ereignis?
Code:
_root.btn= new Button();
with (_root.btn){
        beginFill(0x6699CC,100);
        lineTo(50,0);
        lineTo(50,50);
        lineTo(0,50);
        lineTo(0,0);
        endFill();
	onRelease = function(){ trace("mööp"); }
}
Und wie bekomme ich eine Grafik aus der Bibliothek in den Button kopiert oder instanziert?
AK-Palme ist offline   Mit Zitat antworten
Alt 01-09-2005, 16:18   #4 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Zitat:
Zitat von AK-Palme
Und wie bekomme ich eine Grafik aus der Bibliothek in den Button kopiert oder instanziert?
Nimm lieber einen mc als Button, dann kannste auch Grafiken in den mc laden...
Und somit kannste auch keinen Button erstellen!
Man kann ja auch nicht mit
PHP-Code:
var mc = new MovieClip(); 
nen mc erstellen sondern so...
PHP-Code:
var mc this.createEmptyMovieClip("m"0); 
__________________
ERROR: Signature is too large

Geändert von rendner[i] (01-09-2005 um 16:21 Uhr)
rendner[i] ist offline   Mit Zitat antworten
Alt 01-09-2005, 16:23   #5 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 10
kannst du mir dazu ein beispiel geben?
oder eine funktion als stichwort?
kann ich dann das bild auch beliebig per script färben (is nur einfarbig)?
AK-Palme ist offline   Mit Zitat antworten
Alt 01-09-2005, 16:26   #6 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Tipp suche nutzen!
Mann kann soweit ich weis gar keine Buttons dynamisch erstellen, nur aus der Bibliothek auf die Bühne laden.
Ja das kann man dann auch einfärben:
PHP-Code:
_root.createEmptyMovieClip"mc");
with_root.mc ){
        
beginFill(0x6699CC,100);
        
lineTo(50,0);
        
lineTo(50,50);
        
lineTo(0,50);
        
lineTo(0,0);
        
endFill();
}

// umfaerben...
var mcColor = new Color_root.mc );
mcColor.setRGB0x558813 ); 
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 01-09-2005, 16:29   #7 (permalink)
action scribbler
 
Benutzerbild von jackalone
 
Registriert seit: Jun 2005
Beiträge: 67
aaahhh da schleicht bei mir auch kurz der aha Effekt vorbei... ich arbeite eben nur mit Movieclips...
jackalone ist offline   Mit Zitat antworten
Alt 01-09-2005, 16:31   #8 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hi!
Man muss ja auch keinen "Button" erstellen. Aber den MC als solchen zu nutzen geht natürlich...
ActionScript:
  1. _root.createEmptyMovieClip("mc", 0);
  2. with (_root.mc) {
  3.     beginFill(0x6699CC, 100);
  4.     lineTo(50, 0);
  5.     lineTo(50, 50);
  6.     lineTo(0, 50);
  7.     lineTo(0, 0);
  8.     endFill();
  9. }
  10. // umfaerben...
  11. mc.onRelease = function() {
  12.     var mcColor = new Color(this).setRGB(0x558813);
  13. };
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 01-09-2005, 16:33   #9 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 10
Zitat:
Zitat von rendner[i]
Mann kann soweit ich weis gar keine Buttons dynamisch erstellen, nur aus der Bibliothek auf die Bühne laden.
dynamisch auf die bühne laden? wenn ja: wie?
Zitat:
Zitat von rendner[i]
Ja das kann man dann auch einfärben:
PHP-Code:
_root.createEmptyMovieClip"mc");
with_root.mc ){
        
beginFill(0x6699CC,100);
        
lineTo(50,0);
        
lineTo(50,50);
        
lineTo(0,50);
        
lineTo(0,0);
        
endFill();

wie gebe ich bei _root.createEmptyMovieClip( "mc", 0 ); denn an, dass der Clip ein ArrayElement sein soll? einfach statt mc _root.mcarray[0] eingeben?
Zitat:
Zitat von rendner[i]
PHP-Code:
// umfaerben...
var mcColor = new Color_root.mc );
mcColor.setRGB0x558813 ); 
ich glaube du verstehst mich falsch.. ich habe hier eine grafik (einfarbig) und die will ich komplett umfärben
AK-Palme ist offline   Mit Zitat antworten
Alt 01-09-2005, 16:38   #10 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Wenn du ne einfarbige Grafik hast packste die in einen mc und den kansst du dann damit komplett umfärben.

MovieClips und Buttons kann mann mit dem Befehl "attachMovie()" auf die Bühne packen.
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 01-09-2005, 16:44   #11 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 10
So, das ist mein Code bis jetzt:
Code:
_root.createEmptyMovieClip("HHCity", 0);
_root.HHCity.attachMovie("Hamburg", "HHCity", 0);
var HHColor = new Color(_root.HHCity);
HHColor.setRGB(0xFF0000);
_root.HHCity.onRelease = function (param){
	trace("HHCity");
}
Ist das noch optimierbar, bzw irgendwas grob unschönes drin?
AK-Palme ist offline   Mit Zitat antworten
Alt 01-09-2005, 16:57   #12 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Nein, ausser du brauchst den Parameter param nicht...
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 01-09-2005, 17:16   #13 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 10
kannst du dir mal angucken, wie man das so lösen könnte, dass mehr als ein Button erzeugt wird? Ich hab wohl Probleme mit createEmptyMovieClip...
Code:
_root.Countries = new Array(50);
for(i = 0; i < _root.Countries.length; i++){
	createEmptyMovieClip("Country", 0);
	Country.attachMovie("Hamburg", "Country", 0);
	Country._y= 1*(i+1);
	Country._x=100;
	trace(Country._y);
	var CountryColor = new Color(Country);
	
	Country.onRelease = function (){
		trace(this._y);
	}
	_root.Countries[i] = Country;
}
AK-Palme ist offline   Mit Zitat antworten
Alt 01-09-2005, 17:48   #14 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
PHP-Code:
_root.Countries = new Array(50);
for( var 
0_root.Countries.lengthi++){
    
// man kann nicht mehrere mc's mit den gleichen Namen 
    // in einem mc erstellen, da Flash sonst nicht weis 
    // welcher gemeint ist...und du sicher auch nicht :)
    
var mc _root.createEmptyMovieClip"Country" i);
    
mc.attachMovie("Hamburg""Country"0, { _x100_y* ( ) } );
    
mc.CountryColor = new Color_root.Country );
    
mc.onRelease = function (){
        
tracethis._y );
    }
    
    
_root.Countries[i] = mc;
    
tracemc._y );

__________________
ERROR: Signature is too large
rendner[i] 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 22:33 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele