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

Project1

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

[已经解决] 谁来详解一下脚本

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
24 小时
注册时间
2012-2-18
帖子
25
跳转到指定楼层
1
发表于 2013-7-31 15:50:38 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
关于API接口,每一部分负责哪里,自己的程序如何就可以连接到系统API

Lv2.观梦者

狂気の月兔

梦石
0
星屑
276
在线时间
1245 小时
注册时间
2009-4-7
帖子
879

贵宾

3
发表于 2013-8-1 16:00:23 | 只看该作者
本帖最后由 铃仙·优昙华院·因幡 于 2013-8-1 16:02 编辑

咱只能说用 Win32API 这个 Ruby 类来调用.

引用一下:
RUBY 代码复制
  1. Win32API.new(dllname, proc, import, export)
  2. 加载名为dllname的DLL,生成API函数proc的对象。在import中指定proc的参数类型列表,在export中指定proc返回值的类型。
  3.  
  4. 使用下列字符串或数组来指定类型。
  5.  
  6. "p" 指针
  7. "n", "l" long
  8. "i" int
  9. "v" void
  10. 若import为nil,则看成是没有参数。若export为nil,则看做是没有返回值(void)


Win32API.new 可以成是 C++ 里动态调用所要做的第一步, 也就是
C 代码复制
  1. HINSTANCE hdll = ::LoadLibrary(dllname);
  2. typedef [export] (*DllFunc)([import]);
  3. DllFunc _DllFunc = (DllFunc)::GetProcAddress(hdll, proc);


以上算是 C++ 代码吧. 虽然要改改,不过了为了对应好看所以就这么写了. 不过既然知道了 API 了, 那么 C++ 应该或多或少知道的吧.

对于 Ruby 就是要调用这个API, Win32API#Call 方法来调用. 其实就是类似函数或者是方法的调用. 相对 C++ 就是, _DllFunc(参数);

一个小小的例子: http://rpg.blue/forum.php?mod=re ... 6&fromuid=63926 122楼





至于说有什么 API 能用, 这个就要看 MSDN 了. 里面有详尽的 API 列表, 功能, 参数等信息. 前提是用的是 Windows 和 RGSS 能调用.

要自定义的话, 那么可以查阅相关语言的 DLL 编写指南.

点评

喵  发表于 2013-8-2 15:19
铃仙·-·  发表于 2013-8-1 16:43
好厉害撒花  发表于 2013-8-1 16:09

评分

参与人数 1梦石 +1 收起 理由
怪蜀黍 + 1 好厉害撒花

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
687
在线时间
791 小时
注册时间
2011-10-20
帖子
2394

开拓者

2
发表于 2013-8-1 15:41:38 | 只看该作者
写出要用的API名,传递 传出传入类型(调用的传值等等)即可,你可以理解成函数、方法。
你只需负责用这个强大的API即可
欢迎点此进入我的egames.wink.ws,有RMQQ堂等

[url=http://rpg.blue/thread-317273-1-1.html]短篇八-赶选

http://yun.baidu.com/share/link?shareid=2158225779&uk=169642147&third=0


历险ARPG赢回你的疆域新的战斗模式?…………点击这里:[宋乱贼狂 for QQ堂]
http://rpg.blue/group-368-1.html
programing ....?
[url=http://rpg.blue/thrd-234658-1-1.html]
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 17:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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