Project1
标题:
肢解rmxp脚本
[打印本页]
作者:
yxylwt
时间:
2013-1-29 23:14
标题:
肢解rmxp脚本
本帖最后由 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脚本里面加点代码进入,把菜单功能实现出来。
作者:
冲啊小笼包
时间:
2013-1-29 23:42
发到水区和技术讨论区吧,这玩意儿既不符合参赛条件。而且同类的很多了,不过鼓励下!
作者:
yxylwt
时间:
2013-1-29 23:54
有很多了吗?呵呵 ,给个类似的链接看看,我就不用继续下去了
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1