Project1
标题:
新人有一个代码问题
[打印本页]
作者:
ww199735
时间:
2015-6-12 21:34
标题:
新人有一个代码问题
昨天制作主负责发论坛求了个整合。。然后看都没看就直接丢给我了=-=
我主要负责脚本修改,但问题是其实我根本不会ruby的语言orz
完全是拿pascal和vb的知识在看2333
卖个萌,原谅我吧~
其实现在的问题是这个整合一打开整队系统就会报错,说'<='未定义
好吧我知道这问题好像挺小白的。。但我还是向问一下解决方案
def on_formation_ok
if @status_window.pending_index > nil
then $game_party.swap_order(@status_window.index,
@status_window.pending_index)
@status_window.pending_index = -1
@status_window.redraw_item(@status_window.index)
else
@status_window.pending_index = @status_window.index
end
@status_window.activate
end
复制代码
就是这行,求大神帮忙!
作者:
taroxd
时间:
2015-6-12 21:42
但我在你的脚本中根本没有看到 <=
这个问题通常是因为试图将 nil 与其他东西比较大小导致的... 检查一下是不是有变量没有初始化吧
作者:
ww199735
时间:
2015-6-12 22:08
然而再次实验,就算把nil的变量改为定量依然有这个问题。
而且把所有关于整队的脚本删去就会反馈出一个迷一样的'-@'未定义。。
看来是整个Scene_menu的问题了。。
orz负责坑我啊。。。。。。
#encoding:utf-8
#==============================================================================
# ■ Scene_Menu
#------------------------------------------------------------------------------
# 菜单画面
#==============================================================================
class Scene_Menu < Scene_MenuBase
#--------------------------------------------------------------------------
# ● 开始处理
#--------------------------------------------------------------------------
def start
super
create_command_window
create_gold_window
create_status_window
@PlayTime__window=Window_PlayTime.new(160,Graphics.height-48,Graphics.width-160)
end
#--------------------------------------------------------------------------
# ● 生成指令窗口
#--------------------------------------------------------------------------
def create_command_window
@command_window = Window_MenuCommand.new
@command_window.set_handler(:item, method(:command_item))
@command_window.set_handler(:skill, method(:command_personal))
@command_window.set_handler(:equip, method(:command_personal))
@command_window.set_handler(:status, method(:command_personal))
@command_window.set_handler(:formation, method(:command_formation))
@command_window.set_handler(:save, method(:command_save))
@command_window.set_handler(:game_end, method(:command_game_end))
@command_window.set_handler(:cancel, method(:return_scene))
end
#--------------------------------------------------------------------------
# ● 生成金钱窗口
#--------------------------------------------------------------------------
def create_gold_window
@gold_window = Window_Gold.new
@gold_window.x = 0
@gold_window.y = Graphics.height - @gold_window.height
end
#--------------------------------------------------------------------------
# ● 生成状态窗口
#--------------------------------------------------------------------------
def create_status_window
@status_window = Window_MenuStatus.new(0,48)
end
#--------------------------------------------------------------------------
# ● 指令“物品”
#--------------------------------------------------------------------------
def command_item
SceneManager.call(Scene_Item)
end
#--------------------------------------------------------------------------
# ● 指令“技能”“装备”“状态”
#--------------------------------------------------------------------------
def command_personal
@status_window.select_last
@status_window.activate
@status_window.set_handler(:ok, method(:on_personal_ok))
@status_window.set_handler(:cancel, method(:on_personal_cancel))
end
#--------------------------------------------------------------------------
# ● 指令“整队”
#--------------------------------------------------------------------------
def command_formation
@status_window.select_last
@status_window.activate
@status_window.set_handler(:ok, method(:on_formation_ok))
@status_window.set_handler(:cancel, method(:on_formation_cancel))
end
#--------------------------------------------------------------------------
# ● 指令“存档”
#--------------------------------------------------------------------------
def command_save
SceneManager.call(Scene_Save)
end
#--------------------------------------------------------------------------
# ● 指令“结束游戏”
#--------------------------------------------------------------------------
def command_game_end
SceneManager.call(Scene_End)
end
#--------------------------------------------------------------------------
# ● 个人指令“确定”
#--------------------------------------------------------------------------
def on_personal_ok
case @command_window.current_symbol
when :skill
SceneManager.call(Scene_Skill)
when :equip
SceneManager.call(Scene_Equip)
when :status
SceneManager.call(Scene_Status)
end
end
#--------------------------------------------------------------------------
# ● 个人指令“取消”
#--------------------------------------------------------------------------
def on_personal_cancel
@status_window.unselect
@command_window.activate
end
#--------------------------------------------------------------------------
# ● 整队“确定”
#--------------------------------------------------------------------------
def on_formation_ok
if @status_window.pending_index >= nil
$game_party.swap_order(@status_window.index,
@status_window.pending_index)
@status_window.pending_index = -1
@status_window.redraw_item(@status_window.index)
else
@status_window.pending_index = @status_window.index
end
@status_window.activate
end
#--------------------------------------------------------------------------
# ● 整队“取消”
#--------------------------------------------------------------------------
def on_formation_cancel
if @status_window.pending_index >= 0
@status_window.pending_index = -1
@status_window.activate
else
@status_window.unselect
@command_window.activate
end
end
#--------------------------------------------------------------------------
# ● 生成背景
#--------------------------------------------------------------------------
def create_background
@background_sprite = Sprite.new
@background_sprite.bitmap =Cache.load_bitmap("Graphics/System/","Menuback")
@background_sprite.color.set(0,0, 0,0)
end
end
复制代码
求帮忙QAQ
作者:
howhow1314
时间:
2015-6-12 22:46
為什麼不把報錯內容截圖發一下呢
作者:
ww199735
时间:
2015-6-13 17:22
然而改成0以后依然是这样报错。。
%NH)F1_F0_AEA$XGX2W]P(3.png
(6.95 KB, 下载次数: 19)
下载附件
保存到相册
2015-6-13 17:21 上传
作者:
企鹅达达
时间:
2015-6-13 17:43
本帖最后由 企鹅达达 于 2015-6-13 17:44 编辑
查查看你的class Window_MenuStatus下面这段改了没?
#--------------------------------------------------------------------------
# ● 初始化对象
#--------------------------------------------------------------------------
def initialize(x, y)
super(x, y, window_width, window_height)
@pending_index = -1
refresh
end
复制代码
另外,把107行是一定要改成0的,别用nil
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1