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

Project1

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

[已经解决] 关于地图上按键盘来开启开关和状态的脚本

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
275 小时
注册时间
2010-8-19
帖子
68
跳转到指定楼层
发表于 2015-9-14 17:01:12 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
5星屑
小弟的想法是,在地图上按"R"键来开启或关闭"开关1"
"开关1"开启时,主角同时附加"状态1",,关闭时,主角解除"状态1",
希望大大可以帮忙><希望是脚本,,因为用纯事件会使游戏很卡吧{:2_270:}

最佳答案

查看完整内容

module Keyboard API = Win32API.new('user32', 'GetAsyncKeyState', 'I', 'I') # 以按键码为键,连续按下的帧数为值的 hash @states = Hash.new { |h, k| h[k] = 0 } def self.update @states.each_key do |key| @states[key] = API.call(key) < 0 ? @states[key] + 1 : 0 end end def self.clear @states.clear end def self.trigger?(key) @states[key] == 1 end end class Sc ...

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

1
发表于 2015-9-14 17:01:13 | 只看该作者
本帖最后由 taroxd 于 2015-9-14 20:47 编辑

RUBY 代码复制
  1. module Keyboard
  2.  
  3.   API = Win32API.new('user32', 'GetAsyncKeyState', 'I', 'I')
  4.  
  5.   # 以按键码为键,连续按下的帧数为值的 hash
  6.   @states = Hash.new { |h, k| h[k] = 0 }
  7.  
  8.   def self.update
  9.     @states.each_key do |key|
  10.       @states[key] = API.call(key) < 0 ? @states[key] + 1 : 0
  11.     end
  12.   end
  13.  
  14.   def self.clear
  15.     @states.clear
  16.   end
  17.  
  18.   def self.trigger?(key)
  19.     @states[key] == 1
  20.   end
  21. end
  22.  
  23. class Scene_Map
  24.   alias_method :ub_20150914, :update_basic
  25.   def update_basic
  26.     ub_20150914
  27.  
  28.     Keyboard.update
  29.  
  30.     return unless Keyboard.trigger? 'R'.ord
  31.  
  32.     s = $game_switches
  33.  
  34.     if s[1]
  35.       s[1] = false
  36.       $game_party.members.each { |actor| actor.remove_state 1 }
  37.     else
  38.       s[1] = true
  39.       $game_party.members.each { |actor| actor.add_state    1 }
  40.     end
  41.  
  42.   end
  43. end

点评

因为怕要求太多没人帮....知道是版主大大便麻烦你了,,哈哈,,感谢大大  发表于 2015-9-14 20:55
OK。还有别的要求请一次性说完,谢谢  发表于 2015-9-14 20:48
啊不对……算了我改吧  发表于 2015-9-14 20:46
33行改为 $game_party.members.each do |actor| 然后脚本最后加个 end  发表于 2015-9-14 20:45
不好意思啊大大,,如果由角色1改为全体的话又怎样改??  发表于 2015-9-14 20:39
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 21:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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