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

Project1

 找回密码
 注册会员
搜索

VA你???了!!!

查看数: 1796 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2012-11-24 03:26

正文摘要:

RUBY 代码复制class API  def initialize(dll)    @dll = dll  end  def method_missing sym, *a    Win32API.new(@dll ...

回复

晴兰 发表于 2012-11-24 21:57:59
提示: 作者被禁止或删除 内容自动屏蔽
zhangbanxian 发表于 2012-11-24 14:45:39
本帖最后由 zhangbanxian 于 2012-11-24 14:58 编辑

- -b好绕的脚本,然后原来字符串可以写成这样吗,call什么的原来可以省略吗(我竟然被蒙在鼓里这么久)orz...
然后,貌似是漏写了一个.to_s,method_missing用多了,bug果然不好找...
RUBY 代码复制
  1. class API
  2.   def initialize(dll)
  3.     @dll = dll.to_s
  4.   end
  5.   def method_missing sym, *a
  6.     Win32API.new(@dll, sym.to_s, a.map{|x|x.is_a?(Integer) ? ?i: ?p}, ?i).(*a)
  7.   end
  8. end
  9. def method_missing(sym)
  10.   x = API.new(sym)
  11.   define_singleton_method sym, lambda{x}
  12.   x
  13. end
  14.  
  15.  
  16. $plane = Sprite.new
  17. $plane.bitmap = Bitmap.new Graphics.width, Graphics.height
  18.  
  19. def readkey
  20.   user32.GetKeyboardState $buf="\0"*256
  21. end
  22.  
  23. module Game
  24.   def self.update
  25.     a = $buf
  26.     readkey   
  27.     p $buf.unpack("c*")  if a != $buf
  28.   end
  29. end
  30.  
  31. loop do
  32.   Graphics.update
  33.   Game.update
  34. end

评分

参与人数 1星屑 +20 收起 理由
晴兰 + 20 认可答案

查看全部评分

satgo1546 发表于 2012-11-24 12:53:19
会不会导致电脑一起???了……呐……
咕噜 发表于 2012-11-24 12:39:10
好可爱的脚本啊
zeldafd 发表于 2012-11-24 09:26:14
不能解釋的錯誤=-=:
是存取的東西過分了麼…

点评

顶层的method_missing报错时有问题…… self.method_missing都好点 虽然意义差不多……  发表于 2012-11-24 22:32
bbh 发表于 2012-11-24 08:44:02
好有爱的脚本啊0 0……………………
爱尔伯塔 发表于 2012-11-24 07:26:46
这是???...了啊
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-19 05:25

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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