赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 364 |
最后登录 | 2013-2-2 |
在线时间 | 31 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 31 小时
- 注册时间
- 2012-2-12
- 帖子
- 9
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 yxylwt 于 2013-1-29 23:38 编辑
似乎这个帖子不适合发到这里,呵呵,麻烦管理员移走吧。
应该很多人对rmxp的脚本有点望而生畏,我也一样。这里我想尝试做一个工作,把rmxp的脚本先全部删除掉,
从一个文件的一句代码开始,再慢慢一点点的把删除的脚本放回去,这样大家就会对rmxp
脚本有一个整体的认识了,有兴趣的跟着我来一起做:
1 . 把除了main脚本的其他脚本全删除掉,再把main里面的代码也全部删除掉,
再敲进去这行代码:
p "Hello World!
保存后运行一下看看。这行代码可能是最简单的脚本了,但是他也做了一件事,向这个世界发出了问候。
同时,这行代码也告诉我们,rmxp已经给我们做了很多工作,这些工作不是在脚本里面的,我们是看不
到,也是修改不了的,他们是在rmxp内部实现的,像窗口的显示,图像的处理,事件的机制等等。
2. 在这个main脚本里面我们再来做一件事:显示标题窗口的那副图片,
实际上也只要几行代码:
# 生成标题图形
@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.title("001-title01")
# 主循环
loop do
# 刷新游戏画面
Graphics.update
end
# 释放标题图形
@sprite.bitmap.dispose
@sprite.dispose
保存后,运行一下看看,图片是不是显示出来了呢?
这几行代码就是rmxp脚本最核心的机制了,对以上的几行代码,大家最好琢磨透。这几行代码实际上不仅仅是
rmxp的核心机制,也可以说是所有游戏引擎的核心机制,像那些高深的c++引擎,3D引擎,所有的游戏显示原理都
是基于这个思想去实现的。也就是把所有要显示的图像元素多长时间去刷新重新显示一次,每秒钟图像能刷新的次数
叫做帧率,这是任何一个游戏的关键指标。
3. 我们还是把显示图片这个功能放到Scene_Title里面,这样我门就有了标题画面的雏形功能。
main文件里面的代码,我们可以保留最先自动创建的那些代码,Scene_Title的代码先放进下面的代码:
class Scene_Title
#--------------------------------------------------------------------------
# ● 主处理
#--------------------------------------------------------------------------
def main
# 生成标题图形
@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.title("001-title01")
# 执行过渡
Graphics.transition
# 主循环
loop do
# 刷新游戏画面
Graphics.update
end
# 图像过渡
Graphics.freeze
# 释放标题图形
@sprite.bitmap.dispose
@sprite.dispose
end
end
这样我们的脚本,就有了两个:Main,Scene_Title,每个脚本里面只有10来行代码,但我们已经有了标题画面的基本功能了。
下一次,我们在Scene_Title脚本里面加点代码进入,把菜单功能实现出来。 |
|