设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3849|回复: 6
打印 上一主题 下一主题

[有事请教] 如何使用腳本模擬按下[特殊]按鈕的....[求助]

[复制链接]

Lv4.逐梦者

梦石
0
星屑
7483
在线时间
1474 小时
注册时间
2018-12-16
帖子
2063
跳转到指定楼层
1
发表于 2021-5-26 13:12:12 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 play337 于 2021-5-26 15:29 编辑

我如果使用 PictureCallCommon.js
01. 創建一個[圖片1]按下 k 鍵
02. 事件輸入腳本
Input._currentState["k"] = true;

結果他會按一下有反應... 但是第二下就沒有反應了...
那輸入錯誤嗎?

------------------------------
我發現如果我做另一個按鈕[圖片2]輸入腳本

Input._currentState["k"] = false;

這樣就必須要按一下[圖片1]放出去...在按一下[圖片2]取消

------------------------------

但是如果把它們放在一起

Input._currentState["k"] = true;
Input._currentState["k"] = false;

這樣就又不會跑


------------------------------

但是如果把它們放在一起加入一個等待...

Input._currentState["k"] = true;
this.wait(500);
Input._currentState["k"] = false;

這樣還是不會跑


------------------------------
但是如果把它們放在一起加入一個加100金幣

Input._currentState["k"] = true;
$gameParty.gainGold(100);
Input._currentState["k"] = false;
$gameParty.gainGold(100);

就會變成 加200金幣 但是不會跑...

---------------------------------
Input._currentState["k"] = true;
我發現 K 如果是 方向鍵 ... 他好像是會 一直走 走到底... 黏住 除非你執行
Input._currentState["k"] = false;

但是他們又不能放在一起... 真頭大

---------------------------------
Input.isTriggered('k')
改成這個也不會動...


請教各位大佬 有解嗎 ?

Lv3.寻梦者

梦石
0
星屑
3476
在线时间
293 小时
注册时间
2020-1-27
帖子
190
2
发表于 2021-5-26 14:33:23 | 只看该作者

回帖奖励 +4

本帖最后由 zths 于 2021-5-26 15:28 编辑

  1. //KeyEvent 事件属性 或者一个按键字(仅限 a-z 0-9)
  2. function fireKeyEv(keyOrOption,time){
  3.     return new Promise(function(r,rj){
  4.         var opt;
  5.         if (typeof keyOrOption === 'string' || keyOrOption instanceof String){
  6.             var keycode = keyOrOption.toUpperCase().charCodeAt(0);
  7.             opt = {
  8.                 key: keyOrOption[0],
  9.                 which: keycode,
  10.                 code: "Key"+keyOrOption.toUpperCase()[0],
  11.                 keyCode: keycode
  12.             };
  13.         }else{
  14.             opt = keyOrOption;
  15.         }
  16.         if(time === undefined){
  17.             time = 300;
  18.         }
  19.         var downEv = new KeyboardEvent("keydown", opt);
  20.         var pressEv = new KeyboardEvent("keypress", opt);
  21.         var upEv = new KeyboardEvent("keyup", opt);
  22.         document.dispatchEvent(downEv);
  23.         var inv = setInterval(function(){
  24.             document.dispatchEvent(downEv);
  25.             document.dispatchEvent(pressEv);
  26.         }, 500);
  27.         setTimeout(function(){
  28.             r();
  29.             clearInterval(inv);
  30.             document.dispatchEvent(pressEv);
  31.             document.dispatchEvent(upEv);
  32.         }, time)
  33.     });
  34. }
  35. (async function(){
  36.     await fireKeyEv("x");
  37.     await fireKeyEv({keyCode: 40});//{key:"ArrowDown", which:40, keyCode:40, code:"ArrowDown"}
  38.     await fireKeyEv("z");
  39.     await fireKeyEv("z");
  40. })();
复制代码

试试.

评分

参与人数 1+1 收起 理由
白嫩白嫩的 + 1 z大佬每次都能救我们于水火之中.

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7483
在线时间
1474 小时
注册时间
2018-12-16
帖子
2063
3
 楼主| 发表于 2021-5-26 15:28:48 | 只看该作者


回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7483
在线时间
1474 小时
注册时间
2018-12-16
帖子
2063
4
 楼主| 发表于 2021-5-26 15:48:00 | 只看该作者

ReferenceError: n3 is not defined
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7483
在线时间
1474 小时
注册时间
2018-12-16
帖子
2063
5
 楼主| 发表于 2021-5-26 15:51:05 | 只看该作者
Game_Temp.prototype.loadInput = function() {
        Input.keyMapper[97] = 'n1';
        Input.keyMapper[98] = 'n2';
        Input.keyMapper[99] = 'n3';
    Input.keyMapper[101] = 'n5';
        Input.keyMapper[74] = 'j';
        Input.keyMapper[75] = 'k';
        Input.keyMapper[76] = 'l';
    Input.keyMapper[73] = 'i';
};

----------------------------

如果我要從腳本裡面 呼叫按下 n3 這個按鈕 我應該要如何做呢 ?

我現在在腳本用 fireKeyEv(n3,300)

結果還是錯誤...
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3476
在线时间
293 小时
注册时间
2020-1-27
帖子
190
6
发表于 2021-5-26 15:57:34 | 只看该作者
本帖最后由 zths 于 2021-5-26 15:59 编辑

fireKeyEv({keyCode: 99});

https://keycode.info/

点评

神了!!!! 666666  发表于 2021-5-26 16:09
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-8 06:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表