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 编辑
回复
冰舞蝶恋
的帖子
我把那一段改成这样:
def level_up
@level += 1
if @actor_id == 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
for learning in self.class.learnings
learn_skill(learning.skill_id) if learning.level == @level
end
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