Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-03-2004, 13:41   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 1.244
Kreis mit Button

hi,

Habe folgendes Script.
Da werden MC im Kreis angeodnet.
Wenn man auf einen MC klickt, soll sich dieser im Kreis nach
oben bewegen.
Wie kann ich "Ihn" sagen, wo oben ist ?
Und dann ist noch das komische, wenn er einmal gestoppt hat,
ist die Button function weg ?


ActionScript:
  1. var menge = 5;
  2. var durchmesser = 200;
  3. var posy = 200;
  4. var posx = 200;
  5. var winkel = 180;
  6. var abstand = 360 / menge;
  7. var x = 0;
  8. var y = 0;
  9. function drehen () {
  10.     for (i = 1; i <= menge; i++) {
  11.         attachMovie ("test", "test" + i, i);
  12.         i == 1 ? this["test" + i]._xscale = 150 : "";
  13.         this["test" + i]._x = Math.sin (Math.PI / 180 * winkel + x) * durchmesser + posx;
  14.         this["test" + i]._y = Math.cos (Math.PI / 180 * winkel + x) * durchmesser + posy;
  15.         winkel += abstand;
  16.         foo = eval (but);
  17.         foo._x >= 180 ? trace ("dreh") : delete oef.onEnterFrame;
  18.     }
  19. }
  20. drehen (x);
  21. function test () {
  22.     createEmptyMovieClip ("oef", 100);
  23.     oef.onEnterFrame = function () {
  24.         x -= 0.2 / menge;
  25.         drehen (x, but);
  26.     };
  27. }
  28. for (i = 1; i <= menge; i++) {
  29.     this["test" + i].onRelease = function () {
  30.         but = this._name;
  31.         test (but);
  32.     };
  33. }
Angehängte Dateien
Dateityp: rar kreis_erstellen.rar (4,1 KB, 8x aufgerufen)
__________________
Mfg aus Brandenburg.

harego

Spiel

Zur Page
harego ist offline   Mit Zitat antworten
Alt 13-03-2004, 09:27   #2 (permalink)
info.krypto(256bit)
 
Registriert seit: Sep 2002
Beiträge: 48
Hmm,

zunächst mal zur 'Button function ' :

ActionScript:
  1. var menge = 5;
  2. var durchmesser = 200;
  3. var posy = 200;
  4. var posx = 200;
  5. var winkel = 180;
  6. var abstand = 360 / menge;
  7. var x = 0;
  8. var y = 0;
  9. for (i = 1; i <= menge; i++)
  10. {
  11.     attachMovie ("test", "test" + i, i);
  12.     i == 1 ? this["test" + i]._xscale = 150 : "";
  13.     this["test" + i].Nummer.text = i;
  14.     this["test" + i]._x = Math.sin (Math.PI / 180 * winkel + x) * durchmesser + posx;
  15.     this["test" + i]._y = Math.cos (Math.PI / 180 * winkel + x) * durchmesser + posy;
  16.     winkel += abstand;
  17. }
  18. function drehen (x, but)
  19. {
  20.     for (i = 1; i <= menge; i++)
  21.     {
  22.         //attachMovie ("test", "test" + i, i); // killt deinen Listener bei Aufruf, klar, oder ?
  23.         i == 1 ? this["test" + i]._xscale = 150 : "";
  24.         this["test" + i]._x = Math.sin (Math.PI / 180 * winkel + x) * durchmesser + posx;
  25.         this["test" + i]._y = Math.cos (Math.PI / 180 * winkel + x) * durchmesser + posy;
  26.         winkel += abstand;
  27.         foo = eval (but);
  28.         foo._x >= 180 ? trace ("dreh") : delete oef.onEnterFrame;
  29.     }
  30. }
  31. //drehen (x);
  32. function testf ()
  33. {
  34.     createEmptyMovieClip ("oef", 100);
  35.     oef.onEnterFrame = function ()
  36.     {
  37.         x -= 0.2 / menge;
  38.         drehen (x, but);
  39.     };
  40. }
  41. for (i = 1; i <= menge; i++)
  42. {
  43.     this["test" + i].onRelease = function ()
  44.     {
  45.         but = this._name;
  46.         testf (but);
  47.     };
  48. }

wo oben ist, und somit welche Laufrichtung dein Kreis nehemn muss, um den angeklickten Button ganz nach oben zu bringen stellst du am besten über einen Vergleich der _X und _Y Postion des angeklickten Buttons mit den anderen fest - ich fühl mich aber gerade jetzt nicht berufen das zu machen, sorry, vielleicht schaut sichs ja noch jemand anders an.

Das Script oben lässt sich sicher noch kürzen, es soll dir nur zeigen wo dein Listener gekillt wird, eingefügt habe ich nur :
this["test" + i].Nummer.text = i;, und ein textfeld Nummer im attachten MC, um den Überblick zu wahren...

Grüsse
B
__________________
Num qui exsules restituti? Unum aiebat, praeterea neminem !
Basileusdeus ist offline   Mit Zitat antworten
Alt 13-03-2004, 10:02   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 1.244
hi Basileusdeus,

Danke für Deine Hilfe.

Jetzt wo Du es sagst, ist es eigendlich logisch.
__________________
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 20:46 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele