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

Project1

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

[已经过期] 新人有一个代码问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2014-3-8
帖子
5
跳转到指定楼层
1
发表于 2015-6-12 21:34:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
昨天制作主负责发论坛求了个整合。。然后看都没看就直接丢给我了=-=
我主要负责脚本修改,但问题是其实我根本不会ruby的语言orz
完全是拿pascal和vb的知识在看2333
卖个萌,原谅我吧~

其实现在的问题是这个整合一打开整队系统就会报错,说'<='未定义
好吧我知道这问题好像挺小白的。。但我还是向问一下解决方案
  1.   def on_formation_ok
  2.     if @status_window.pending_index > nil
  3.     then $game_party.swap_order(@status_window.index,
  4.                              @status_window.pending_index)
  5.       @status_window.pending_index = -1
  6.       @status_window.redraw_item(@status_window.index)
  7.     else
  8.       @status_window.pending_index = @status_window.index
  9.     end
  10.     @status_window.activate
  11.   end
复制代码
就是这行,求大神帮忙!

点评

编辑一下你的帖子,标题写上出错信息  发表于 2015-6-13 00:44

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2015-6-12 21:42:28 | 只看该作者
但我在你的脚本中根本没有看到 <=

这个问题通常是因为试图将 nil 与其他东西比较大小导致的... 检查一下是不是有变量没有初始化吧
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2014-3-8
帖子
5
3
 楼主| 发表于 2015-6-12 22:08:40 | 只看该作者
然而再次实验,就算把nil的变量改为定量依然有这个问题。
而且把所有关于整队的脚本删去就会反馈出一个迷一样的'-@'未定义。。
看来是整个Scene_menu的问题了。。
orz负责坑我啊。。。。。。
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Scene_Menu
  4. #------------------------------------------------------------------------------
  5. #  菜单画面
  6. #==============================================================================

  7. class Scene_Menu < Scene_MenuBase
  8.   #--------------------------------------------------------------------------
  9.   # ● 开始处理
  10.   #--------------------------------------------------------------------------
  11.   def start
  12.     super
  13.     create_command_window
  14.     create_gold_window
  15.     create_status_window
  16.     @PlayTime__window=Window_PlayTime.new(160,Graphics.height-48,Graphics.width-160)
  17.   end
  18.   #--------------------------------------------------------------------------
  19.   # ● 生成指令窗口
  20.   #--------------------------------------------------------------------------
  21.   def create_command_window
  22.     @command_window = Window_MenuCommand.new
  23.     @command_window.set_handler(:item,      method(:command_item))
  24.     @command_window.set_handler(:skill,     method(:command_personal))
  25.     @command_window.set_handler(:equip,     method(:command_personal))
  26.     @command_window.set_handler(:status,    method(:command_personal))
  27.     @command_window.set_handler(:formation, method(:command_formation))
  28.     @command_window.set_handler(:save,      method(:command_save))
  29.     @command_window.set_handler(:game_end,  method(:command_game_end))
  30.     @command_window.set_handler(:cancel,    method(:return_scene))
  31.   end
  32.   #--------------------------------------------------------------------------
  33.   # ● 生成金钱窗口
  34.   #--------------------------------------------------------------------------
  35.   def create_gold_window
  36.     @gold_window = Window_Gold.new
  37.     @gold_window.x = 0
  38.     @gold_window.y = Graphics.height - @gold_window.height
  39.   end
  40.   #--------------------------------------------------------------------------
  41.   # ● 生成状态窗口
  42.   #--------------------------------------------------------------------------
  43.   def create_status_window
  44.     @status_window = Window_MenuStatus.new(0,48)
  45.   end
  46.   #--------------------------------------------------------------------------
  47.   # ● 指令“物品”
  48.   #--------------------------------------------------------------------------
  49.   def command_item
  50.     SceneManager.call(Scene_Item)
  51.   end
  52.   #--------------------------------------------------------------------------
  53.   # ● 指令“技能”“装备”“状态”
  54.   #--------------------------------------------------------------------------
  55.   def command_personal
  56.     @status_window.select_last
  57.     @status_window.activate
  58.     @status_window.set_handler(:ok,     method(:on_personal_ok))
  59.     @status_window.set_handler(:cancel, method(:on_personal_cancel))
  60.   end
  61.   #--------------------------------------------------------------------------
  62.   # ● 指令“整队”
  63.   #--------------------------------------------------------------------------
  64.   def command_formation
  65.     @status_window.select_last
  66.     @status_window.activate
  67.     @status_window.set_handler(:ok,     method(:on_formation_ok))
  68.     @status_window.set_handler(:cancel, method(:on_formation_cancel))
  69.   end
  70.   #--------------------------------------------------------------------------
  71.   # ● 指令“存档”
  72.   #--------------------------------------------------------------------------
  73.   def command_save
  74.     SceneManager.call(Scene_Save)
  75.   end
  76.   #--------------------------------------------------------------------------
  77.   # ● 指令“结束游戏”
  78.   #--------------------------------------------------------------------------
  79.   def command_game_end
  80.     SceneManager.call(Scene_End)
  81.   end
  82.   #--------------------------------------------------------------------------
  83.   # ● 个人指令“确定”
  84.   #--------------------------------------------------------------------------
  85.   def on_personal_ok
  86.     case @command_window.current_symbol
  87.     when :skill
  88.       SceneManager.call(Scene_Skill)
  89.     when :equip
  90.       SceneManager.call(Scene_Equip)
  91.     when :status
  92.       SceneManager.call(Scene_Status)
  93.     end
  94.   end
  95.   #--------------------------------------------------------------------------
  96.   # ● 个人指令“取消”
  97.   #--------------------------------------------------------------------------
  98.   def on_personal_cancel
  99.     @status_window.unselect
  100.     @command_window.activate
  101.   end
  102.   #--------------------------------------------------------------------------
  103.   # ● 整队“确定”
  104.   #--------------------------------------------------------------------------
  105.   def on_formation_ok
  106.     if @status_window.pending_index >= nil
  107.       $game_party.swap_order(@status_window.index,
  108.                              @status_window.pending_index)
  109.       @status_window.pending_index = -1
  110.       @status_window.redraw_item(@status_window.index)
  111.     else
  112.       @status_window.pending_index = @status_window.index
  113.     end
  114.     @status_window.activate
  115.   end
  116.   #--------------------------------------------------------------------------
  117.   # ● 整队“取消”
  118.   #--------------------------------------------------------------------------
  119.   def on_formation_cancel
  120.     if @status_window.pending_index >= 0
  121.       @status_window.pending_index = -1
  122.       @status_window.activate
  123.     else
  124.       @status_window.unselect
  125.       @command_window.activate
  126.     end
  127.   end
  128.     #--------------------------------------------------------------------------

  129.   # ● 生成背景

  130.   #--------------------------------------------------------------------------

  131.   def create_background

  132.     @background_sprite = Sprite.new

  133.     @background_sprite.bitmap =Cache.load_bitmap("Graphics/System/","Menuback")

  134.     @background_sprite.color.set(0,0, 0,0)

  135.   end

  136. end
复制代码
求帮忙QAQ

点评

把nil改成0就好,再报错的话再看有啥问题吧。一般排除nil都是unless xxx.nil?或者用if xxxx!=nil  发表于 2015-6-12 23:53
nil不能比较大小……  发表于 2015-6-12 23:49
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
135
在线时间
450 小时
注册时间
2015-2-25
帖子
365
4
发表于 2015-6-12 22:46:48 | 只看该作者
為什麼不把報錯內容截圖發一下呢
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2014-3-8
帖子
5
5
 楼主| 发表于 2015-6-13 17:22:20 | 只看该作者
然而改成0以后依然是这样报错。。

%NH)F1_F0_AEA$XGX2W]P(3.png (6.95 KB, 下载次数: 18)

%NH)F1_F0_AEA$XGX2W]P(3.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
180
在线时间
829 小时
注册时间
2010-6-26
帖子
671
6
发表于 2015-6-13 17:43:27 | 只看该作者
本帖最后由 企鹅达达 于 2015-6-13 17:44 编辑

查查看你的class Window_MenuStatus下面这段改了没?
  1.   #--------------------------------------------------------------------------
  2.   # ● 初始化对象
  3.   #--------------------------------------------------------------------------
  4.   def initialize(x, y)
  5.     super(x, y, window_width, window_height)
  6.     @pending_index = -1
  7.     refresh
  8.   end
复制代码
另外,把107行是一定要改成0的,别用nil
新手们!不要被看扁了!我们也会用论坛搜索,我们也会自己找脚本,我们也会自己点击关闭按钮旁边的小问号!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 04:16

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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