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

Project1

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

[已经解决] 求助吖!怎么在一个window里加入图片?

[复制链接]

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
681
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

跳转到指定楼层
1
发表于 2011-3-15 20:07:48 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
如果用显示图片,那么退出后又怎么消除?
求助呀………………
看了一些原脚本和大神们写的都还是毫无头绪吖……
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
681
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

16
 楼主| 发表于 2011-3-16 12:39:35 | 只看该作者
回复 爱丽丝·玛格特罗依德 的帖子

感谢前辈…………话说怎样让窗口结束之后消失呐……?


冰舞蝶恋于2011-3-16 20:15补充以下内容:
呃,懂了,谢谢各位前辈,咱该认可谁呢…………?

点评

铃仙不是说过可以认可多人么? (喜欢用"~"蛇号的某人在装蒜呢~大雾~)  发表于 2011-3-16 20:24
咱只是一个发帖数不到10的新人罢了~~~ > <  发表于 2011-3-16 19:19
def dispose;super;@sprite.bitmap.dispose;@sprite.dispose;end  发表于 2011-3-16 12:53
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42696
在线时间
7618 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

15
发表于 2011-3-16 08:54:24 | 只看该作者
回复 冰舞蝶恋 的帖子

窗口工作大致分三阶段,
1.初始化(initialize)
创建一个sprite
@spritefux=Sprite.new
@spritefux.bitmap=Bitmap.new("graph...地址")
2.刷新(update或refresh)
@spritefux.update
3.释放(dispose)
@spritefux.bitmap.dispose
@spritefux.dispose
.
.
以上三个步骤分别插入相应的window过程

点评

那重新赋值坐标的时候会有残影  发表于 2011-3-16 11:07
又是邪恶的"fux"字句= =,不是用波浪效果是不需要@spritefux.update(Sprite来说)(其实上楼已经很明确了)  发表于 2011-3-16 10:22
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

Lv4.逐梦者

弓箭手?剑兰

梦石
0
星屑
5754
在线时间
833 小时
注册时间
2010-11-17
帖子
1140
14
发表于 2011-3-16 07:18:13 | 只看该作者
好~于是整合起来就:
    @sprite = Sprite.new(Viewport.new(self.x + 32, self.y + 32, self.width-64, self,height-64))
    @sprite.bitmap = Cache.system("IconSet")     # ←如果图片经常用的话

    @sprite.bitmap = Bitmap.new("Graphics/System/IconSet")
    # ↑图片用一次的话↑,还有路径是"/"而不是平常的"\"我想可能因为正则的关系吧~
    @sprite.x = self.x + 32
    @sprite.y = self.y + 32
    @sprite.z = 101

释放:
    @sprite.bitmap.dispose       # 这个需要么?
    @sprite.dispose                  # 我一向只用这个...
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
28 小时
注册时间
2011-1-12
帖子
42
13
发表于 2011-3-15 22:49:13 | 只看该作者
@XXX 应该要添加这个.

不然就是局部变量, 方法结束后会被 RM 释放掉.

点评

这是一个笔误= =  发表于 2011-3-16 07:10
回复

使用道具 举报

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
681
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

12
 楼主| 发表于 2011-3-15 22:47:19 | 只看该作者
天哪……咱一点也没看懂…………倒是剑兰神给的第二种方法,为什么闪一下就消失了捏…………?谢谢。

点评

不要叫我大人、前辈、甚至是神,我只是学前者~  发表于 2011-3-16 08:03
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
28 小时
注册时间
2011-1-12
帖子
42
11
发表于 2011-3-15 22:14:54 | 只看该作者
回复 一箭烂YiJL 的帖子

Cache 里的 Bitmap 在外部调用 dispose 的话, 只会将引用计数器减1 , 计时器等于 0 的话, 就真正的释放掉.

以上是个人的想法. Cache 没细看. 设计上应该是这样的.

点评

你们偏题了.  发表于 2011-3-16 14:48
好吧, 使用 Cache 的时候要记得 dispose 之前要看看有没有其他的地方有使用这个图片. 添加计时器是个不错的选择~~  发表于 2011-3-15 22:43
好吧, 以上是 Window 的做法. 不是 RM window 的做法. 无视吧. 默认只有加载.  发表于 2011-3-15 22:40
表示完全没有看出这样的计时释放= =,是Cache做还是GC回收做?(没有的话这个想法加建也不错.)  发表于 2011-3-15 22:20
回复

使用道具 举报

Lv4.逐梦者

弓箭手?剑兰

梦石
0
星屑
5754
在线时间
833 小时
注册时间
2010-11-17
帖子
1140
10
发表于 2011-3-15 22:11:22 | 只看该作者
回复 爱丽丝·玛格特罗依德 的帖子

用得少也就是用一下就被dispose掉(dispose会在内存消失?),
这样一直放在Cache的哈希里面不占内存么?
如果Cache也能个别式的clear就好了。
(GC也只限制在Cache.clear中)

其实如果再好一些的话,可以:
@sprite = Sprite.new(Viewport.new(self.x + 32, self.y + 32, self.width-32, self,height-32))
用viewport来锁定显示范围为window。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
28 小时
注册时间
2011-1-12
帖子
42
9
发表于 2011-3-15 21:56:58 | 只看该作者
Cache 有 Hash 来维护, 对于加载次数多的图片, 使用 Cache 来加载更加节约内存.

直接使用 new 来加载的话, 加载一次内存添加一次. 虽然有 GC 的帮忙, 不过能避免的话, 总是好的.

对于第一次加载的 Bitmap , 最多内存消耗比直接使用 Bitmap.new 大那么一点点.

总体感觉 Cache 还是不错的.
回复

使用道具 举报

Lv4.逐梦者

弓箭手?剑兰

梦石
0
星屑
5754
在线时间
833 小时
注册时间
2010-11-17
帖子
1140
8
发表于 2011-3-15 21:49:44 | 只看该作者
回复 蕾米莉亚·斯卡雷特 的帖子

其实原意并不是直接(new)改动的= =
blt这个搬字过纸的方法, 搬了半透明图案进无透明图案会令无透明图案清除...(好头疼= =)。
用sprite的方法x坐标和y坐标应该要:
sprite.x = self.x + 32;sprite.y = self.y + 32   # 32是窗口边,还是16?
记得window的z坐标好像是100?(以前偶尔的测试...)所以应该要sprite.z = 101。

个人感觉Cache的方法名很乱,我倒不如Bitmap.new("Graphics/System/IconSet")
特别是少得用的图案不要用Cache, 反而耗内存.
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-26 23:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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