Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-11-2003, 20:27   #1 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
dauerhaft onkeyup funktion

ich möchte eine funktion per onkeyup ausführen.
allerdings soll sie wie eine per onenterframe funktion dauerhaft laufen. wie mach ich das.
danke.
rib ist offline   Mit Zitat antworten
Alt 12-11-2003, 20:35   #2 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
ActionScript:
  1. list1 = new Object();
  2. list2 = new Object();
  3. list1.onKeyUp = function() {
  4.         if (Key.getCode == ASCII) {
  5.                up = true;
  6.         }
  7. };
  8. list2.onKeyDown = function() {
  9.         if (Key.getCode == ASCII) { 
  10.              up = false;
  11.         }
  12. };
  13. Key.addListener(list1);
  14. Key.addListener(list2);
  15. _root.onEnterFrame = function () {
  16. if (up) {
  17. func();
  18. }
  19. }

Geändert von MacEvil (12-11-2003 um 20:36 Uhr)
MacEvil ist offline   Mit Zitat antworten
Alt 12-11-2003, 20:45   #3 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
danke fürs erste, wozu die onkeydown abfrage?
ich beschreib mal etwas genauer was ich machen will vielleicht gibts dafür noch ne smartere lösung.

bei onkeyup sollen eine bestimmte zahl movieclips erzeugt werden. das könnt ich ja mit ner for schleife machen aber da es einen delay zwischen jedem attachmovieclip geben soll hab ichs mit ner if schleife gemacht aber die läuft ja nur einmal durch.

also weiss jemand ne lösung, danke.
rib ist offline   Mit Zitat antworten
Alt 13-11-2003, 12:18   #4 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
Hi, ich nehme an, dass du nicht nur einmal die Funktion ausführen willst, darum wird die variable wieder auf false gesetzt, wenn die Taste gedrückt wird.
Pack den Moviecliperzeuguns Code einfach in die Funktion !
ActionScript:
  1. func = function (mcs) {
  2. // mach mcs mit ner for Schleife
  3. up = false; //wieder intialisieren
  4. }
MacEvil ist offline   Mit Zitat antworten
Alt 13-11-2003, 12:47   #5 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
die lösung für dein problem:

ne funktion schreiben, die dir den movieclip erzeugt...
und diese fkt via interval aufrufen....und nen zähler mitlaufen lassen...solange bis du alle erschaffen hast, dann den interval, der die fkt in einem bestimmten zeitinterval aufruft, löschen...

suche mal hier nach setInterval ...

greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 13-11-2003, 13:08   #6 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
schon mal ne gute idee.
also die funktion muss sich ganz aussen herum befinden.
da ich sie ja immer wieder mit anderen werten wie zbsp dem verzögerungswert ausführen möchte.
wie mach ich das?

Geändert von rib (13-11-2003 um 13:12 Uhr)
rib ist offline   Mit Zitat antworten
Alt 13-11-2003, 13:24   #7 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
Wie gesagt, mit setInterval (suchen und finden oder Referenz gucken)
MacEvil ist offline   Mit Zitat antworten
Alt 13-11-2003, 13:27   #8 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
das ist mir schon klar, ich glaub du hast nicht verstandden was mein problem ist.
ich möchte die FUNKTION zur ertellung einer grafik starten und in dieser einige parameter übergeben.
wenn ich den setinterval benutzte geht das ja nicht mehr da ich dann den setinterval aufrufe und der die funktion wiederum aufruft und ich so die variablen der funktion nicht dynamisch übergeben kann.

ich möchte die funktion so aufrufen:
ActionScript:
  1. _root.meinefunktion(wert1, wert2, wert3, delaywert, wert5...);

Geändert von rib (13-11-2003 um 13:32 Uhr)
rib ist offline   Mit Zitat antworten
Alt 13-11-2003, 13:47   #9 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
Geht doch so :
ActionScript:
  1. intervalid = setInterval(func,ms,parameter1,parameter2....);
MacEvil ist offline   Mit Zitat antworten
Alt 13-11-2003, 14:06   #10 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
wofür steht ms und parameter1 und 2

Geändert von rib (13-11-2003 um 14:18 Uhr)
rib ist offline   Mit Zitat antworten
Alt 13-11-2003, 14:36   #11 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
es funktioniert nix. (


ActionScript:
  1. testattach = new Object();
  2. testattach.onKeyUp = function() {
  3.     if (Key.getCode() == 49) {
  4.  
  5.     createenemygroup=setInterval(createenemy(8, 7, 1, 1, 200, 30, 10, 10),500);
  6.     }
  7. }

es wird nur ein objekt erzeugt.
laut code sollte aber aller 0.5 sekunden ein objekt erzeugt werden.
wo liegt das poblem?

Geändert von rib (13-11-2003 um 14:37 Uhr)
rib ist offline   Mit Zitat antworten
Alt 13-11-2003, 15:37   #12 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
danke für die super hilfe >

naja irgend wann hab ich jetzt selbst herasgefunden das man unlogischweise die variablen nicht wie üblich in klammern hinter die funktion schreibt sonder ab stelle drei in der setinterval klammer.

da ist auch schon das problem. die variablen die ich übergebe sind nun jedes mal die gleichen.
ich möchte aber das einige der variablen kleiner werden.

oder anders: wie begrenze ich die wiederholung auf eine bestimmte zahl?

hoffe jemand ist intelligent genug und kann mir helfen.

Geändert von rib (13-11-2003 um 15:40 Uhr)
rib ist offline   Mit Zitat antworten
Alt 13-11-2003, 16:15   #13 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
ActionScript:
  1. testattach = new Object();
  2. testattach.onKeyUp = function() {
  3.         if (Key.getCode() == 49) {
  4. if (!maxvar || maxvar <= maximum) {
  5. maxvar ++;
  6. createenemygroup=setInterval(createenemy,500,8, 7, 1, 1, 200, 30, 10, 10);
  7. }
  8.         }
  9. }
  10. Key.addListener(testattach);
MacEvil ist offline   Mit Zitat antworten
Alt 13-11-2003, 16:34   #14 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
bitte erkläre deinen code ich verstehs nicht.
rib ist offline   Mit Zitat antworten
Alt 13-11-2003, 16:49   #15 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
ic geh mal davon aus das das worum es mir geht noch nicht verstanden wurde.
ich möchte an verschiedenen stellen
die funktion createenemy aufrufen.
diese besitzt 8 variablen die ihr bei aufruf jedes mal anders definiert werden.
zum beispiel:

createenemy(800, 7, 1, 1, 200, 30, 10, 10);
oder createenemy(500, 12, 3, 2, 40, 200, 3, 6);

die erste ziffer soll die sein die den delay zwischen den ausführungen der funktion angiebt.
die zweite soll die sein die angiebt wie oft die funktion aufgefrufen wird.
die anderen sind hier erstmal unwichtig.

einige der übergebenen variablen sollen dann in der funktion heruntergezählt werden also jedes mal um einen bestimmten wert inkrementiert werden wenn die funktion wieder aufgerufen wird so lange bis die zweite variable 0 ist dann soll sich die funktion vernichten.

was noch wichtig ist ist das die funktion mehrmals parralel laufen können muss.
das heisse eine wird gerade das dritte von sechs insgesamt ausgeführt während eine andere gerade das achte mal von 10 insgesamt ausgeführt wird.

ich hoffe das hilft euch weiter zu verstehen was ich damit bezwecken will.
rib 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 03:59 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele