Project1

标题: 如何在全部地图中做宠物 [打印本页]

作者: zxc123a4s5d6    时间: 2015-3-30 08:19
标题: 如何在全部地图中做宠物
如果只在一个地图中做一直靠近主角的宠物,换地图后就没有了,而且回之前的地图后宠物位置会重置,能否做一个与主角一起行动的宠物,但不加入角色中,因为我想它会踩陷阱,而不是单纯的模仿主角路线
作者: howhow1314    时间: 2015-3-30 08:40
原來的隊伍成員跟隨要不要保留?不用的話我正好寫過類似的
作者: zxc123a4s5d6    时间: 2015-3-30 08:56
howhow1314 发表于 2015-3-30 08:40  原來的隊伍成員跟隨要不要保留?不用的話我正好寫過類似的

什么意思?我的角色就主角和宠物两个
作者: howhow1314    时间: 2015-3-31 09:19
本帖最后由 howhow1314 于 2015-3-31 12:11 编辑

RUBY 代码复制
  1. class Game_Followers
  2.   def initialize(leader)
  3.     @visible = $data_system.opt_followers
  4.     @gathering = false                    # 集合處理中的標志
  5.     @leader = leader
  6.     @data = []   
  7.     @mama = []
  8.   end
  9.   def yooo_very_fresh
  10.     $game_player.refresh
  11.     SceneManager.scene.spriteset.refresh_characters
  12.   end   
  13.   def jj(aid)   
  14.     @data == [] ? p = @leader : p = @data[-1]
  15.     @data.push(Game_Follower.new(aid, p))
  16.     @mama[aid] = [] unless @mama[aid]
  17.     @mama[aid].push(@data[-1])
  18.     msgbox @mama[aid].size
  19.     @data[-1].moveto($game_player.x, $game_player.y)
  20.     yooo_very_fresh
  21.   end
  22.   def cut_jj(aid)
  23.     @data.delete(@mama[aid][0])
  24.     @mama[aid][0] = nil
  25.     @mama[aid].compact!
  26.     @data.each_with_index do |baby, i|
  27.         i == 0 ? baby.preceding_character = @leader : baby.preceding_character = @data[i-1]
  28.     end
  29.     yooo_very_fresh
  30.   end
  31. end
  32.  
  33. class Game_Follower < Game_Character
  34.   attr_writer :preceding_character
  35.   def actor
  36.     $game_actors[@member_index]
  37.   end
  38. end
  39.  
  40.  
  41.  
  42. class Scene_Map < Scene_Base
  43.   attr_reader :spriteset
  44. end


RUBY 代码复制
  1. $game_player.followers.jj(角色id)          #加入尾隨角色
  2. $game_player.followers.cut_jj(角色id)    #移除尾隨角色 (多於一個相同編號角色時移除先加入的)


還有就是,隊伍成員會尾隨了~
作者: chd114    时间: 2015-4-1 23:29
只有两个角色的话可以修改原来state显示相关的脚本,屏蔽掉宠物角色的ID,然后让宠物加入队伍开启队伍跟随,这样的话菜单里看不到宠物




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