查看: 2509|回复: 2

[RMVA发布] 脚本出错大全

[复制链接]

梦石
0
星屑
407
在线时间
1291 小时
注册时间
2013-1-12
回帖
3349

贵宾

发表于 2013-7-9 01:50:24 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 76213585 于 2013-7-9 10:13 编辑

现在提问区这种问题跟本占了1/2... 看了就煩
是不知道有沒有人寫过... 不过我觉得应该有这样的文章出现
等別人來弄不如自己來弄


先以最常的出错讯息的开始.......


出错讯息:Undefined method "xxxxx" for nil:NILCLASS
什么是nil?

可以参考此处
如果出現此訊息  這代表中間的xxx(变量) 為nil  
nil就是空  不是0  是不存的在的  沒赋值就是nil  
每个变量刚开始都是默认为nil   因為nil不占内存空间

P叔說明的很好  非常易懂
总之出现这种是他没有那个变量的数值
解决方法P叔很好的说明了
就是當他不為NIL時才值行此行動  
P叔的例子:
[pre lang="ruby" line="1"]for i in 0..10
$game_troop.members.hp+=1
end[/pre]
這一句 這樣的話 如果只有8位成員  如果I=9就是NIL  就會出錯
所以要改成這樣:
[pre lang="ruby" line="1"]for i in 0..10
$game_troop.members.hp+=1 unless $game_troop.members.nil?
end[/pre]
就是如果此变量為NIL  不採取此行動

而未赋值有很多个可能
常見的例子如下:
橫版100的時候
他會說無法zoom * 0.001 什么的

那就是因为你没有一个战斗背景他在获得原大小时出错了(应该是这样吧)


出错讯息:fail to create bitmap
此錯誤信息是因為:
這邊为加快载入速度并节省内存 全部的圖片都會先保存為bitmap 並存入内部哈希表中
所以他可以在需要时使用(其实我也不懂这到底是在说什么)
以上来自脚本Cache(缓存)的说明
此模块载入所有图像,建立并保存 Bitmap 对象。为加快载入速度并节省内存,
此模块将以建立的 bitmap 对象保存在内部哈希表中,使得程序在需要已存在
的图像时能快速读取 bitmap 对象。


所以說白了就是無法將图片存入bitmap內
這種在你使用gif图時會发生
由于gif文件图是由很多个画面组成的(应该是?)
他就無法存入

satgo1546補充:
此錯誤在圖片太大(無法存入內存) 時也會发生


应该有别的可能  这边再慢慢收集

未找到文件
xxxx/xxxx/xxxxx

这是最好解决的一个出错
这就是指缺少了上面所说的文件
总之要解决就是找个图片放入他所说的文件夹就对了
通常如果有脚本他就会提供所需素材
如果沒素材  先去找脚本出处 没有再去素材分享區找个適合的
再沒有你就去游戏图像制作工房問吧....


會慢慢更新的.....    例子也會增加





梦石
0
星屑
660
在线时间
1286 小时
注册时间
2011-6-14
回帖
3949
发表于 2013-7-9 21:18:27 | 显示全部楼层
图片宽高过大也会导致Failed to create bitmap错误。
关于Cache:
由于每次Bitmap.new("xxx/xxx")都会消耗时间(那么点时间看不出来= =),因此它把所有已经建立过的Bitmap给存起来,等下次用的时候直接调用即可。

点评

认为更多是为了节省内存。Bitmap.new每次都会创建新的位图,每个位图都占用内存。Cache会使用同一个位图来节省内存  发表于 2013-7-14 09:49

评分

参与人数 1星屑 +2 收起 理由
熊喵酱 + 2 謝謝補充!

查看全部评分

回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部