Project1

标题: 如何将多个战斗者的数据同步 [打印本页]

作者: 云海尘清    时间: 2015-9-26 10:36
标题: 如何将多个战斗者的数据同步
本帖最后由 RyanBern 于 2015-9-27 00:30 编辑

我设想能否让几个(三个及以上)资料库里战斗者的数据关联同步起来。

也就是说,比如战斗者a与战斗者b关联,那么a的属性与b的属性完全相同(包括经验值,所持有经验值,血,魔持有度一样,等级一

样等),在之后游戏开始后,无论怎样其中一个离开队伍又重新加入所有属性都会同步,这能做到吗?

同步属性列表


请大神指教
作者: 冷峻逸    时间: 2015-9-26 10:41
提示: 作者被禁止或删除 内容自动屏蔽
作者: 冰水金刚    时间: 2015-9-26 17:40
赋值

$game_actors[a] = $game_actors[b]
作者: 云海尘清    时间: 2015-9-26 19:56
冰水金刚 发表于 2015-9-26 17:40
赋值

$game_actors[a] = $game_actors

是所有属性都相等吗,如何才能关联三个及以上
作者: 冰水金刚    时间: 2015-9-26 21:41
本帖最后由 冰水金刚 于 2015-9-26 22:54 编辑
云海尘清 发表于 2015-9-26 19:56
是所有属性都相等吗,如何才能关联三个及以上
  1. #==============================================================================
  2. # ■ Game_Actors
  3. #------------------------------------------------------------------------------
  4. #  处理角色排列的类。本类的实例请参考
  5. #  $game_actors。
  6. #==============================================================================

  7. class Game_Actors
  8.   #--------------------------------------------------------------------------
  9.   # ● 初始化对像
  10.   #--------------------------------------------------------------------------
  11.   def initialize
  12.     @data = []
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # ● 获取角色
  16.   #     actor_id : 角色 ID
  17.   #--------------------------------------------------------------------------
  18.   def [](actor_id)
  19.     if actor_id > 999 or $data_actors[actor_id] == nil
  20.       return nil
  21.     end
  22.     if @data[actor_id] == nil
  23.       @data[actor_id] = Game_Actor.new(actor_id)
  24.     end
  25.     return @data[actor_id]
  26.   end
  27.   def []=(a,b)
  28.     @data[a]=b
  29.   end
  30. end
复制代码
加上[]=方法的定义
意思就是把另一个角色的值赋值给该角色,从而实现两个角色的属性相同
这里是进行的赋值很完全,连名字全赋值过去了(如果要关联某些特定属性,比如maxhp,可以@data[a]=b改为@data[a].maxhp=b.maxhp)




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