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

Project1

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

[已经解决] 橫板如何做到被敵人攻擊後回MP?

[复制链接]

Lv1.梦旅人

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

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

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

x
本帖最后由 冷徹心扉 于 2012-12-15 23:13 编辑

如主題,類似於蓄氣的概念
遭受敵人攻擊後,回復一些MP
若能夠依照損傷比例回復MP會更有意思些

点评

我的理解是某状态下被攻击时MP会增加,如果是角色的特性的话,需要另外一种判定方法  发表于 2012-12-15 20:40

Lv1.梦旅人

梦石
0
星屑
48
在线时间
2459 小时
注册时间
2011-12-18
帖子
1484
2
发表于 2012-12-15 19:55:28 | 只看该作者
这个倒很简单, 在Game_Battler脚本中计算伤害的地方,
  1. if self.state?(X) #X为该状态的ID  
  2. self.mp += damage/Y #damage就是伤害,
  3. end
复制代码

点评

嗯,其實不用滿足什麼條件,被攻擊就能回MP了,是說正常狀態會有編號嗎?  发表于 2012-12-15 20:46
是計算傷害公式的地方嗎?那麼狀態ID指的是?  发表于 2012-12-15 20:25
这是一个深不见底的坑,这是一个广袤无边的坑,我才刚刚放上了一抔泥土……

《六道·陈国篇》开坑了……↓点我
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
2459 小时
注册时间
2011-12-18
帖子
1484
3
发表于 2012-12-15 21:35:22 | 只看该作者
既然是角色的特性,那么就是这样:
  1.     if self.is_a?(Game_Actor) and self.id == 1  #1号角色具有该特性
  2.       self.mp +=damage/Y if damage > 0
  3.     end
复制代码
在计算普通攻击和技能攻击的地方都添加进去就行了。

评分

参与人数 1星屑 +2 收起 理由
怪蜀黍 + 2 精品文章

查看全部评分

这是一个深不见底的坑,这是一个广袤无边的坑,我才刚刚放上了一抔泥土……

《六道·陈国篇》开坑了……↓点我
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
448 小时
注册时间
2011-10-9
帖子
184
4
 楼主| 发表于 2012-12-15 22:33:31 | 只看该作者
本帖最后由 冷徹心扉 于 2012-12-15 23:13 编辑

如果不做角色編號判定的話,確實有回復MP的效果
不過問題來了,MP會出現小數點{:2_270:}

  def make_attack_damage_value(attacker)
    damage = (attacker.atk * 1 - self.def  * 0.7) + 1       # 物理攻擊      
      self.mp +=damage/10 if damage > 0        
    end
    end   


解決了
我自己加了個取整
      self.mp = self.mp.round         
就搞定了,非常感謝!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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