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

Project1

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

[已经解决] 如何为特技代入某个数值(类似于SP消耗)?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
24 小时
注册时间
2012-9-16
帖子
12
跳转到指定楼层
1
发表于 2014-7-10 19:22:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我在  Game_Battler 1  中写了  attr_reader : apcost  之后,仿照SP消耗写了一句 $data_skills[1].apcost = 10 ,结果出来  NoMethodError
……我想问一下该如何为某号特技代入某个数值 (类似于SP消耗)?

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

2
发表于 2014-7-10 19:45:47 | 只看该作者
attr_reader :apcost不应该写在这里,而且写法也不对。
如果要给RPG::Skill加个新属性,应该这样写:
  1. module RPG
  2.   class Skill
  3.     attr_accessor :apcost
  4.     alias old_initialize initialize
  5.     def initialize
  6.        @apcost = 0
  7.        old_initialize
  8.     end
  9.   end
  10. end
复制代码
这样可以在脚本中写$data_skills[1].apcost = 10这样的东西。
不过,这种东西无法保存,退出游戏后再次进入需要重新设定才行。

注:这种设置方法对那些没经过设置的,例如调用$data_skills[2].apcost,会返回nil,这点要注意。

评分

参与人数 1星屑 +200 收起 理由
hys111111 + 200 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

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

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

开拓者贵宾

3
发表于 2014-7-10 20:02:01 | 只看该作者
本帖最后由 taroxd 于 2014-7-10 20:03 编辑
RyanBern 发表于 2014-7-10 19:45
attr_reader :apcost不应该写在这里,而且写法也不对。
如果要给RPG::Skill加个新属性,应该这样写:这样可 ...


我的建议吧,这种东西还是存在某个全局变量(比如$game_system)的实例变量里,这样就可以存档了

把 $game_system 的实例变量 @apcost 初始化成一个数组(或哈希),然后 attr_reader :apcost 就可以了

点评

对。Hash还可以带默认值  发表于 2014-7-10 20:21
嗯,放在$game_system里初始化Hash比较好。  发表于 2014-7-10 20:18

评分

参与人数 2星屑 +120 收起 理由
hys111111 + 100 认可答案
RyanBern + 20 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
24 小时
注册时间
2012-9-16
帖子
12
4
 楼主| 发表于 2014-7-10 20:25:14 | 只看该作者
解决了!谢谢您了!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-1 11:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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