| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Feb 2009
Beiträge: 17
|
Hallo! Bin ein ziemlich neuer Flasher und habe ein Problem wobei ich hoffe es richtig schildern zu könnne. Ich zeichne ein Sprite so: var rahm:Sprite = new Sprite(); with (rahm.graphics){ lineStyle(3, 0xFFFFFF); moveTo(546,231); lineTo(546,323); lineTo(618.3,323); lineTo(618.3,231); lineTo(546,231); } und möchte es später bei einem MouseEvent anzeigen lassen. Klappt mit addChild auch gut. Es wird nach dem Event auch wieder removed. Das klappt auch. ABER: Nun will ich das gleiche Sprite an einer anderen Stelle bei einem anderen MouseEvent einfügen und habe die neue Position mit rahm.x=655; rahm.y=235; addChild(rahm); in die Event-Funktion geschrieben. Geht nicht. WARUM? |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.109
|
weil man einen kuchen nur einmal essen kann ;-) erstelle eine funktion, die kannst du immer wieder benützen und werte möglichst niemals fest in ein programm reinschreiben und viel in die flash-hilfe reinsehen - für rechtecke zeichnen gibts einen extra befehl und hier mal links unten auf BB-Code klicken Code: function fRect(x:int,y:int,b:int,h:int,dick:int,col:Number) {
var rahm:Sprite = new Sprite();
rahm.x=x;
rahm.y=y;
with (rahm.graphics) {
lineStyle(dick, col);
lineTo(0,b);
lineTo(h,b);
lineTo(h,0);
lineTo(0,0);
}
return rahm;
}
//
addChild(fRect(30,30,200,50,3,0xff0000));
addChild(fRect(70,60,200,50,3,0x00ff00));
__________________ die ultimative antwort auf alle programmierfragen: der debugger! - vor eine programmzeile klicken (==roter punkt) - im menü "debuggen" aufrufen - auf den grünen pfeil klicken - im swf etwas machen (der programmablauf hält beim roten punkt) - links die objekte auswählen, variable, interne... mal alles ansehen! mit dem debugger kann man sein programm schrittweisse abarbeiten und in alle variable reinsehen. mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Feb 2009
Beiträge: 17
|
Okay, danke für die erste Antwort. Da schließt sich grad eine Frage an: Die Funktion, die mir die Rechtecke zeichnet rufe ich aus einer anderen Funktion auf, die über ein MouseEvent gesteuert wird. Nun möchte ich das child, das die Funktion fRect auf die Bühne fügt ansprechen. Genauer gesagt möchte ich es in einer anderen Funktion wieder entfernen. Wie geht das??? |
| | |
| | #4 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.109
|
die referenz auf die objekte aufheben, dann kannst du die auch wo anders benützen. var r1:Sprite = fRect(30,30,200,50,3,0xff0009); var r2:Sprite = fRect(70,60,200,50,3,0x00ff00); addChild(r1); addChild(r2); wenn du die referenz nicht hast, dann musst du die mit z.b. getChildAt oder getChildByName geben lassen.
__________________ die ultimative antwort auf alle programmierfragen: der debugger! - vor eine programmzeile klicken (==roter punkt) - im menü "debuggen" aufrufen - auf den grünen pfeil klicken - im swf etwas machen (der programmablauf hält beim roten punkt) - links die objekte auswählen, variable, interne... mal alles ansehen! mit dem debugger kann man sein programm schrittweisse abarbeiten und in alle variable reinsehen. mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (11-02-2009 um 17:47 Uhr) |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| addchild, sprite |
| Themen-Optionen | |
| Ansicht | |
| |