Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28-06-2004, 15:14   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 17
For Schleifen vereinen

Guten Abend

Ich möchte dynamisch erzeugten Drag MC's das Ziel kontrollieren. Das Ziel wurde ebenfalls dynamisch erstellt. Drag and drop funktioniert .
Sind die MC's positioniert, möchte ich eine Abfrage starten (mit einer function) ob diese am richtigen Ort sind.

ActionScript:
  1. //anzahl = anzahl Row von tabelle
  2. for (i=0; i<anzahl; i++) {
  3.     _root.attachMovie("dragButton", "d_ant"+i,i, { _x: 250, _y: ypos})
  4.         _root["d_ant"+i].d_antwo.text = this["antwort"+i];
  5.         _root["d_ant"+i].d_antwo.ziel = this["korrekt"+i]; // gebe das richtige Ziel als Varible mit
  6.     _root["d_ant"+i].onPress = function() {
  7.         this.swapDepths(150);
  8.         if (this["imZiel"+i] != true) {
  9.         startDrag(this);
  10.         }
  11.     }
  12.     _root["d_ant"+i].onRelease = function() {
  13.     if  ( this.hitTest(this["zield"+i]) == true ){
  14.         this.useHandCursor = false;
  15.         }
  16.         stopDrag();
  17.         }
  18. dragcounter +=1 // anzahl der Dragfelder zählen
  19. }
  20. d = 10
  21. // auswertung der Ziele   
  22. // das ziel_array2 enthält die Ziele welche der Var ziele ausgelesen und doppelte einträge gestrichen wurden
  23. for(var i=0; i<ziel_array2.length ; i++) {
  24.     _root.attachMovie("dropButton", "zield"+i,++d, { _x: 550, _y: ypos1})
  25.     _root["zield"+i].d_antwo.border = true
  26.     _root["zield"+i].d_antwo.text = ziel_array2[+i];
  27. dropcounter += 1// ziel anzahl zählen
  28. }

So erhalte ich die werte welche ich zum kontrollieren Brauche
Versuchte es mit arrays zu lösen.
finde gein guter lösungsansatz.

ActionScript:
  1. drag = new Array()
  2. drop = new Array()
  3. for (k=0; k<dragcounter; k++)   {
  4.     drag.push(_root["d_ant"+k].d_antwo.ziel)
  5.     }
  6. for (t=0; t<dropcounter; t++){
  7.     drop.push(_root["zield"+t].d_antwo.text)
  8.     }
Meine Idee eine forschleife die dragcounter und dropcounter auslesenkann
Lösungsansatz:
ActionScript:
  1. for (k=0; k<dragcounter; k++) and (t=0; t<dropcounter; t++) {
  2.     if (_root["d_ant"+k].d_antwo.ziel == _root["zield"+t].d_antwo.text) {
  3.         trace(alles richtig positioniert)
  4.         }
  5. }

Wie kann man dies am besten lösen?
gruss

pakiwo
pakiwo ist offline   Mit Zitat antworten
Alt 28-06-2004, 16:09   #2 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Beiträge: 296
hi,

sind die werte, dragcounter und dropcounter gleich?
und hat jedes objekt eine bestimmte zielposition?
oder können object 1 auch auf pos 2 und object 2 auf pos 1 abgelegt werden.
Gruß Serge

falls die anzahl gleich ist und jedes dragobject nur ein ziel hat, würde ich es etwas vereinfachen
PHP-Code:
richtig=1;
for (
k=0k<dragcounterk++) { 
if (
_root["d_ant"+k].d_antwo.ziel != _root["zield"+k].d_antwo.text) { 
richtig=0;
break;
     }
}
if(
richtig==1){
trace("Alles richtig");
}else{
trace("ist was falsch")


Geändert von Serge (28-06-2004 um 16:14 Uhr)
Serge ist offline   Mit Zitat antworten
Alt 28-06-2004, 19:04   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 17
hallo

die Werte dragcounter und dropcounter sind unterschiedlich. 1 Objekt hat nur ein bestimmtes Ziel, vobei ein Ziel mehrere Objekte beinhalten kann.

ZB:
objekt1 -> ziel 1
objekt2 -> ziel 2
objekt3 -> ziel 1
objakt4 -> ziel 3

dies macht es leider nicht so einfach.

gruss

pakiwo
pakiwo ist offline   Mit Zitat antworten
Alt 28-06-2004, 21:02   #4 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Beiträge: 296
ok mal ein anderer ansatzpunkt.
soweit ich es verstanden habe gibt es viel weniger zeile als objekte.
und da du ja irgendwo definieren mußt was wohin gehört,
würde icdh es in etwo so machen
PHP-Code:
//ziel->objekt zuweisung würde ich auch mir nem array lösen
ziel_objekt_ar=(1,2,1,4,1,3,4,1);
for (
i=0i<anzahli++) { 
    
_root.attachMovie("dragButton""d_ant"+i,i, { _x250_yypos}) 
    
_root["d_ant"+i].d_antwo.text this["antwort"+i]; 
    
_root["d_ant"+i].d_antwo.ziel this["korrekt"+i]; 
    
_root["d_ant"+i].d_objekt=ziel_ziel_objekt_ar[i];
.
.
.

somit haben wir jetzt schon mal die araywerte den einzelnen dragobjekten zugewiesen.
und jetzt die Variable, die dem Dragobjekt seine Position nachdem Droppen mitteilt, weiß net genau wie dein code aussieht.
ist also nur ein bsp. Button liegt in dem dragable mc namens _root["d_ant"+i]
PHP-Code:
on(release){
if(
hitTest(ziel_1)){
  
this.ziel=1;
  
stopDrag();
}else if(
hitTest(ziel_2)){
  
this.ziel=2;
  
stopDrag();
}
//usw.
}

//Endauswertung

for (k=0k<dragcounterk++) { 
if (
_root["d_ant"+k].d_objekt != _root["d_ant"+k].ziel) { 
   
richtig=0
   break; 
     } 
}
if(
richtig==1){ 
trace("Alles richtig"); 
}else{ 
trace("ist was falsch"

ist jetzt natürlich alles ungetestet, sollte aber funktionieren
Serge ist offline   Mit Zitat antworten
Alt 28-06-2004, 22:34   #5 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 17
Vielen Dank für deine Mühe

Es können unterschiedliche Ziele definiert werden, wenn eine neu Reihe aus der DB gelesen wird. Die Zieldefinition wird wieder mit _root["d_ant"+i].d_antwo.ziel = this["korrekt"+i]; mitgegeben.

mir ist ein Rätsel wie dies mit dem Array ziel_objekt_ar=(1,2,1,4,1,3,4,1); geschehen soll. Da ich die Zielobjekte im ziel_array2 definiert habe und auch angezeigt werden.

beispiel unter http://www.pakiwo.ch/~patrick/inhalt/ueben.swf frage 3 hat mit drag wnd drop zu tun
das ganze fla file kann unter http://www.pakiwo.ch/~patrick/flash-files/frag-g.fla eingesehen werden.

Was bewirkt der Wert d_objekt in einem MC mit einem Textfeld?
mein Dragbutton ist ein mc mit einem leeren textfeld
_root["d_ant"+i].d_objekt=ziel_ziel_objekt_ar[i];

vielen herzlichen dank für dein Hilfe
pakiwo
pakiwo 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 04:17 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele