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

Project1

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

[已经解决] 怎么样设定开关开启时,按“字母键M”时改变变量?

[复制链接]

Lv4.逐梦者

梦石
0
星屑
7697
在线时间
1157 小时
注册时间
2006-7-18
帖子
601
跳转到指定楼层
1
发表于 2015-4-30 14:58:47 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
找到一个地图系统,系统地图有3种模式,用变量0~3来控制了!
想扩张一下,设定成:
(0=无地图,1=右上小地图,2=画面中央大地图)
获得地图后,地图开关开启
开关开启后,按M键顺序切换3种地图模式
模式的话大约是这样:
按一下M键
地图变量+1
当地图变量=>3时
地图变量=0(无地图显示)
=========================================
另一个想法:
开关为ON时
按着Tab键,地图变量=2(画面中央显示大地图)
放开Tab键,地图变量=0(关闭地图模式)

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
2
发表于 2015-4-30 17:10:39 | 只看该作者
你有全键盘的脚本么?

点评

不是你用不用的到问题……而是RM是为了手柄使用设计的,所以游戏功能键的个数不能超过手柄可行的范围内。  发表于 2015-4-30 18:07
用不到手柄的吧?之前有个F5窗口化的脚本就没用到手柄上的键,自定了一个啊!  发表于 2015-4-30 17:27
首先,手柄上并没有“M”键……你得先有“M”键不是么…… 你进行游戏测试,然后按F1就可以看到按键设置了。  发表于 2015-4-30 17:23
晕!没那么复杂啦!就一个按钮的功能,感觉用不了多少代码吧!  发表于 2015-4-30 17:21
_(:з」∠)_ RM是为游戏手柄设计的,所以不会相应整个电脑键盘。你想要用到手柄能做的事情以外的事情当然需要额外的脚本。  发表于 2015-4-30 17:17
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7697
在线时间
1157 小时
注册时间
2006-7-18
帖子
601
3
 楼主| 发表于 2015-4-30 17:23:07 | 只看该作者
本帖最后由 雷影 于 2015-4-30 17:24 编辑

简单来说就是
按一下M键,某变量+1,当变量大于等于3时,变量清零。

再细致一下就是,当某开关ON时,上面的代码才能执行。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
23068
在线时间
8648 小时
注册时间
2011-12-31
帖子
3367
4
发表于 2015-4-30 18:06:39 | 只看该作者
本帖最后由 tseyik 于 2015-5-1 08:11 编辑

例:按X制切替迷你地図方式
公共事件>並行>変数1>開関二有効

点评

我換張圖  发表于 2015-5-1 08:10
ル-ブ是不對舶;ループ才對;偱環,迴路  发表于 2015-5-1 08:05
那个ル-ブ是什么意思?查了一下是“润滑油”???  发表于 2015-5-1 00:04
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
76
在线时间
1379 小时
注册时间
2012-7-5
帖子
1698

开拓者

5
发表于 2015-4-30 18:15:50 | 只看该作者
(1) 全键盘
  1. module Kboard
  2. module_function
  3. @R_Key_Hash = {}
  4. @R_Key_Repeat = {}
  5. GetKeyState = Win32API.new("user32","GetAsyncKeyState",['I'],'I')
  6. def press?(rkey)
  7.    return GetKeyState.call(rkey) != 0
  8. end
  9. def repeat?(rkey)
  10.    result = GetKeyState.call(rkey)
  11.    if result != 0
  12.      if @R_Key_Repeat[rkey].nil?
  13.        @R_Key_Repeat[rkey] = 0
  14.        return true
  15.      end
  16.      @R_Key_Repeat[rkey] += 1
  17.    else
  18.      @R_Key_Repeat[rkey] = nil
  19.      @R_Key_Hash[rkey] = 0
  20.    end
  21.    if !@R_Key_Repeat[rkey].nil? and @R_Key_Repeat[rkey] > 4 # 4乃准确数字
  22.      @R_Key_Repeat[rkey] = 0
  23.      return true
  24.    else
  25.      return false
  26.    end
  27. end
  28. def trigger?(rkey)
  29.    result = GetKeyState.call(rkey)
  30.    if @R_Key_Hash[rkey] == 1 and result != 0
  31.      return false
  32.    end
  33.    if result != 0
  34.      @R_Key_Hash[rkey] = 1
  35.      return true
  36.    else
  37.      @R_Key_Hash[rkey] = 0
  38.      return false
  39.    end
  40. end
  41. end
复制代码
(2)M键hex: 0x4D
  1. Kboard.trigger?(0x4D)
复制代码
(3)地图变量的操作
(放在你的地图脚本的update内(自己把"地图变量"改成你需要的):)
  1. 地图变量 = (地图变量 + 1) % 3 if Kboard.trigger?(0x4D)
复制代码

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 我很赞同

查看全部评分


  -fk: -azogi:
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
115 小时
注册时间
2012-11-15
帖子
119
6
发表于 2015-5-3 00:00:14 | 只看该作者
条件分歧第四页带有“按钮X(X在游戏中可设定为游戏内的上下左右ABXYZLR ——均指游戏按钮而非键盘上的键)被按下时的情况,可以用这个搭配并行做出楼主想要的效果。
至于M键游戏本身是不允许设定M键为某个游戏按钮的、的,所以如果你硬是要M键的话就必须要全键盘脚本。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-24 11:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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