Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-09-2003, 15:52   #1 (permalink)
nps
...?
 
Benutzerbild von nps
 
Registriert seit: Oct 2002
Ort: Dunstkreis HD
Beiträge: 1.007
Aktion auf 2 Tasten legen

Hallo,

wie stelle ich es an, daß eine Aktion erst ausgeführt wird, wenn 2 Tasten gedrückt werden.
Also zum Beispiel gibt es Aktion A und Aktion B.
Aktion A soll "passieren" wenn die 1(auf der Tastatur) gedrückt wird und Aktion B soll ausgeführt werden wenn man Shift UND die 1 drückt.

Bis jetzt war ich so in dieser Richtung....*hüstel*

on (keyPress "1") {
if (Key.isDown("<SHIFT>")) {
AktionB.gotoAndPlay(1);
}
}else{
AktionA.gotoAndPlay(1);
}
}

Dankeschonmal
Niki
__________________
"...ich begann am Glauben zu zweifeln, als ich als 10-Jähriger zuschaute wie sie einen Blitzableiter am Turm unserer Dorfkirche befestigten..."

Geändert von nps (01-09-2003 um 15:53 Uhr)
nps ist gerade online   Mit Zitat antworten
Alt 01-09-2003, 15:57   #2 (permalink)
◘ ◘
 
Benutzerbild von beachmeat
 
Registriert seit: Dec 2001
Ort: Amsterdam
Beiträge: 6.126
schau mal in OOP - such "Shortcut"
__________________
jeden Tag frisch
beachmeat ist offline   Mit Zitat antworten
Alt 01-09-2003, 16:14   #3 (permalink)
nps
...?
 
Benutzerbild von nps
 
Registriert seit: Oct 2002
Ort: Dunstkreis HD
Beiträge: 1.007
*schluck*

Da muß ich mich jetzt erstmal mit auseinandersetzen....OOP ist nicht gerade eine meiner Stärken

Mal gucken, ob ich´s raffe.

Vielen Dank für den Tipp.



Gruß
Niki
__________________
"...ich begann am Glauben zu zweifeln, als ich als 10-Jähriger zuschaute wie sie einen Blitzableiter am Turm unserer Dorfkirche befestigten..."
nps ist gerade online   Mit Zitat antworten
Alt 01-09-2003, 17:07   #4 (permalink)
◘ ◘
 
Benutzerbild von beachmeat
 
Registriert seit: Dec 2001
Ort: Amsterdam
Beiträge: 6.126
Das schöne ist, das Du das garnicht raffen musst - es funktioniert einfach!

ActionScript:
  1. o = _global.Shortcuts = {keysDown: {}};
  2. //
  3.    
  4. o.onKeyDown = function()
  5. {
  6.         var k = this.$getKeyValue(Key.getCode());
  7.     trace("KEY: " + Key.getCode())
  8.         if (!this.keysDown[k])
  9.     {
  10.                 this.keysDown[k] = true;
  11.                 this.$checkKeys();
  12.         }
  13. };
  14. //
  15. o.onKeyUp = function()
  16. {
  17.         var k = this.$getKeyValue(Key.getCode());
  18.    
  19.         if (this.keysDown[k])
  20.     {
  21.                 delete this.keysDown[k];
  22.                // this.$checkKeys();
  23.         }
  24. };
  25.  
  26.  
  27. //
  28. o.$checkKeys = function()
  29. {
  30.     var keys = this.getCurrentCombi()
  31.     trace ("onKeyCombi_" + keys)
  32.         Key.broadcastMessage("onKeyCombi_" + keys.join("_"));
  33. };
  34. //
  35. o.generateLookup = function()
  36. {
  37.     this.lookup     = [];
  38.    
  39.     for(var i=0; i< 255; i++)
  40.     {
  41.         this.lookup[i] = String.fromCharCode(i)
  42.     }
  43.        
  44.         this.lookup[9]  = "Tab";
  45.     this.lookup[13]     = "Enter";
  46.         this.lookup[16]     = "Shift";
  47.         this.lookup[17]     = "Strg";
  48.     this.lookup[27]     = "Esc";
  49.         this.lookup[32]     = "Space";
  50.         this.lookup[45]     = "Einfg";
  51.         this.lookup[46]     = "Entf";
  52.         this.lookup[33]     = "PageUp";
  53.         this.lookup[34]     = "PageDown";
  54.         this.lookup[35]     = "End";
  55.         this.lookup[36]     = "Pos1";
  56.     this.lookup[37]     = "left";
  57.     this.lookup[38]     = "up";
  58.     this.lookup[39]     = "right";
  59.     this.lookup[40]     = "down";
  60.     this.lookup[104]    = "up";
  61.     this.lookup[98]     = "down";
  62.    
  63.     for(var i=0; i< 255; i++)
  64.     {
  65.         this.lookup[i] = this.lookup[i].toLowerCase();
  66.     }
  67. }
  68. //
  69. o.$getKeyValue = function(kVal)
  70. {
  71.     return this.lookup[kVal];
  72. }
  73. //
  74. o.getCurrentCombi = function()
  75. {
  76.     var cArr = []
  77.     var sArr = []
  78.     for (var i in this.keysDown)
  79.     {
  80.             (i.length > 1 ? sArr : cArr).push(i);
  81.     }
  82.  
  83.     return (sArr.sort().concat(cArr.sort()))
  84. }
  85. o.setCurrentCombi = function()
  86. {
  87.     this.clearKeys();
  88.     for(var i in arguments[0])
  89.     {
  90.         this.keysDown[typeof(arguments[0][i]) == "number" ? this.getKeyValue(arguments[0][i]) : arguments[0][i].toLowerCase()] = true
  91.     }
  92.     this.$checkKeys();
  93.     this.clearKeys();
  94. }
  95.  
  96.  
  97. //
  98. o.clearKeys = function()
  99. {
  100.         this.keysDown = {};
  101. }
  102.  
  103. //
  104. o.activate= function()
  105. {
  106.         Key.addListener(this);
  107. }
  108. //
  109. o.deactivate= function()
  110. {
  111.         Key.removeListener(this);
  112. }
  113.  
  114.  
  115. //#######################
  116. // JETZT AKTIVIEREN
  117. Shortcuts.generateLookup();
  118. Shortcuts.activate();
  119.  
  120.  
  121. // LISTENER OBJECT
  122. _global.fObj = {};
  123.  
  124.  
  125. // EIN SHORTCUT - hier reinschreiben, was de willst
  126. fObj.onKeyCombi_strg_x = function()
  127. {
  128. trace("____________ STRG X _______________")
  129. };
  130.  
  131.  
  132. Key.addListener(fObj);
__________________
jeden Tag frisch
beachmeat ist offline   Mit Zitat antworten
Alt 02-09-2003, 09:06   #5 (permalink)
nps
...?
 
Benutzerbild von nps
 
Registriert seit: Oct 2002
Ort: Dunstkreis HD
Beiträge: 1.007
Wahnsinn.....Hexenwerk....ich bin glücklich!
Geile Sache, das. Vielen Dank beachmeat.

Gruß
Niki
__________________
"...ich begann am Glauben zu zweifeln, als ich als 10-Jähriger zuschaute wie sie einen Blitzableiter am Turm unserer Dorfkirche befestigten..."
nps ist gerade online   Mit Zitat antworten
Alt 02-09-2003, 09:24   #6 (permalink)
nps
...?
 
Benutzerbild von nps
 
Registriert seit: Oct 2002
Ort: Dunstkreis HD
Beiträge: 1.007
Öööh......vielleicht noch eine kleine Frage. Bis jetzt funktioniert es "nur" , wenn man die vordefinierten Tasten (strg, shift...etc.) als zweites drückt. Als (z.B.) erst das x und dann strg.

fObj.onKeyCombi_strg_x = function()

leider führt die umgekehrte Schreibweise nicht zum umgekehrten Ergebniss (da war ich wohl zu "optimistisch" )

Also:

fObj.onKeyCombi_x_strg = function()

klappt nicht.

Wie muß
ich´s schreiben, daß es auch umgekehrt klappt.

Ich hoffe, Du hilfst mir nochmal.
Sorry, aber ich tu´ mich an solchen Sachen immer noch recht schwer.

Danke
Gruß
Niki
__________________
"...ich begann am Glauben zu zweifeln, als ich als 10-Jähriger zuschaute wie sie einen Blitzableiter am Turm unserer Dorfkirche befestigten..."
nps ist gerade online   Mit Zitat antworten
Alt 02-09-2003, 09:53   #7 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
nicht gegen OOP.aber manchmal ......
die aufgaben stellung zum ersten post.
ActionScript:
  1. meinListener = new Object();
  2. meinListener.onKeyDown = function () {
  3.       if(Key.getAscii()==49){
  4.         trace("Action A")
  5.       }
  6.         if(Key.getAscii()==33){
  7.         trace("Action B")
  8.         }
  9. }
  10. Key.addListener(meinListener);
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 02-09-2003, 10:01   #8 (permalink)
nps
...?
 
Benutzerbild von nps
 
Registriert seit: Oct 2002
Ort: Dunstkreis HD
Beiträge: 1.007
Hi Hay,

Die Welt scheint heute voller Wunder....

Kannst Du mir einen Hinweis geben, wie´s funktioniert?
Ich meine, woher bekomme ich die "Tastencodes"?

Dank auch an Dich

Gruß
Niki
__________________
"...ich begann am Glauben zu zweifeln, als ich als 10-Jähriger zuschaute wie sie einen Blitzableiter am Turm unserer Dorfkirche befestigten..."
nps ist gerade online   Mit Zitat antworten
Alt 02-09-2003, 10:10   #9 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
ActionScript:
  1. meinListener = new Object();
  2. meinListener.onKeyDown = function () {
  3.     trace(Key.getAscii())
  4. }
  5. Key.addListener(meinListener);
__________________
gruß Harry

Geändert von HAY (02-09-2003 um 10:12 Uhr)
HAY ist offline   Mit Zitat antworten
Alt 02-09-2003, 10:21   #10 (permalink)
nps
...?
 
Benutzerbild von nps
 
Registriert seit: Oct 2002
Ort: Dunstkreis HD
Beiträge: 1.007
Aaaaaachso.......Danke

Geh´ ich recht in der Annahme, daß das in diesem Fall nur mit SHIFT geht ? (und bei ein paar Ausnahmen(8,9,0.....) auch mit strg).

Gruß
Niki
__________________
"...ich begann am Glauben zu zweifeln, als ich als 10-Jähriger zuschaute wie sie einen Blitzableiter am Turm unserer Dorfkirche befestigten..."
nps ist gerade online   Mit Zitat antworten
Alt 02-09-2003, 10:26   #11 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
ja so ist es.
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 02-09-2003, 14:28   #12 (permalink)
◘ ◘
 
Benutzerbild von beachmeat
 
Registriert seit: Dec 2001
Ort: Amsterdam
Beiträge: 6.126
Zitat:
Geschrieben von nps

Wie muß
ich´s schreiben, daß es auch umgekehrt klappt.
Ich hab da oben ne automatische Sortierung drin, da es ja in der Regel egal ist, in welcher Reihenfolge eine Kombi gedrückt wird....wenn Du das noch brauchst kann ich die rausnehmen...

Was Du sagst, das das Nur funzt, wenn Dus in anderer Reihenfolge eingibst, kann ich nicht bestätigen...teste das mal außerhalb von Flash oder mach Tastenkombi deaktivieren beim testen aus (in "Steuerung")
__________________
jeden Tag frisch

Geändert von beachmeat (02-09-2003 um 14:30 Uhr)
beachmeat ist offline   Mit Zitat antworten
Alt 02-09-2003, 14:30   #13 (permalink)
nps
...?
 
Benutzerbild von nps
 
Registriert seit: Oct 2002
Ort: Dunstkreis HD
Beiträge: 1.007
Jaa...könnt´s schon noch gebrauchen

Danke für Deine Mühen.

Gruß
Niki
__________________
"...ich begann am Glauben zu zweifeln, als ich als 10-Jähriger zuschaute wie sie einen Blitzableiter am Turm unserer Dorfkirche befestigten..."
nps ist gerade online   Mit Zitat antworten
Alt 02-09-2003, 17:28   #14 (permalink)
◘ ◘
 
Benutzerbild von beachmeat
 
Registriert seit: Dec 2001
Ort: Amsterdam
Beiträge: 6.126
Hasde ma getestet mit "tastenkombi deaktiv" ?
__________________
jeden Tag frisch
beachmeat ist offline   Mit Zitat antworten
Alt 03-09-2003, 08:28   #15 (permalink)
nps
...?
 
Benutzerbild von nps
 
Registriert seit: Oct 2002
Ort: Dunstkreis HD
Beiträge: 1.007
Hi beachmeat,

sorry, vielleicht stell´ ich mich grade ein bissl blöde an, aber unter Steuerung finde ich kein "Tastenkombination deaktivieren".

Hab´s mal veröffentlicht und getestet......da hat dann weder das eine noch das andere gefunzt...

Bin verwirrt....Hiiilfääää

Gruß
Niki
__________________
"...ich begann am Glauben zu zweifeln, als ich als 10-Jähriger zuschaute wie sie einen Blitzableiter am Turm unserer Dorfkirche befestigten..."
nps ist gerade online   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 06:30 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele