Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-01-2004, 13:51   #1 (permalink)
Pixelschubser
 
Registriert seit: Aug 2002
Ort: Utopia
Beiträge: 416
Question wie lasse ich zufällig eine funktion starten?

wie lasse ich zufällig eine funktion starten in verschiedenen zeitabständen?
LordCash ist offline   Mit Zitat antworten
Alt 15-01-2004, 13:55   #2 (permalink)
alien
 
Benutzerbild von Smirgel
 
Registriert seit: May 2002
Ort: Colonia
Beiträge: 7.597
hi,
ungefähr so:
ActionScript:
  1. zeit=getTimer();
  2. dauer=random(5000); //startwert: irgendwas innerhalb 5 sekunden
  3. this.onEnterFrame=function(){
  4. if(getTimer()>dauer+zeit){
  5. zeit=getTimer();
  6. dauer=random(5000)+2000; // irgendwas zwischen 2 und 7 sekunden
  7. deinefunktion();
  8. }
  9. }
__________________
bei fragen, fragen.
Smirgel ist offline   Mit Zitat antworten
Alt 15-01-2004, 13:58   #3 (permalink)
...
 
Benutzerbild von flash bier
 
Registriert seit: Nov 2001
Beiträge: 1.227
hi,
das geht mit setInterval().
ActionScript:
  1. function callback1() {
  2.   trace("Intervallfunktion aufgerufen");
  3. }
  4.  
  5. function callback2(arg) {
  6.   trace(arg);
  7. }
  8.  
  9. setInterval( callback1, 1000 );
  10. setInterval( callback2, 2000, "Intervallfunktion 2 aufgerufen" );

MfG flash bier
__________________
Schweig oder sprich Worte, die besser sind als Schweigen !
flash bier ist offline   Mit Zitat antworten
Alt 15-01-2004, 14:02   #4 (permalink)
Pixelschubser
 
Registriert seit: Aug 2002
Ort: Utopia
Beiträge: 416
Question

danke,

so dann habe ich noch was kompliziertes und zwar:

Von
0-440 immer zufällig eine zahl in "20er" schritten raussuchen, doppelte soll er ignorieren, geht das irgendwie? den wert soll er dann immer in dieselbe variable schreiben...
LordCash ist offline   Mit Zitat antworten
Alt 15-01-2004, 14:15   #5 (permalink)
alien
 
Benutzerbild von Smirgel
 
Registriert seit: May 2002
Ort: Colonia
Beiträge: 7.597
zum thema von-bis-aber-nicht-doppelt findest du hier nen thread: random ohne wiederholung
ist aber wirklich dann schon etwas komplexer.
__________________
bei fragen, fragen.
Smirgel ist offline   Mit Zitat antworten
Alt 15-01-2004, 16:44   #6 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
habe hier gerade was.
in zufall_array stehen dann deine werte.
ActionScript:
  1. function zufall(endwert, step) {
  2.     var alt = new Array();
  3.     for (var i = 0; i<=endwert/step; i++) {
  4.         alt[i] = (i*step);
  5.     }
  6.     zufall_array = new Array();
  7.     var laenge = alt.length;
  8.     for (var i = 0; i<laenge; i++) {
  9.         var x = random(alt.length);
  10.         zufall_array.push(alt[x]);
  11.         alt.splice(x, 1);
  12.     }
  13. }
  14. //endwert,schritte
  15. zufall(440, 20);
müste eigentlich klar sein wenn nicht fragen.
hi @Smirgel
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 16-01-2004, 08:15   #7 (permalink)
Pixelschubser
 
Registriert seit: Aug 2002
Ort: Utopia
Beiträge: 416
Question

hi, jetzt weiß ich nur nicht wie ich das array auslesen kann :-)

ich habe eine funktion:

ActionScript:
  1. k = 0;
  2. function aufdecken () {
  3.         kugeln["kugel" + k].play ();
  4.         kugeln["kugel" + k]._alpha = 40;
  5.         kugeln["kugel" + (k - 1)]._alpha = 100;
  6.         k++;
  7.         (k == 20) ? clearInterval (intervallID) : k = k;
  8. }
in "k" sollen die werte aus dem array stehen... wie setz ich das am besten um?

Geändert von LordCash (16-01-2004 um 08:28 Uhr)
LordCash ist offline   Mit Zitat antworten
Alt 16-01-2004, 08:41   #8 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
meinst du jetzt von meinem code.
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 16-01-2004, 08:43   #9 (permalink)
Pixelschubser
 
Registriert seit: Aug 2002
Ort: Utopia
Beiträge: 416
Smile

jep... ich weiß nicht wie ich die funktion mit dem array verbinden soll, so das er auch alle werte abspielt, komme gerade absolut nicht weiter...

Geändert von LordCash (16-01-2004 um 08:44 Uhr)
LordCash ist offline   Mit Zitat antworten
Alt 16-01-2004, 08:47   #10 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
heißt dein array kugel und deine mc's kugeln
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 16-01-2004, 08:50   #11 (permalink)
Pixelschubser
 
Registriert seit: Aug 2002
Ort: Utopia
Beiträge: 416
Hier mal mein ganzes script zur veranschaulichung:

ActionScript:
  1. // Der MC Kugeln wird erstellt
  2. this.createEmptyMovieClip("kugeln",0);
  3.  
  4. // Hier ist angegeben wieviel Zeilen und wieviel kugeln in einer zeile sind...
  5. zeilen = 23;
  6. spalten = 20;
  7. verschieben = 1;
  8.  
  9. // Hier wird in den MC Kugeln die mc´s kugel gepackt, das heißt in habe 23 Zeilen
  10. // mit jeweils 20 Kugeln von links nach rechts, sie werden auf alpha=0 gestellt...
  11.  
  12. /* zum aufbau der kugeln:
  13. 0   1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19
  14. 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
  15. usw........
  16. */
  17. for (p = 0; p < zeilen; p++) {
  18.  
  19.     for (i=0; i < spalten; i++) {
  20.        
  21.         kugeln.attachMovie("kugel","kugel"+(p*spalten+i),++tiefe);
  22.         kugeln["kugel"+(p*spalten+i)]._x=44*i+36-(verschieben*22);
  23.         kugeln["kugel"+(p*spalten+i)]._y=27*p+15;
  24.         kugeln["kugel"+(p*spalten+i)]._height = 20 - (i * 0.7);
  25.         kugeln["kugel"+(p*spalten+i)]._width = 20 - (i * 0.7);
  26.         kugeln["kugel"+(p*spalten+i)]._alpha = 0;
  27.     }
  28.    
  29. (verschieben == 0) ? verschieben = 1 : verschieben = 0;
  30. }
  31. // Zufall
  32. function zufall(endwert, step) {
  33.         var alt = new Array();
  34.         for (var i = 0; i<=endwert/step; i++) {
  35.                 alt[i] = (i*step);
  36.         }
  37.         zufall_array = new Array();
  38.         var laenge = alt.length;
  39.         for (var i = 0; i<laenge; i++) {
  40.                 var x = random(alt.length);
  41.                 zufall_array.push(alt[x]);
  42.                 alt.splice(x, 1);
  43.         }
  44. }
  45. zufall(440, 20);
  46.  
  47. for (a=0; a< zufall_array.length; a++) {
  48. trace(zufall_array[a])
  49. };
  50.  
  51. /* Funktion Aufdecken
  52. In dieser Funktion werden die Kugeln aufgedeckt dem alpha erst auf 40 und 
  53. dann auf 100 gesetzt wird. Kugel ist ein MC mit 4 Frames wo die Kugel in
  54. unterschiedlichen Farben dargestellt ist... "k=0" ist die variable die bestimmt
  55. wo er anfangen soll, da es 440 Kugel sind in 23 zeilen je 20 kugeln die zeile
  56. muss er immer in 20er schritten starten, deshalb das soll im endeffekt so
  57. aussehen das sich die kugeln von links nach rechts aufbauen, nur sie sollen ja
  58. nicht alle gleich von links starten sondern alle unterschiedlich innerhalb von 3
  59. sek... deshalb die zufallsfunktion...
  60. */
  61. k = 0;
  62. function aufdecken () {
  63.         kugeln["kugel" + k].play ();
  64.         kugeln["kugel" + k]._alpha = 40;
  65.         kugeln["kugel" + (k - 1)]._alpha = 100;
  66.         k++;
  67.         (k == 20) ? clearInterval (intervallID) : k = k;
  68. }

jetzt muss ich nur das array mit der funktion verbinden...

Geändert von LordCash (16-01-2004 um 12:27 Uhr)
LordCash ist offline   Mit Zitat antworten
Alt 16-01-2004, 09:01   #12 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
hm, sorry aber mit deinem aufbau der mc's blick ich es nicht was soll den da gemacht werden.
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 16-01-2004, 09:56   #13 (permalink)
Pixelschubser
 
Registriert seit: Aug 2002
Ort: Utopia
Beiträge: 416
Wink

so hab oben alles erklärt...
LordCash ist offline   Mit Zitat antworten
Alt 16-01-2004, 10:49   #14 (permalink)
Pixelschubser
 
Registriert seit: Aug 2002
Ort: Utopia
Beiträge: 416
Question

niemand eine lösung?
LordCash ist offline   Mit Zitat antworten
Alt 16-01-2004, 13:36   #15 (permalink)
Pixelschubser
 
Registriert seit: Aug 2002
Ort: Utopia
Beiträge: 416
Question ....

geht das überhaupt............................... ich zereiß mir die haare daran, habe jetzt das array an die funktionn gehängt aber trotzdem will es nicht funktionieren, ich bekomme immer nur ein paar punkte......
LordCash 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:13 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele