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

Project1

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

[已经解决] $game_actors[1].maxhp = $game_actors[1].maxhp * 2战斗中使用出错

[复制链接]

Lv1.梦旅人

梦石
0
星屑
47
在线时间
55 小时
注册时间
2010-8-4
帖子
299
跳转到指定楼层
1
发表于 2010-10-13 19:26:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
$game_actors[1].maxhp = $game_actors[1].maxhp * 2
战斗中一个招式附带的
报错
怎么解决

点评

请贴出错误描述或者脚本  发表于 2010-10-13 19:52
努力制作金庸主题的高自由度武侠game..求爱好者协助

Lv1.梦旅人

梦石
0
星屑
47
在线时间
55 小时
注册时间
2010-8-4
帖子
299
2
 楼主| 发表于 2010-10-13 21:22:42 | 只看该作者
战斗中某招式公共事件用事件写的这句
一号主角的

评分

参与人数 1星屑 -20 收起 理由
六祈 -20 请勿连帖

查看全部评分

努力制作金庸主题的高自由度武侠game..求爱好者协助
回复 支持 反对

使用道具 举报

Lv2.观梦者

旅之愚者

梦石
0
星屑
275
在线时间
812 小时
注册时间
2007-7-28
帖子
2148

贵宾

3
发表于 2010-10-13 22:31:44 | 只看该作者
本帖最后由 六祈 于 2010-10-13 22:36 编辑
  1.   #--------------------------------------------------------------------------
  2.   # ● 获取 MaxHP
  3.   #--------------------------------------------------------------------------
  4.   def maxhp
  5.     n = [[base_maxhp + @maxhp_plus, 1].max, 9999].min
  6.     for i in @states
  7.       n *= $data_states[i].maxhp_rate / 100.0
  8.     end
  9.     n = [[Integer(n), 1].max, 9999].min
  10.     return n
  11.   end
复制代码
看Game_Actor的代码,很明显maxhp不是一个属性【准确的说,它不是一个实例变量的接口】

它的获取是根据成长曲线获得值【base_maxhp方法获得】和实例变量@maxhp_plus取得

这么说你明白了么?


愚者觉得你这个想要实现的效果莫名其妙,不过考虑到xxxxx,就直接给你一个可以实现该效果的代码,你可以无视该分隔线上面部分的话
  1. class Game_Actor
  2. def maxhp=(value)
  3. @maxhp_plus += value - maxhp
  4. end
  5. end
复制代码

点评

好像扯的有点多,而且maxhp=这个方法在game_battler类里竟然有了……囧  发表于 2010-10-14 12:32
67大人还是说的太复杂,九前辈就说的很简单啊。  发表于 2010-10-14 10:03
说成,这个变量为只读属性,只能看,不能改!如果要改,就要赋予权限! 这样更通俗更难懂!  发表于 2010-10-13 23:27
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
帖子
590
4
发表于 2010-10-13 23:34:06 | 只看该作者
本帖最后由 wbsy8241 于 2010-10-13 23:35 编辑

LS... Game_Battler 里有的啊= =
  1.   #--------------------------------------------------------------------------
  2.   # ● 设置 MaxHP
  3.   #     maxhp : 新的 MaxHP
  4.   #--------------------------------------------------------------------------
  5.   def maxhp=(maxhp)
  6.     @maxhp_plus += maxhp - self.maxhp
  7.     @maxhp_plus = [[@maxhp_plus, -9999].max, 9999].min
  8.     @hp = [@hp, self.maxhp].min
  9.   end
复制代码
请尽量将1句脚本写在同1行里
可以写成:
maxhp = $game_actors[1].maxhp * 2
$game_actors[1].maxhp = maxhp

或者带个连接符
$game_actors[1].maxhp = $game_actors\
[1].maxhp * 2

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

5
发表于 2010-10-14 09:09:38 | 只看该作者
就事论事而言——$game_actors[1].maxhp*=2

评分

参与人数 1星屑 +12 收起 理由
fux2 + 12 来膜拜前辈……〔之前加错分,多打一个6〕 ...

查看全部评分

我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

尽头

梦石
0
星屑
119
在线时间
278 小时
注册时间
2010-6-20
帖子
1280
6
发表于 2010-10-14 12:33:27 | 只看该作者
是$game_party.actors[0].maxhp吧 - -..

点评

明白...,,,67啊....先帮我解决问题吧...  发表于 2010-10-14 12:42
$game_party.actors这个数组是队伍的角色,$game_actors这个数组是对应数据库里的角色。不过是不同顺序的相同对象的引用罢了  发表于 2010-10-14 12:41
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
47
在线时间
55 小时
注册时间
2010-8-4
帖子
299
7
 楼主| 发表于 2010-10-14 21:10:59 | 只看该作者
2l,value是什么意思
貌似一点没提到1号主角和*2吧
努力制作金庸主题的高自由度武侠game..求爱好者协助
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
47
在线时间
55 小时
注册时间
2010-8-4
帖子
299
8
 楼主| 发表于 2010-10-14 21:16:10 | 只看该作者
4l解决了……谢谢
努力制作金庸主题的高自由度武侠game..求爱好者协助
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 19:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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