查看: 8947|回复: 39

[已经过期] RMXP系统里画图块的方式是每帧循环画,还是一次画好?

  [复制链接]
梦石
0
星屑
555
在线时间
177 小时
注册时间
2006-10-3
回帖
532
发表于 2007-12-27 17:47:08 | 显示全部楼层 |阅读模式

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

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

×
RMXP系统里画图块的方式是每帧都用循环挨个画,还是一次画好?
说比如循环的话,就是每帧都要循环画20(或21)*15(或16)个图块```
如果是一次画好的话,就是一次画到一个内存场景里,然后每帧都只要复制一下就行````
我想这个操作应该是公开在RGSS里的吧?{/cy}
版务信息:本贴由楼主自主结贴~
在我初学RM的时候觉得脚本是高手的工具,等我学会了编程技术后才发现脚本原来是小孩子的玩具。
梦石
0
星屑
555
在线时间
177 小时
注册时间
2006-10-3
回帖
532
发表于 2007-12-27 17:47:08 | 显示全部楼层 |阅读模式

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

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

×
RMXP系统里画图块的方式是每帧都用循环挨个画,还是一次画好?
说比如循环的话,就是每帧都要循环画20(或21)*15(或16)个图块```
如果是一次画好的话,就是一次画到一个内存场景里,然后每帧都只要复制一下就行````
我想这个操作应该是公开在RGSS里的吧?{/cy}
版务信息:本贴由楼主自主结贴~
在我初学RM的时候觉得脚本是高手的工具,等我学会了编程技术后才发现脚本原来是小孩子的玩具。

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
回帖
3667

第1届短篇游戏比赛亚军

发表于 2007-12-27 18:22:11 | 显示全部楼层
一次画好,之后直接引用内存中的对象,自己查F1的cahce.
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
纵然千里外,我等雁归来。
回复

使用道具 举报

梦石
0
星屑
555
在线时间
177 小时
注册时间
2006-10-3
回帖
532
 楼主| 发表于 2007-12-27 18:31:39 | 显示全部楼层
果然如此!谢谢了~~~~美兽{/tp}{/qiang}
在我初学RM的时候觉得脚本是高手的工具,等我学会了编程技术后才发现脚本原来是小孩子的玩具。
回复

使用道具 举报

梦石
0
星屑
555
在线时间
177 小时
注册时间
2006-10-3
回帖
532
 楼主| 发表于 2009-10-8 21:13:58 | 显示全部楼层
3# 美兽
我计算了一下,RGSS不可能一次性将地图全部绘制在纹理里,应该是循环21*16对每个图块进行刷新,或者使用更好的优化算法(我自己想到一种就算每次移动只要画跨越的一行图块就行)。

RM最高500*500的地图:
32*32*500*500 = 256000000(像素)
如果是4直接的像素 256000000*4/1024/1024=976.5625(MB)
而且地图有三层,976.5625*3/1024=2.8(GB)
在我初学RM的时候觉得脚本是高手的工具,等我学会了编程技术后才发现脚本原来是小孩子的玩具。
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
21 小时
注册时间
2007-7-3
回帖
570
发表于 2009-10-9 14:37:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

梦石
0
星屑
555
在线时间
177 小时
注册时间
2006-10-3
回帖
532
 楼主| 发表于 2009-10-9 15:20:03 | 显示全部楼层
再次证明TILMAP不是简单地把东西涂在一块地图大小的BITMAP上~~~~
goahead 发表于 2009-10-9 14:37

不过它也有可能更简单的循环21*16*3次来画图块。这样效率会吃掉很多的。不过我已经想到优化方法了
在我初学RM的时候觉得脚本是高手的工具,等我学会了编程技术后才发现脚本原来是小孩子的玩具。
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
21 小时
注册时间
2007-7-3
回帖
570
发表于 2009-10-9 15:35:06 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

梦石
0
星屑
555
在线时间
177 小时
注册时间
2006-10-3
回帖
532
 楼主| 发表于 2009-10-9 18:35:02 | 显示全部楼层
8# goahead
其れは違うだよ~!
実は:
for(int y=0;y<=21;y++)
for(int x=0;x<=16;x++)
{
//draw(x,y)
}
在我初学RM的时候觉得脚本是高手的工具,等我学会了编程技术后才发现脚本原来是小孩子的玩具。
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
21 小时
注册时间
2007-7-3
回帖
570
发表于 2009-10-13 09:44:54 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部