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

Project1

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

[已经解决] (Sprite in Array)'s Bitmap Dispose Trauble?

[复制链接]

Lv2.观梦者

梦石
0
星屑
690
在线时间
791 小时
注册时间
2011-10-20
帖子
2394

开拓者

跳转到指定楼层
1
发表于 2012-5-26 23:09:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 end55rpg 于 2012-5-26 23:17 编辑

刚刚那帖子太混乱了,重发,顺便答对者2贴同时采纳!
标题即:在数组中的精灵类(sprite)的位图(bitmap)清除(dispose)后,数组(array)全部元素(values)的位图(bitmap)都被清除(dispose)了.
(带英汉互易)= =,不信你们自己看,我工程都做好了: NEWSIDES.rar (240.04 KB, 下载次数: 13)
看在偶铺底图和代码准备完毕情况下旧测试一下把,,,,分不够再ADDDDDDDDDDDD


‘‘──end55rpg于2012-5-26 23:17补充以下内容:

@Wind2010
’’
欢迎点此进入我的egames.wink.ws,有RMQQ堂等

[url=http://rpg.blue/thread-317273-1-1.html]短篇八-赶选

http://yun.baidu.com/share/link?shareid=2158225779&uk=169642147&third=0


历险ARPG赢回你的疆域新的战斗模式?…………点击这里:[宋乱贼狂 for QQ堂]
http://rpg.blue/group-368-1.html
programing ....?
[url=http://rpg.blue/thrd-234658-1-1.html]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
帖子
590
2
发表于 2012-5-27 00:45:58 | 只看该作者

点评

??看不见图  发表于 2012-5-27 12:25
回复

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3132
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

3
发表于 2012-5-27 06:52:01 | 只看该作者
本帖最后由 IamI 于 2012-5-27 06:53 编辑

指针概念认为,对于任何一个大型的对象,其真实的位置不在运算中传递,在各次赋值当中,互相交换的只是这个对象的内存地址,而对象本身没有被拷贝。
说这么一堆废话的意思是,您是否将整个数组的 Bitmap 为方便而设置成了同一个?或者用 Cache 加载了同一张?
如果有,请使用十次 Bitmap.new 方法,不要打 Object#clone 的主意……那玩意对 Bitmap 无效,而且很容易出错。

点评

应该是CACHE了同一张?代码:self.bitmap = RPG::Cache.picture("screenshot")  发表于 2012-5-27 09:44
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
690
在线时间
791 小时
注册时间
2011-10-20
帖子
2394

开拓者

4
 楼主| 发表于 2012-5-27 09:51:02 | 只看该作者
IamI 发表于 2012-5-27 06:52
指针概念认为,对于任何一个大型的对象,其真实的位置不在运算中传递,在各次赋值当中,互相交换的只是这个 ...

代码如下
1.建立数组
  1. class Spriteset_Map
  2.   #--------------------------------------------------------------------------
  3.   # ● 初始化对像
  4.   #--------------------------------------------------------------------------
  5.   alias in2 initialize
  6.   def initialize
  7.     # 生成显示端口
  8.     in2
  9.     @viewport1 = Viewport.new(0, 0, 640, 480)
  10.     $array = Array.new(10){Sprite_XXX.new(@viewport1)}  
  11.   end
  12. end
复制代码
2.精灵类:
  1. class Sprite_XXX < RPG::Sprite
  2.   #--------------------------------------------------------------------------
  3.   # ● 初始化对像
  4.   #--------------------------------------------------------------------------
  5.   def initialize(v)
  6.     super(v)
  7.     self.bitmap = RPG::Cache.picture("screenshot")
  8.     self.x = rand 300
  9.     self.zoom_x = 0.1
  10.     self.zoom_x = 0.3
  11.     self.y = rand(200)
  12.     self.z = 9999
  13.     self.tone = Tone.new(rand(256),rand(255),rand(255))
  14.     self.opacity = 155
  15.   end
  16.   #--------------------------------------------------------------------------
  17.   # ● 释放
  18.   #--------------------------------------------------------------------------
  19.   def dispose
  20.     if self.bitmap != nil
  21.       self.bitmap.dispose
  22.     end
  23.     super
  24.   end
  25. end
复制代码
然后$array[0].dispose全部都会消失,怎么改?
欢迎点此进入我的egames.wink.ws,有RMQQ堂等

[url=http://rpg.blue/thread-317273-1-1.html]短篇八-赶选

http://yun.baidu.com/share/link?shareid=2158225779&uk=169642147&third=0


历险ARPG赢回你的疆域新的战斗模式?…………点击这里:[宋乱贼狂 for QQ堂]
http://rpg.blue/group-368-1.html
programing ....?
[url=http://rpg.blue/thrd-234658-1-1.html]
回复

使用道具 举报

Lv6.析梦学徒

Fuzzy Ginkgo
Taciturn Knight

梦石
0
星屑
60819
在线时间
1934 小时
注册时间
2010-6-26
帖子
1605

烫烫烫开拓者

5
发表于 2012-5-27 09:58:51 | 只看该作者
self.bitmap = Bitmap.new("Graphics/Pictures/screenshot")

点评

= =可以了  发表于 2012-5-27 12:27
我的言论只代表我个人的观点,不代表雇主及/或任何第三方的立场。
Opinions expressed are solely my own and do not express the views or opinions of my employer and/or any third parties.
捐赠 | GitHub
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 18:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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