Project1

标题: 关于两个显示图片的脚本问题 [打印本页]

作者: wangswz    时间: 2010-7-9 14:16
标题: 关于两个显示图片的脚本问题
本帖最后由 wangswz 于 2010-7-11 12:07 编辑

bitmap = Cache.load_bitmap("Graphics/Pictures/", "face"+"#{@actor.id}")
rect = Rect.new(0, 0, 272, 288)
self.contents.blt(225, 75, bitmap, rect, 100) #雪流星教程的

Skeleton = Sprite.new
Skeleton.bitmap = Bitmap.new("Graphics/Battlers/Skeleton")
Skeleton.ox = Skeleton.bitmap.width / 2
Skeleton.oy = Skeleton.bitmap.height / 2 #VXF1文件里的
Skeleton.x = 272
Skeleton.y = 208
这两种显示图片的方法有什么具体的不同?

[line]1[/line]
第一种使用过多会让游戏变卡么 如何才能将其释放?
作者: 仲秋启明    时间: 2010-7-9 14:51
其实是一样的,VX默认的 sprite=Sprite.new
详见Sprite类
作者: wangswz    时间: 2010-7-9 19:52
自顶吧
作者: 负零    时间: 2010-7-9 22:15
我试试 正缺一个显示图片的脚本
作者: wangswz    时间: 2010-7-10 00:35
自顶哦
作者: wangswz    时间: 2010-7-10 10:25
自顶
作者: 沉影不器    时间: 2010-7-10 11:05
提示: 作者被禁止或删除 内容自动屏蔽
作者: wangswz    时间: 2010-7-10 20:28
第一种使用过多会让游戏变卡么 如何才能将其释放?
自顶
作者: 小幽的马甲    时间: 2010-7-11 08:27
Cache有self.clear这个方法……不过这样的话整个缓存都会没了,以后第一次打开图片可能会慢点。
话说cache就是一个哈希表,所以自己写一个方法让它只删一个也行……不过这样麻烦还不如直接用Sprite
作者: 紫苏    时间: 2010-7-11 08:36
本帖最后由 紫苏 于 2010-7-11 11:29 编辑

第一种是牺牲空间换取速度,在空间不怎么充裕的环境下,自然会让游戏变卡
释放单个位图:
Cache.module_eval { @cache["图片相对路径"] and @cache["图片相对路径"].dispose }
释放所有位图:
Cache.clear

编辑:改了一下代码,之前神经短路居然写了个 Bitmap#clear




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1