Project1

标题: RMVX角色的交换 [打印本页]

作者: NaturalBlue    时间: 2008-8-16 02:51
标题: RMVX角色的交换
RMVX中,
如果:
@changer = $game_party.members[0]
$game_party.members[0] =$game_party.members[1]
$game_party.members[1] = @changer
在不考虑游戏菜单界面的情况下,这样写可不可以实现0号与1号角色的交换?
痛苦中……{/yun} [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: kissye    时间: 2008-8-16 03:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: NaturalBlue    时间: 2008-8-16 17:58
以下引用kissye于2008-8-15 19:15:55的发言:
不可以
member不是变量,而是一个方法
#--------------------------------------------------------------------------
# ● 获取队员
#--------------------------------------------------------------------------
def members
   result = []
   for i in @actors#这个变量才是关键
     result.push($game_actors)
   end
   return result
end
正确的做法是先将@actors变量变为可读写变量,即添上
attr_accessor :actors
然后在需要更改的地方写上
@changer = $game_party.actors[0]
$game_party.actors[0] = $game_party.actors[1]
$game_party.actors[1] = @changer
$game_player.refresh
或者直接在Game_Party里添加一个更换队员位置的方法,那就不用将@actors变量改成可读写了.例如
def changeplayer(m1, m2)
@changer = @actors[m1]
@actors[m1] = @actors[m2]
@actors = @changer
$game_player.refresh
end
[本贴由作者于 2008-8-15 19:17:16 最后编辑]

{/cy}{/cy}太高兴了!!!终于解决了!!
自己痛苦地想了N天,最后还是决定发帖问问,现在终于解决了!!!
十分感谢kissye的帮助!!!{/qiang}{/qiang}{/qiang}




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