幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
楼主: sharya_xiao

[RM2K&2K3] 关于游戏图片占用内存问题

[复制链接]

88

主题

4889

帖子

38万

积分

版主

年度最佳拖稿王

Rank: 7Rank: 7Rank: 7

积分
386227

声命组铜赏

QQ
发表于 2007-9-12 01:28:51 | 显示全部楼层
-3- 估计是使用的图片数量过多的缘故

-----------------Y就这样做
显示图片1 - 001
等待2帧
显示图片1 - 002
等待2帧
显示图片1 - 003
等待2帧
...
显示图片1 - 250
等待2帧
图片消失1
回复 支持 反对

使用道具 举报

1

主题

17

帖子

189

积分

③业余

积分
189
 楼主| 发表于 2007-9-12 13:10:18 | 显示全部楼层
引用第10楼XTLCME于2007-09-12 01:28发表的  :
-3- 估计是使用的图片数量过多的缘故

-----------------Y就这样做
显示图片1 - 001
等待2帧
.......
还是不行...虽着"CG"播放...看着内存一路飙升...CG结束我等待200帧再转跳地图也不降下来[s:8]
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2007-9-12 14:00:31 | 显示全部楼层
我看脚本里是图片消失  是name=""

这样根本就不能释放内存的八。。。。
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

136

主题

1751

帖子

548

积分

版主

Rank: 7Rank: 7Rank: 7

积分
548
发表于 2007-9-12 15:10:12 | 显示全部楼层
Bitmap, Sprite...都有dispose这的方法,用来释放掉资源。
え~え~お!!!
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2007-9-12 15:13:48 | 显示全部楼层
显示图片是
$game_picture.show里面没有那个方法。。。我又不知道该怎么写。。。。

这个。。。能力啊。。。。我倒是知道,nil,dispose能省内存。。不会写。。。。
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

32

主题

1176

帖子

10216万

积分

⑥精研

大家都爱好少年

积分
102162186
发表于 2007-9-12 20:09:49 | 显示全部楼层
[s:5] 不如LZ直接用脚本写这一长串吧……(被抽)
这样就能用DISPOSE了……(再度被抽)
原谅我这样的小白只能想到这种方法……

脚本显示图片可以用sprite……
具体方法如下:
(注:sprite1是随便定的名字……@是局部变量吧MS,只能在固定的一个CLASS里调用……LZ可以参考Scene_Title做一个动画的Scene出来= =)
#显示图片的话这样
    @sprite1 = Sprite.new
    @sprite1.bitmap = Bitmap.new("Graphics/Titles/title1")
#括号里的是图片路径……这两行是调用画面
   @sprite1.x = 40
    @sprite1.y = 120
#设置坐标……按左上角算,Z是叠放次序,越大则图片放越上面。
然后改变图片……调用Graphics.update……
嗯……虽然我也可以直接帮LZ做……不过……以我的懒惰程度LZ就将就着看吧(终于彻底被抽飞)
战,然后死!
回复 支持 反对

使用道具 举报

1

主题

17

帖子

189

积分

③业余

积分
189
 楼主| 发表于 2007-9-12 21:39:28 | 显示全部楼层
大概是这样吧....但是350+张图...个人能力有限

朋友能否帮忙写个FOR循环...万分感激


-----------------
class Scene_CG
  def initialize

   @sprite = Sprite.new
   @sprite.bitmap = Bitmap.new("Graphics/Pictures/1 (帧 000).jpg")
   @sprite.x =0
   @sprite.y = 0
   
   @sprite.bitmap = Bitmap.new("Graphics/Pictures/1 (帧 001).jpg")
   @sprite.x =0
   @sprite.y = 0
   Graphics.update
   .
   .
   .
   .
   Graphics.update

   $game_temp.map_bgm = $game_system.playing_bgm
   opening_bgm=RPG::AudioFile.new("开场CG.mp3", 100, 100)
   $game_system.bgm_play(opening_bgm)
end
end
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2007-9-12 21:53:15 | 显示全部楼层
@sprite弄成数组就可以for了阿
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2007-9-12 21:57:33 | 显示全部楼层
对不起。。我忘记LZ的用途了。。。请忽略

@sprite = Sprite.new

for i in 0..X    # X 自己定
   @sprite.bitmap = Bitmap.new("Graphics/Pictures/1 (帧 " + i.to_s + ").jpg")
      Graphics.update
end

在最后dispose

文件名字不能是   000,001
应该是0,1。。。。10,11。。。99,100,101
前面别有0

完毕
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2007-9-12 21:58:17 | 显示全部楼层
补一句,,这完全是按照LZ上面那个帖写的循环。。我没有做测试 [s:5] 请LZ自测
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-21 21:48 , Processed in 0.014319 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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