Project1

标题: 如何判断是哪一个角色升级? [打印本页]

作者: terry_zhp    时间: 2011-3-19 20:21
标题: 如何判断是哪一个角色升级?
本帖最后由 terry_zhp 于 2011-3-19 21:52 编辑

最近在做SLG游戏,想做一个类似火焰纹章的升级随机加点,经过搜索后打算在Game_Actor的@level += 1那一行后面增加判断。
具体如下:
首先判断是哪一个角色升级,然后再对应生成随机数进行加点。由于不同角色成长不同,所以判断哪个角色升级很重要,我是打算这样写的
if ?????? == 1
  $game_actors[1].maxhp += rand(5)
  $game_actors[1].maxmp += rand(3)
  $game_actors[1].atk += rand(5)
  $game_actors[1].def += rand(3)
  .......
end
问题是写不出怎样判断是哪一个角色升级,或是有其他更好的方法,望赐教~~

作者: 冰舞蝶恋    时间: 2011-3-19 21:14
如果是在脚本里的话(记得好像是game_actor里有升级的情况下?)
用@actor来表示。
作者: terry_zhp    时间: 2011-3-19 21:46
本帖最后由 terry_zhp 于 2011-3-19 21:52 编辑

回复 冰舞蝶恋 的帖子

我把那一段改成这样:
  1.   def level_up
  2.     @level += 1
  3.     if @actor_id == 1
  4.       $game_actors[1].maxhp += rand(5)
  5.       $game_actors[1].maxmp += rand(3)
  6.       $game_actors[1].atk += rand(5)
  7.       $game_actors[1].def += rand(3)
  8.     end
  9.     for learning in self.class.learnings
  10.       learn_skill(learning.skill_id) if learning.level == @level
  11.     end
  12.   end
复制代码
然后在事件中使全体同伴升级,就成功了,谢谢哈~
作者: 冰舞蝶恋    时间: 2011-3-19 21:50
直接用
    $game_actors[@actor].maxhp += rand(5)
       $game_actors[@actor].maxmp += rand(3)
       $game_actors[@actor].atk += rand(5)
       $game_actors[@actor].def += rand(3)
吧?
作者: summer92    时间: 2011-3-19 21:52
@actor编号好象是从0开始

试试 @actor == 0
作者: 冰舞蝶恋    时间: 2011-3-19 21:53
啊对了,咱错了,是@actor_id




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