Project1

标题: 关于武器实例中途遇到一个小问题 [打印本页]

作者: 轩辕合流    时间: 2022-9-23 21:35
标题: 关于武器实例中途遇到一个小问题
大家好呀!好久没回来了,不知道还是否有人记得我。曾经也就那么急匆匆出现寥寥几天。这次回来只是为了当初的小难关。在RMXP中默认系统中设置了 $data_actors $game_actors 听过不少人的看法都是为了让角色功能更多更具有特色。想到这里我就不禁想到武器是否也可以照猫画虎的模仿一下。于是就有了它


#■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
# ■ Game_Weapons
# ■  处理《三生伏魔经》游戏武器对象的类。
# ■  建立日期: 2002/9/23  20:51
# ■  建立任务:  小流
#■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
class Game_Weapons
   attr_accessor :id
   attr_accessor :name
   attr_accessor :icon_name
   attr_accessor :description
   attr_accessor :animation1_id
   attr_accessor :animation2_id
   attr_accessor :price
   attr_accessor :atk
   attr_accessor :pdef
   attr_accessor :mdef
   attr_accessor :str_plus
   attr_accessor :dex_plus
   attr_accessor :agi_plus
   attr_accessor :int_plus
   attr_accessor :element_set
   attr_accessor :plus_state_set
   attr_accessor :minus_state_set
   ########## 三生特色 ##########
   attr_accessor :inlay
   def initialize(weapon_id)
     setup(weapon_id)
   end
   def setup(weapon_id)
     weapon = $data_weapons[weapon_id]
     @id                = weapon.id
     @name              = weapon.name
     @icon_name         = weapon.icon_name
     @description       = weapon.description
     @animation1_id     = weapon.animation1_id
     @animation2_id     = weapon.animation2_id
     @price             = weapon.price
     @atk               = weapon.atk
     @pdef              = weapon.pdef
     @mdef              = weapon.mdef
     @str_plus          = weapon.str_plus
     @dex_plus          = weapon.dex_plus
     @agi_plus          = weapon.agi_plus
     @int_plus          = weapon.int_plus
     @element_set       = weapon.element_set
     @plus_state_set    = weapon.plus_state_set
     @minus_state_set   = weapon.minus_state_set
     ########## 三生特色 ##########
     @inlay             = false
                        
   end
end

在刚开始就很还是很顺利的时候,麻烦就来了。而且是我百思不得其解,还是要感谢强大project1让我有地方询问

无标题.jpg (26.86 KB, 下载次数: 13)

无标题.jpg

无标题.jpg (190.09 KB, 下载次数: 11)

无标题.jpg

无标题1.jpg (226.68 KB, 下载次数: 16)

无标题1.jpg

作者: 百里_飞柳    时间: 2022-9-23 22:17
报错地方在 Scene_Title,但是你没有截

估计是你生成 $game_weapons 这种全局变量时出错了吧?

Game_Actor 的initialize里的super()没有参数,是因为它的父类 Game_Battler 的initialize没有参数,
但注意,如果super()后面没有括号,而是直接写 super,就会默认把当前方法的全部参数传递给父类的同名方法,导致触发参数错误的提示(不需要参数,但传入了1个)
作者: enghao_lim    时间: 2022-9-25 02:05
问题楼上稍微说了,报错的行数和你截图不符,无法找到原因。

顺便说下,rmxp的$data_actors和game_actors不是为了让角色更具特色,纯粹是一个记录初始值,一个记录进度值……
因为默认武器并不需要所谓的进度值,所以game_weapon有也和没有一样,当然有的话修改会更方便。

当然生成一个game_weapon是优解,不过要改动的量可能相当大,所以传统懒惰的方式是直接把$data_weapons塞进存档里,不是优解,但胜在省心。




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