Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-08-2004, 07:27   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 1.244
aus Array position zuweisen

hi,

ich erstelle beim Start der swf über push ein Array, wo die x und y Werte von
8 Button eingetragen werden. Die Button sind kreisförmig angeordnet. Nach anklicken
eines Button drehen sich alle in eine Richtung bis der angeklickte oben ist.

In etwa so : http://harego.de/download/dateien/kr...ellen_neu.html

Leider stoppen die nicht immer an der exakten stelle.

nun wollte ich das Positions-Array dafür nutzen.

Mein Prob ist nun , wie ich das Array den neuen MC-Positionen zuordne. ?



Zb :
ar_pos : 30,60,90,120,150,180........
MC 1 , 2, 3, 4, 5, 6 usw
Wenn ich jetzt auf Button 5 klicke , dreht sich dieser nach oben auf Array-position 1; MC 6 auf 2 usw
Nach dem drehen :
ar_pos : 30,60,90,120,150,180........
MC : 5,6,7,8,1,2,3,4

Wie kann ich den MC nun sagen wo ihre neue Position ist?

Hat jemand eine Idee ?
__________________
Mfg aus Brandenburg.

harego

Spiel

Zur Page
harego ist offline   Mit Zitat antworten
Alt 24-08-2004, 07:57   #2 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
dazu wäre ein kennen der 'dreh'-funktion schon wichtig
warrantmaster ist offline   Mit Zitat antworten
Alt 24-08-2004, 08:08   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 1.244
PHP-Code:
for (1<= mengei++) {
    
attachMovie ("test""test" ii);
    
this["test" i].but_txt.text button_text[1];
    
this["test" i]._x Math.round (Math.sin (Math.PI 180 winkel x) * durchmesser posx);
    
this["test" i]._y Math.round (Math.cos (Math.PI 180 winkel x) * durchmesser posy);
    
winkel += abstand;
    
pos_x_ar.push (this["test" i]._x);
    
pos_y_ar.push (this["test" i]._y);

In den beiden Arrays sind die Bezugs-positionen gespeichert.

Nach dem Drehen sollen sich die 8 MC daran ausrichten.
Mit den ersten ist es ja kein Porb, da er immer den Index NULL im Araay hat.
Aber halt die anderen. ??
MC 5 ist Oben und hat Index 0 im Array .
MC 6 hat dann Index 1.
MC 7 hat dann Index 2.
MC 8 hat dann Index 3.

Und nun kommt der Sprung:

MC 1 hat dann Index 4.

Den Sprung nach MC 1 meine ich !
__________________
Mfg aus Brandenburg.

harego

Spiel

Zur Page
harego ist offline   Mit Zitat antworten
Alt 24-08-2004, 08:11   #4 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
Wofuer denn ein Positionsarray?

Kannst du sie nicht einfach gleichmaessig auf dem Kreis verteilen?

Dann koenntest du einfach mit sin / cos ihre Position zu einem Winkel ausrechnen.

hier ein Ansatz:
ActionScript:
  1. btns = [btn0, btn1, btn2, btn3, btn4, btn5];
  2.  
  3. radius = 100;
  4.  
  5. winkel = new Array();
  6.  
  7. var i;
  8. l = btns.length;
  9. for(i=0; i<l; i++)
  10. {
  11. btns[i].num = i;
  12. btns[i].winkel = 360 / l * i;
  13. }
  14.  
  15. function doRotateTo(num)
  16. {
  17. var winkel = - num * 360 / l;
  18. var i;
  19. var btn;
  20. for(i=0; i<l; i++)
  21. {
  22. btn = btns[i];
  23. btn._x = radius * Math.cos(winkel + btn.winkel);
  24. btn._y = radius * Math.sin(winkel + btn.winkel);
  25. }
  26.  
  27. doRotateTo(0);

Ich habe hier kein Flash, und kann es deshalb nicht ausprobieren.
Das es eine Bewegung wird, musst du halt noch einbauen.
Janoscharlipp ist offline   Mit Zitat antworten
Alt 24-08-2004, 08:27   #5 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 1.244
die Bewegung ist ja das, was die Pos-Verschiebung hervorruft.
Wenn die Bewegung jadesmal 10 Grad per onEnterFrame ist, komme ich nie
auf zb 45 Grad sondern auf 50. Pos == 45 geht also nicht! Also Pos > 45, und
dann stopt er bei 50 .

Oder verstehe ich das falsch
__________________
Mfg aus Brandenburg.

harego

Spiel

Zur Page
harego ist offline   Mit Zitat antworten
Alt 24-08-2004, 08:40   #6 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
wenn das Problem in der Bewegung liegt, warum machst setzt du dann nicht nach abgeschlossener Bewegung an ihre richtige Stelle?

Das was du da geschrieben hast, ist nicht die Bewegungs, sondern die Initialisationsfunktion, oder nicht?
Janoscharlipp ist offline   Mit Zitat antworten
Alt 24-08-2004, 09:23   #7 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 1.244
Danke euch, habe es hinbekommen !

Habe den Haltepunkt in Etwa bestimmt.

wenn "Halt", dann dieses :

PHP-Code:
foo.but_i// z ist der button-index, der angeklickt wurde
        
for (1<= mengem++) {
            
this["test" z]._x pos_x_ar[1];
            
this["test" z]._y pos_y_ar[1];
            
z++;
            
menge 0;
        } 
__________________
Mfg aus Brandenburg.

harego

Spiel

Zur Page
harego 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 15:27 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele