我正试图找出一种方法,让按钮在点击时基本上触发右箭头键。如果有人可以帮我解决这个问题,我会非常感激!谢谢你的推荐。
答案 0 :(得分:2)
总的来说,这是一个坏主意。
如果希望鼠标按钮执行与键相同的操作,则应将代码重构为共享方法:
function doSomething(){
// ...
}
function mouseClick(){
doSomething();
}
function keyPress(){
doSomething();
}
答案 1 :(得分:1)
如果你设置了与我类似的击键管理,那么应该很容易..
我基本上只有一个带有数组的类,该数组根据压缩/释放键的keyCode
将给定索引设置为true / false ..
细分:
当我按下ASCII或keyCode值为65的“a”时,array[65]
设置为true
。当我发布“a”键时,array[65]
设置为false
。
然后我只有一个函数返回一个表示按下键的布尔值。以下是该课程的一个简单示例:
package
{
import flash.display.Stage;
import flash.events.KeyboardEvent;
public class Keystrokes
{
public static var keys:Array = [];
public static function init(stg:Stage):void
{
stg.addEventListener(KeyboardEvent.KEY_DOWN, _keyDown);
stg.addEventListener(KeyboardEvent.KEY_UP, _keyUp);
}
private static function _keyDown(e:KeyboardEvent):void
{
keys[e.keyCode] = true;
}
private static function _keyUp(e:KeyboardEvent):void
{
delete keys[e.keyCode];
}
public static function keyIsDown(...ascii):Boolean
{
var i:uint;
for each(i in ascii)
{
if(keys[i]) return true;
}
return false;
}
}
}
现在所有这些说你基本上可以做到:
Keystrokes.keys[keycode_for_right_arrow] = true;
单击鼠标时,以及释放时false
。