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

Project1

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

[已经解决] 关于两个显示图片的脚本问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
416 小时
注册时间
2006-10-21
帖子
1245
跳转到指定楼层
1
发表于 2010-7-9 14:16:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 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
这两种显示图片的方法有什么具体的不同?



第一种使用过多会让游戏变卡么 如何才能将其释放?

Lv4.逐梦者

醉啸 长风万里

梦石
0
星屑
6217
在线时间
6596 小时
注册时间
2007-12-16
帖子
4501

贵宾

2
发表于 2010-7-9 14:51:42 | 只看该作者
其实是一样的,VX默认的 sprite=Sprite.new
详见Sprite类

点评

还是不太明白 求详细解释 sprite里只介绍了第二种的方法和属性  发表于 2010-7-10 10:30

还在龟速填坑中
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
416 小时
注册时间
2006-10-21
帖子
1245
3
 楼主| 发表于 2010-7-9 19:52:28 | 只看该作者
自顶吧
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
723
在线时间
530 小时
注册时间
2010-6-9
帖子
840
4
发表于 2010-7-9 22:15:34 | 只看该作者
我试试 正缺一个显示图片的脚本
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
416 小时
注册时间
2006-10-21
帖子
1245
5
 楼主| 发表于 2010-7-10 00:35:15 | 只看该作者
自顶哦
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
416 小时
注册时间
2006-10-21
帖子
1245
6
 楼主| 发表于 2010-7-10 10:25:21 | 只看该作者
自顶
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
帖子
2558

第1届Title华丽大赛新人奖

7
发表于 2010-7-10 11:05:48 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
416 小时
注册时间
2006-10-21
帖子
1245
8
 楼主| 发表于 2010-7-10 20:28:36 | 只看该作者
第一种使用过多会让游戏变卡么 如何才能将其释放?
自顶
回复 支持 反对

使用道具 举报

Lv1.梦旅人

万物创造者

梦石
0
星屑
54
在线时间
352 小时
注册时间
2008-2-15
帖子
2432
9
发表于 2010-7-11 08:27:23 | 只看该作者
Cache有self.clear这个方法……不过这样的话整个缓存都会没了,以后第一次打开图片可能会慢点。
话说cache就是一个哈希表,所以自己写一个方法让它只删一个也行……不过这样麻烦还不如直接用Sprite

点评

@cache 虽然是实例变量,但它是在 self.XXX 的方法中被定义的,所以是属于 Cache 模块对象本身的实例上下文,转换一下就是 Cache 的模块上下文  发表于 2010-7-11 11:31
module_eval 是用来在一个模块/类的模块上下文中 eval 脚本的,所谓模块/类上下文就是一种作用域,一种运行时环境,module 和 end 以及 class 和 end 之间,实例方法之外都属于模块/类上下文~ Cache 模块里的 @cach   发表于 2010-7-11 11:28

评分

参与人数 1星屑 +2 收起 理由
wangswz + 2 十分感谢细心讲解

查看全部评分

From mortal hope immortal power springs.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
10
发表于 2010-7-11 08:36:05 | 只看该作者
本帖最后由 紫苏 于 2010-7-11 11:29 编辑

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

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

点评

虽然可能有点小白,但还是想请问module_eval是什么方法= =  发表于 2010-7-11 08:58

评分

参与人数 2星屑 +84 收起 理由
小幽的马甲 + 80 同感谢
wangswz + 4 十分感谢细心讲解

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-28 00:00

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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