Project1

标题: 急需整合脚本,内详。 [打印本页]

作者: 暴风の龙    时间: 2008-4-30 16:44
标题: 急需整合脚本,内详。
出现问题的是亿万的半遮挡人物脚本和跟随脚本……
我搞了半天依然不知道问题在哪里,所以上来求教……

两个脚本分别是:
http://rpg.blue/web/htm/news190.htm
http://rpg.blue/web/htm/news352.htm


顺便贴上范例,希望高手来帮帮忙,如果能详细写出出错的原因更好,好做学习……
http://rpg.blue/upload_program/files/Project19_89973637.rar
[LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: hitlerson    时间: 2008-4-30 17:37
sprite1 == nil ?????????
作者: 禾西    时间: 2008-4-30 17:39
跟随
230-231 行
添加:
@character_sprites1.unshift(
Sprite_Character.new(@viewport1, character)
)

[LINE]1,#dddddd[/LINE]
具體理由不要問我,我也不清楚。過程倒是可以說一下:

打開工程,進入遊戲。
系統顯示
遮挡 221 行 出現了No method Error
undefined method 'update' for nil:NilClass

在221行找到
          sprite1.update(0)

語句
用查找查看來源,發現
sprite1 = @character_sprites1

確認是 @character_sprites1 出現了 nil 元素
嚮上查找,得知 i 來源於 0...@character_sprites.size 循環
於是在 208 行輸入
p @character_sprites.size, @character_sprites1.size

結果發現
一次刷新以後,兩者size不同。
確認某處地方更改了 @character_sprites (size 爲4),而沒有修改 @character_sprites1 (size 爲1)
[LINE]1,#dddddd[/LINE]
把「跟随」腳本移到「main」腳本以下,進入遊戲,正常運作。
確認問題處在「跟随」腳本當中。
於是在「跟随」腳本當中查找 @character_sprites
結果有三個
然後發現
@character_sprites.unshift(
Sprite_Character.new(@viewport1, character)
)

.unshift 語句是把元素添加到數組頭部
在此語句底下添加
p @character_sprites.size

進入遊戲,發現顯示數字從 2 增加到 4,然後出錯
確定問題所在。
往下添加開頭的語句
進入遊戲,運作正常。 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 暴风の龙    时间: 2008-4-30 17:46
感谢禾西……
我只找到你说的第二步,看来要学的东西还有很多啊……

完美解决。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1