Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash 4 und Flash 5

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-05-2002, 21:39   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Beiträge: 38
ist das wohl elegant?

Immerhin, nach langem Probieren ist eine Loesung gefunden, aber da ich auch lernen will GUT zu programmieren, meine Frage an euch, ob es nicht elegantere Lösungen gibt:
Das Problem war: Es gibt mehrere mcs, die per drag and drop zu ihren jeweiligen Zielen transportiert werden koennen. Wenn alle am richtigen Platz sind, soll eine Meldung rausgegeben werden. Die Frage war also: wie ermittele ich den Moment, wenn alle an ihrem Platz sind?

Meine Loesung: ich initialisiere im ersten Frame eine Variable und zaehle die Variable _root.allesrichtig innerhalb eines jeden stopDrag Befehls, der innerhalb der mcs auf einer unsichtbaren Schaltflaeche liegt, mit ++ hoch. Dafuer habe ich aber die Hauptzeitleiste auf der alles liegt von einem Frame auf drei erhoehen muessen. D.h. der Film laeuft immer zwischen dem zweiten und dem dritten Frame hin und her und ueberprueft innerhalb: ifFrameLoaded (2), ob allesrichtig inzwischen den gewuenschten Wert hat.
Gibts wohl bessere Lösungen oder macht man das so?

Gruesse
lotta ist offline   Mit Zitat antworten
Alt 09-05-2002, 04:45   #2 (permalink)
(dr. hob. gyn.)
 
Benutzerbild von rotze
 
Registriert seit: Feb 2002
Ort: braunschweig
Beiträge: 1.112
dafür kannst du einen conreoller-MC einsetzen dann musst du nicht mehr zwischen 2 frames springen
ActionScript:
  1. onClipEvent(enterFrame) {
  2. if(_root.allesrichtig){
  3. keineahnungwasdannpassierensoll ....
  4. }
  5. }
ich nehm für sowas meistens einen eigenen mc, dann seh ich auf anhien wo script drin is ... den code kannst du baer uach einfach in EINS deiner drag-objekte setzen ...
__________________
um die zusammengefasste zusammenfassung zusammenzufassen: menschen sind ein problem.
rotze ist offline   Mit Zitat antworten
Alt 09-05-2002, 19:02   #3 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Beiträge: 38
Hm, ich weiss nicht, ob ich es richtig verstanden habe, aber ich habe versucht es so umzusetzen: Ueber die ganze Arbeitsflaeche habe ich ein unsichtbares mc gezogen und deinen vorgeschlagenen Code im zweiten Frame aufs mc gelegt. Im Frame selber musste ich ein stop() einfuegen, da im ersten Frame die Variable 'allesrichtig' initialisiert wird, denn sonst würde sie ja immer wieder auf den Anfangswert zurückgesetzt und nicht hochgezaehlt, wie gewuenscht. So gehts aber leider nicht. Nicht mal, wenn ich wieder zwischen dem zweiten und dritten Frame hinundherspringe.
Ich denke mein Problem ist, dass ich noch nicht richtig verstehe, ob ein Ereignis wie
onClipEvent (enterFrame) {} nur einmal oder permanent aufgerufen wird und wann genau es auftritt (obwohl der Name ja eindeutige Hinweise gibt). Oder was die Unterschiede bei der Verwendung von ifFrameloaded() + onClipEvent (enterFrame) ist. Ich werde versuchen das mal nachzulesen.
lotta ist offline   Mit Zitat antworten
Alt 09-05-2002, 19:18   #4 (permalink)
(dr. hob. gyn.)
 
Benutzerbild von rotze
 
Registriert seit: Feb 2002
Ort: braunschweig
Beiträge: 1.112
on(enterFrame) ... wird 'ständig ausgeführt
on(load) ... wird nur einmal ausgeführt wenn der mc geladen ist (damit kann man vars intitialisieren)

dann gibts noch on(Mousemove) und so was ... (schau mal nach was das kontextmenu dir da anbietet)

mit einem controller-mc der on(enterFrame) hat kannst auf das hin-und herspringen zwioschen 2 bildern verzichten das ist ja das gute daran .... ach so und den controller kannst irgendwo hinziehen der muss net sichtbar sein ... nur irgendwo liegen ....

oder:

in den controller:
onClipEvent(load) {
_visible=false;
}

dann siehst den controller net aber 's script wird ausgeführt ...
__________________
um die zusammengefasste zusammenfassung zusammenzufassen: menschen sind ein problem.
rotze 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 17:40 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele