Webdesign in Siegen

attach befehl

Fragen zum Thema Flash können hier gestellt werden

attach befehl

Beitragvon Hackle am 02.09.2006, 11:10

hi
find ich ja cool das es inzwischen ein flashforum gibt

hier mein problem
ich versuche zur zeit grad ein spiel mit flash zu machen, da soll man so kleine kugeln die von oben runterfallen auffangen
die kugeln sollen natürlich nicht immer gleich fallen... drum hab ich das so aus nem tutorial rauskopiert^^

onClipEvent(enterFrame){
anzahl=Math.round(Math.random()*30);
if(anzahl==1){
zaehler++;
_root.attachMovie("kugel","kugel"+zaehler, zaehler);
setProperty("_root.kugel"+zaehler,_x, Math.random()*500);
setProperty("_root.kugel"+zaehler,_rotation, Math.random()*360);
}
}

funktioniert soweit auch, nur das problem ist das immer nur eine kugel fällt, und wenn die nächste auftaucht verschwindet die erste wieder
so wie ich das kapiert habe hängt das irgendwie mit der 3. angabe in dem attacht befehl zusammen...
aber irgendwie raff ichs nicht
wie funktioniert denn dieser attachbefehl genau???

thx schonmal
Willst du dir den Tag versauen,
musst du in den Spiegel schauen.
Hackle
Mitglied
 
Beiträge: 62
Registriert: 20.09.2005
Wohnort: Lindau

Beitragvon Dac-XP am 02.09.2006, 12:10

Hi!

Ist relativ einfach dein Problem!
Du hast vergessen, dass die Variable "zaehler"

zaehler++;


Zu diesem zeitpunkt nie existiert. Also wird sie neu erstellt, mit einem Standardwert versehen und um eins inkrementiert. Also hast du immer den gleichen Wert.

Was dagegen hilft, ist eine globale Variable vorher zu erstellen. Dazu klickst du einfach mal neben deine Leinwand und gehst in den Actionscripteditor. Da definierst du dann noch deine globale Variable und fertig ist die Kiste ^^

Code: Alles auswählen
_global.zaehler=0
Benutzeravatar
Dac-XP
Mitglied
 
Beiträge: 1907
Registriert: 23.06.2005
Wohnort: Mönchengladbach / NRW

Beitragvon Hackle am 02.09.2006, 12:23

hey, super sache
funktioniert einwandfrei
dankschön :D
Willst du dir den Tag versauen,
musst du in den Spiegel schauen.
Hackle
Mitglied
 
Beiträge: 62
Registriert: 20.09.2005
Wohnort: Lindau

Beitragvon Hackle am 02.09.2006, 14:03

also jetzt hab irgendwie nochmal das gleiche problem
ich wollte zu den roten noch blaue kugeln hinzufügen
irgendwie verschwinden sie jetzt aber wieder
das sieht jetzt so aus:
Code: Alles auswählen
onClipEvent(enterFrame){
   anzahl_rot=Math.round(Math.random()*10);
   if(anzahl_rot==1){
      zaehler_rot++;
      _root.attachMovie("kugel_rot","kugel_rot"+zaehler_rot, zaehler_rot);
      setProperty("_root.kugel_rot"+zaehler_rot,_x, Math.random()*500);
   }
      anzahl_blau=Math.round(Math.random()*10);
   if(anzahl_blau==1){
      zaehler_blau++;
      _root.attachMovie("kugel_blau","kugel_blau"+zaehler_blau, zaehler_blau);
      setProperty("_root.kugel_blau"+zaehler_blau,_x, Math.random()*500);
   }
}

und die variablen hab ich auch definiert
Code: Alles auswählen
_global.zaehler_rot=0;
_global.zaehler_blau=0;

und dann verschwinden die kugeln wieder.... was kann ich tun?

lg
hackle
Willst du dir den Tag versauen,
musst du in den Spiegel schauen.
Hackle
Mitglied
 
Beiträge: 62
Registriert: 20.09.2005
Wohnort: Lindau

Beitragvon Dac-XP am 02.09.2006, 14:15

Auch wieder ganz einfach, aber verwirrend (da gebe ich dir Recht).
Und zwar legst du mit dem dritten Parameter in attachMovie(); eine Z-Variable fest - sprich die Tiefe des Movieclips.

Wenn du aber zwei unabhängige Variablen hast, die jeweils ihre eigene Tiefe haben, und auch gleich werden können, kann es vorkommen, dass zwei MCs auf der gleichen Z-Ebene landen und es dadurch zu Problemen kommt.

Lösung: benutze nur eine Zählerwariable für beide Routinen.

Code: Alles auswählen
_global.zaehler = 0

Code: Alles auswählen
onClipEvent(enterFrame){
   anzahl_rot=Math.round(Math.random()*10);
   if(anzahl_rot==1){
      zaehler_rot++;
      _root.attachMovie("kugel_rot","kugel_rot"+zaehler, zaehler);
      setProperty("_root.kugel_rot"+zaehler,_x, Math.random()*500);
   }
      anzahl_blau=Math.round(Math.random()*10);
   if(anzahl_blau==1){
      zaehler_blau++;
      _root.attachMovie("kugel_blau","kugel_blau"+zaehler, zaehler);
      setProperty("_root.kugel_blau"+zaehle,_x, Math.random()*500);
   }
}


Hoffe, dir geholfen zu haben ;)
Benutzeravatar
Dac-XP
Mitglied
 
Beiträge: 1907
Registriert: 23.06.2005
Wohnort: Mönchengladbach / NRW

Beitragvon Hackle am 02.09.2006, 17:54

junge du machst mich glücklich :wink:

funktioniert einwandfrei
merci
Willst du dir den Tag versauen,
musst du in den Spiegel schauen.
Hackle
Mitglied
 
Beiträge: 62
Registriert: 20.09.2005
Wohnort: Lindau

Beitragvon Dac-XP am 02.09.2006, 18:12

Hackle hat geschrieben:junge du machst mich glücklich :wink:


*g* Gern geschehen
Benutzeravatar
Dac-XP
Mitglied
 
Beiträge: 1907
Registriert: 23.06.2005
Wohnort: Mönchengladbach / NRW


Zurück zu Flash

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast