Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-08-2003, 22:32   #1 (permalink)
stop the fog
 
Benutzerbild von < priZma >
 
Registriert seit: Apr 2003
Beiträge: 97
Methode Variable zuweisen

Wie kann ich einer Variablen eine Methode zuweisen.

z.B.
mcStart = _root.derMC.start ();

geht aber nicht


Ich will eine Methode einem Array zuweisen, aber das will nicht so recht.

Ich habe auch schon versucht die Methode in eine Function zu packen und diese in ein Array zu legen.
Klappt auch nicht.

Weis jemand Rat?

ciao, .priZma
< priZma > ist offline   Mit Zitat antworten
Alt 29-08-2003, 22:36   #2 (permalink)
alien
 
Benutzerbild von Smirgel
 
Registriert seit: May 2002
Ort: Colonia
Beiträge: 7.597
hmmm, direkt nicht, aber was ist den die aufgabe, die gelöst werden soll?
__________________
bei fragen, fragen.
Smirgel ist offline   Mit Zitat antworten
Alt 29-08-2003, 22:54   #3 (permalink)
stop the fog
 
Benutzerbild von < priZma >
 
Registriert seit: Apr 2003
Beiträge: 97
Hi Smirgel

Auch einer zuhause am Wochenend Abend?

Es geht darum eine Sound start Methode in ein Array zu packen und die per setInterval aufrufen.

Das ist mein ansatz
ActionScript:
  1. function startBD () {
  2.     bDrum.start (0, 1);
  3. }
  4. bDrum_arr = new Array ();
  5. bDrum_arr[0] = startBD ();
  6. bDrum_arr[1] = 0;
  7. bDrum_arr[2] = 0;
  8. bDrum_arr[3] = startBD ();
  9. bDrum_arr[4] = 0;
  10. bDrum_arr[5] = startBD ();
  11.  
  12. pushed = -1;
  13. function bDrumLauf () {
  14.     pushed++;
  15.     bDrum_arr[pushed];
  16. }
  17. seqID = setInterval (bDrumLauf , 350);
Es müsste also im ersten Lauf der Sound abspielen, im 2,3 nicht im 4ten wieder usw.
Dachte das wäre der einfachste Weg.

[ot]hehe Superman (im tv) beim coden rockt [/ot]
< priZma > ist offline   Mit Zitat antworten
Alt 29-08-2003, 22:56   #4 (permalink)
anyway
Gast
 
Beiträge: n/a
Du darfst die Methode nicht schon bei der Zuweisung ausführen..:

ActionScript:
  1. a = function () {
  2. trace("Ha! - Methode zugewiesen!");
  3. }
  4. b = a;
  5. // Test
  6. b();


anyway.
  Mit Zitat antworten
Alt 29-08-2003, 23:32   #5 (permalink)
stop the fog
 
Benutzerbild von < priZma >
 
Registriert seit: Apr 2003
Beiträge: 97
Gut gut danke dir leuchtet mir ein. Angewendet auf mein Script würde das so aussehen:
ActionScript:
  1. startBD = function () {
  2.     bDrum.start (0, 1);
  3. };
  4. aufrufBD = startBD;
  5.  
  6. bDrum_arr = new Array ();
  7. bDrum_arr[0] = aufrufBD;
  8. bDrum_arr[1] = undefined;
  9. bDrum_arr[2] = aufrufBD;
  10. bDrum_arr[3] = aufrufBD;
  11. bDrum_arr[4] = undefined;
  12. bDrum_arr[5] = aufrufBD;
  13.  
  14. pushed = -1;
  15. function bDrumStart () {
  16.     pushed++;
  17.     return bDrum_arr[pushed];
  18. }
  19. seqID = setInterval (bDrumStart, 100);
Ich weis jetzt nicht genau, ob ich bei der Zuweisung der "aufrufBD" in dem Array die Klammern schreiben soll oder nicht.
Schreibe ich die Klammer, wird die Function wieder nur einmal ausgeführt. Lasse ich sie weg geht gar nichts.

Wo liegt den der Denkfehler in meinem Weissherbst verbrannten Hirn begraben?

Geändert von < priZma > (29-08-2003 um 23:35 Uhr)
< priZma > ist offline   Mit Zitat antworten
Alt 29-08-2003, 23:50   #6 (permalink)
alien
 
Benutzerbild von Smirgel
 
Registriert seit: May 2002
Ort: Colonia
Beiträge: 7.597
ich hab das jetzt mal so gemacht:
ActionScript:
  1. beep = new Sound();
  2. beep.attachSound("beep");
  3. pushed=0;
  4. bDrum_arr = new Array();
  5. bDrum_arr[0] = 1;
  6. bDrum_arr[1] = 0;
  7. bDrum_arr[2] = 0;
  8. bDrum_arr[3] = 1;
  9. bDrum_arr[4] = 0;
  10. bDrum_arr[5] = 1;
  11. pushed = -1;
  12. function bDrumLauf() {
  13.     if (bDrum_arr[pushed]) {
  14.         beep.start();
  15.     }
  16.     pushed++; //hier ist beim ersten durchlauf pushed=1 also erst nachher setzen
  17. }
  18. seqID = setInterval(bDrumLauf, 350);
__________________
bei fragen, fragen.
Smirgel ist offline   Mit Zitat antworten
Alt 30-08-2003, 00:00   #7 (permalink)
anyway
Gast
 
Beiträge: n/a
Höhö, kuhles Script...

Du musst die Methode mit () irgendwann aufrufen - wo Du das tust ist eigentlich egal, so lange es nicht bei der Zuweisung geschieht.
Ich habe es jetzt mal in bDrumStart reingebaut..:

ActionScript:
  1. startBD = function () {
  2.         bDrum.start (0, 1);
  3. };
  4. aufrufBD = startBD;
  5. bDrum_arr = new Array ();
  6. bDrum_arr[0] = aufrufBD;
  7. bDrum_arr[1] = undefined;
  8. bDrum_arr[2] = aufrufBD;
  9. bDrum_arr[3] = aufrufBD;
  10. bDrum_arr[4] = undefined;
  11. bDrum_arr[5] = aufrufBD;
  12. //pushed = -1;
  13. function bDrumStart () {
  14. var fx = bDrum_arr.shift();
  15. fx();
  16. bDrum_arr.push(fx);
  17. }
  18. seqID = setInterval (bDrumStart, 100);

anyway.

Geändert von anyway (30-08-2003 um 00:04 Uhr)
  Mit Zitat antworten
Alt 30-08-2003, 00:03   #8 (permalink)
anyway
Gast
 
Beiträge: n/a
Axo - falls Du vorhattest mit der Function eine rythmische Basedrum zu steuern, dann verabschiede Dich lieber schonmal von der Idee mit dem Intervall.

anyway.
  Mit Zitat antworten
Alt 30-08-2003, 00:15   #9 (permalink)
God made me funky..
 
Registriert seit: Apr 2003
Ort: Bremen
Beiträge: 1.067
Oder um das böse zu formulieren: vergiss flash!
__________________
Kunst ist in erster Linie eine Frage der Form und nicht des Inhalts
Paul Rand
e2e4 ist offline   Mit Zitat antworten
Alt 30-08-2003, 00:19   #10 (permalink)
anyway
Gast
 
Beiträge: n/a
Naja, ich wollte nicht gleich so demoralisierend klingen..*g*

anyway.
  Mit Zitat antworten
Alt 30-08-2003, 00:26   #11 (permalink)
stop the fog
 
Benutzerbild von < priZma >
 
Registriert seit: Apr 2003
Beiträge: 97
Das Script mit mein_arr.shift zu lösen finde ich auch nicht schlecht.

Also eigentlich experimentiere ich mom nur mit setInterval.
Da ich Musiker bin war die Idee naheliegend eine Art Sequencer zu bauen.

Warum soll es denn nicht möglich sein mit setInterval ein Rythmus zu erstellen.

Wenn du statt den 6 Array Schritten 8 bzw. 16 nimmst lässt sich daraus ein Takt bilden.

Ist setInterval so Leistungsschwach ?
Ich kann mir nicht vorstellen das es schlechter als die getTimer Methode läuft.
< priZma > ist offline   Mit Zitat antworten
Alt 30-08-2003, 00:26   #12 (permalink)
God made me funky..
 
Registriert seit: Apr 2003
Ort: Bremen
Beiträge: 1.067
btw: hat eigentlich schon mal jemand versucht, die Patterns in Flash zu generieren und den Loop dann Serverside zu bauen, könnte doch lustig werden, loopen kann Flash ja
__________________
Kunst ist in erster Linie eine Frage der Form und nicht des Inhalts
Paul Rand
e2e4 ist offline   Mit Zitat antworten
Alt 30-08-2003, 00:28   #13 (permalink)
God made me funky..
 
Registriert seit: Apr 2003
Ort: Bremen
Beiträge: 1.067
Zitat:
Geschrieben von < priZma >
Ist setInterval so Leistungsschwach ?
Dummerweise ist setInterval an die Framerate gebunden siehe auch:
Fehlerakkumulation bei setInterval?

und alles was vom Timing schlechter ist als meine MPC60 hat eh versagt :p
__________________
Kunst ist in erster Linie eine Frage der Form und nicht des Inhalts
Paul Rand

Geändert von e2e4 (30-08-2003 um 00:30 Uhr)
e2e4 ist offline   Mit Zitat antworten
Alt 30-08-2003, 00:31   #14 (permalink)
alien
 
Benutzerbild von Smirgel
 
Registriert seit: May 2002
Ort: Colonia
Beiträge: 7.597
vielleicht lässt sich was mit sound.duration und sound.position was machen.... nur so ein gedanke....
__________________
bei fragen, fragen.
Smirgel ist offline   Mit Zitat antworten
Alt 30-08-2003, 00:33   #15 (permalink)
God made me funky..
 
Registriert seit: Apr 2003
Ort: Bremen
Beiträge: 1.067
Zitat:
Geschrieben von Smirgel
vielleicht lässt sich was mit sound.duration und sound.position was machen.... nur so ein gedanke....
Nope, leider ebenso wenig tight! Wenn es um Timing bei Loops geht, reden wir über Millisekunden und da ist Flash zu ungenau!
__________________
Kunst ist in erster Linie eine Frage der Form und nicht des Inhalts
Paul Rand
e2e4 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 21:56 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele