设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1634|回复: 5
打印 上一主题 下一主题

请教关于队列脚本的修改问题

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-7-8
帖子
10
跳转到指定楼层
1
发表于 2008-7-8 09:49:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

Lv1.梦旅人

很傻很天真

梦石
0
星屑
55
在线时间
3 小时
注册时间
2007-3-13
帖子
3667
2
发表于 2008-7-8 18:38:30 | 只看该作者
好像要改很多处...
等等吧...
我改改看
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
75
在线时间
12 小时
注册时间
2007-3-15
帖子
102
3
发表于 2008-7-8 18:40:45 | 只看该作者
以下引用火鸡三毛老大于2008-7-8 10:38:30的发言:

好像要改很多处...
等等吧...
我改改看


不是在忙net版本么……居然还有时间……算了我可能被无视了。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

很傻很天真

梦石
0
星屑
55
在线时间
3 小时
注册时间
2007-3-13
帖子
3667
4
发表于 2008-7-8 18:48:04 | 只看该作者
倒...
我改成的是...让队伍后3人在地图上乱跑....
我把要改的地方告诉你吧...

  1. # Train_Actor::Spriteset_Map_Module
  2. # Spriteset_Map用隊列歩行モジュール
  3. # Author:: fukuyama
  4. # Date:: 2007/12/31
  5. # Copyright:: Copyright (C) 2005-2007 rgss-lib

  6. module Train_Actor
  7.   module Spriteset_Map_Module
  8.     def setup_actor_character_sprites
  9.       for character in $game_party.characters.reverse
  10.         @character_sprites.unshift(Sprite_Character.new(@viewport1, character))
  11.       end
  12.     end
  13.   end
  14. end

  15. class Spriteset_Map
  16.   include Train_Actor::Spriteset_Map_Module
  17.   alias train_actor_create_characters create_characters
  18.   def create_characters
  19.     train_actor_create_characters
  20.     setup_actor_character_sprites
  21.   end
  22. end

  23. # Train_Actor::Game_Party_Actor
  24. # マップ上のパーティ用キャラクター
  25. # Author:: fukuyama
  26. # Date:: 2007/12/31
  27. # Copyright:: Copyright (C) 2005-2007 rgss-lib

  28. module Train_Actor

  29.   class Game_Party_Actor < Game_Character
  30.     def initialize(train_index)
  31.       super()
  32.       @train_index = train_index
  33.       @character_wait = 0
  34.       @through = true
  35.       # 不透明度と合成方法を初期化
  36.       @opacity = 255
  37.       @blend_type = 0
  38.       @move_list = []
  39.     end
  40.     def setup(actor)
  41.       # キャラクターのファイル名と色相を設定
  42.       if actor.nil?
  43.         @character_name = ""
  44.       elsif not actor.dead? # 死んでる場合とりあえず、消しとこ…
  45.         @character_name = actor.character_name
  46.         @character_index = actor.character_index
  47.       else
  48.         @character_name = DEAD_CHARACTER_NAME
  49.         @character_index = DEAD_CHARACTER_INDEX
  50.       end
  51.     end
  52.     def dash?
  53.       return false if $game_map.disable_dash?
  54.       #      return false if $game_player.move_route_forcing
  55.       return Input.press?(Input::A)
  56.     end
  57.     def update
  58.       @move_speed = $game_player.move_speed
  59.       @step_anime = $game_player.step_anime
  60.       @opacity = $game_player.opacity
  61.       @blend_type = $game_player.blend_type
  62.       @direction_fix = $game_player.direction_fix
  63.       if @direction_fix
  64.         @direction = $game_player.direction
  65.       end
  66.       update_move_list()
  67.       super
  68.     end
  69.     def screen_z(height = 0)
  70.       if $game_player.x == @x and $game_player.y == @y
  71.         super() - 1
  72.       else
  73.         super()
  74.       end
  75.     end
  76.     def add_move_list_element(element)
  77.       @move_list.push(element)
  78.       if @move_list.size == 1
  79.         update_move_list()
  80.       end
  81.     end
  82.     def move_list_size
  83.       return @move_list.size
  84.     end
  85.     def update_move_list()
  86.       return if moving?
  87.       return if @move_list.empty?
  88.       if @move_list[0].type == STOP
  89.         if @train_index != 0
  90.           character = $game_party.characters[@train_index - 1]
  91.           if character.x == @x and character.y == @y and character.direction == @direction
  92.             distance = (2 ** @move_speed)
  93.             distance *= 2 if dash?
  94.             @character_wait = 256 / distance + 1
  95.             while character.move_list_size < @move_list.size and @move_list[0].type == STOP
  96.               @move_list.shift
  97.             end
  98.           end
  99.         end
  100.       else
  101.         @character_wait = 0
  102.       end
  103.       if @character_wait > 0
  104.         if dash?
  105.           @character_wait -= 2
  106.         else
  107.           @character_wait -= 1
  108.         end
  109.         return
  110.       end
  111.       element = @move_list.shift
  112.       case element.type
  113.       when Input::DOWN
  114.         move_down(element.args[0])
  115.       when Input::LEFT
  116.         move_left(element.args[0])
  117.       when Input::RIGHT
  118.         move_right(element.args[0])
  119.       when Input::UP
  120.         move_up(element.args[0])
  121.       when DOWN_LEFT
  122.         move_lower_left
  123.       when DOWN_RIGHT
  124.         move_lower_right
  125.       when UP_LEFT
  126.         move_upper_left
  127.       when UP_RIGHT
  128.         move_upper_right
  129.       when JUMP
  130.         jump(element.args[0],element.args[1])
  131.       when STOP
  132.         update_move_list()
  133.       end
  134.     end
  135.     def moveto( x, y )
  136.       @move_list.clear
  137.       super(x, y)
  138.     end
  139.     #--------------------------------------------------------------------------
  140.     # ● 下に移動
  141.     #     turn_enabled : その場での向き変更を許可するフラグ
  142.     #--------------------------------------------------------------------------
  143.     def move_down(turn_enabled = true)
  144.       # 下を向く
  145.       if turn_enabled
  146.         turn_down
  147.       end
  148.       # 通行可能な場合
  149.       if passable?(@x, @y + 2)
  150.         # 下を向く
  151.         turn_down
  152.         # 座標を更新
  153.         @y += 2
  154.       end
  155.     end
  156.     #--------------------------------------------------------------------------
  157.     # ● 左に移動
  158.     #     turn_enabled : その場での向き変更を許可するフラグ
  159.     #--------------------------------------------------------------------------
  160.     def move_left(turn_enabled = true)
  161.       # 左を向く

  162.       if turn_enabled
  163.         turn_left
  164.       end
  165.       # 通行可能な場合

  166.       if passable?(@x - 2, @y)
  167.         # 左を向く

  168.         turn_left
  169.         # 座標を更新
  170.         @x -= 2
  171.       end
  172.     end
  173.     #--------------------------------------------------------------------------
  174.     # ● 右に移動
  175.     #     turn_enabled : その場での向き変更を許可するフラグ
  176.     #--------------------------------------------------------------------------
  177.     def move_right(turn_enabled = true)
  178.       # 右を向く

  179.       if turn_enabled
  180.         turn_right
  181.       end
  182.       # 通行可能な場合

  183.       if passable?(@x + 2, @y)
  184.         # 右を向く

  185.         turn_right
  186.         # 座標を更新
  187.         @x += 2
  188.       end
  189.     end
  190.     #--------------------------------------------------------------------------
  191.     # ● 上に移動
  192.     #     turn_enabled : その場での向き変更を許可するフラグ
  193.     #--------------------------------------------------------------------------
  194.     def move_up(turn_enabled = true)
  195.       # 上を向く
  196.       if turn_enabled
  197.         turn_up
  198.       end
  199.       # 通行可能な場合

  200.       if passable?(@x, @y - 2)
  201.         # 上を向く
  202.         turn_up
  203.         # 座標を更新
  204.         @y -= 2
  205.       end
  206.     end
  207.     #--------------------------------------------------------------------------
  208.     # ● 左下に移動
  209.     #--------------------------------------------------------------------------
  210.     def move_lower_left
  211.       # 向き固定でない場合
  212.       unless @direction_fix
  213.         # 右向きだった場合は左を、上向きだった場合は下を向く
  214.         @direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::UP ? Input::DOWN : @direction)
  215.       end
  216.       # 下→左、左→下 のどちらかのコースが通行可能な場合
  217.       if (passable?(@x, @y+2) and passable?(@x-2, @y+2)) or
  218.        (passable?(@x-2, @y) and passable?(@x-2, @y+2))
  219.         # 座標を更新
  220.         @x -= 2
  221.         @y += 2
  222.       end
  223.     end
  224.     #--------------------------------------------------------------------------
  225.     # ● 右下に移動
  226.     #--------------------------------------------------------------------------
  227.     def move_lower_right
  228.       # 向き固定でない場合

  229.       unless @direction_fix
  230.         # 左向きだった場合は右を、上向きだった場合は下を向く
  231.         @direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::UP ? Input::DOWN : @direction)
  232.       end
  233.       # 下→右、右→下 のどちらかのコースが通行可能な場合

  234.       if (passable?(@x, @y+2) and passable?(@x+2, @y+2)) or
  235.        (passable?(@x+2, @y) and passable?(@x+2, @y+2))
  236.         # 座標を更新
  237.         @x += 2
  238.         @y += 2
  239.       end
  240.     end
  241.     #--------------------------------------------------------------------------
  242.     # ● 左上に移動
  243.     #--------------------------------------------------------------------------
  244.     def move_upper_left
  245.       # 向き固定でない場合
  246.       unless @direction_fix
  247.         # 右向きだった場合は左を、下向きだった場合は上を向く
  248.         @direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::DOWN ? Input::UP : @direction)
  249.       end
  250.       # 上→左、左→上 のどちらかのコースが通行可能な場合
  251.       if (passable?(@x, @y-2) and passable?(@x-2, @y-2)) or
  252.        (passable?(@x-2, @y) and passable?(@x-2, @y-2))
  253.         # 座標を更新
  254.         @x -= 2
  255.         @y -= 2
  256.       end
  257.     end
  258.     #--------------------------------------------------------------------------
  259.     # ● 右上に移動
  260.     #--------------------------------------------------------------------------
  261.     def move_upper_right
  262.       # 向き固定でない場合
  263.       unless @direction_fix
  264.         # 左向きだった場合は右を、下向きだった場合は上を向く
  265.         @direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::DOWN ? Input::UP : @direction)
  266.       end
  267.       # 上→右、右→上 のどちらかのコースが通行可能な場合
  268.       if (passable?(@x, @y-2) and passable?(@x+2, @y-2)) or
  269.        (passable?(@x+1, @y) and passable?(@x+2, @y-2))
  270.         # 座標を更新
  271.         @x += 2
  272.         @y -= 2
  273.       end
  274.     end

  275.     def sync_with_player
  276.       @x = $game_player.x
  277.       @y = $game_player.y
  278.       @real_x = $game_player.real_x
  279.       @real_y = $game_player.real_y
  280.       @direction = $game_player.direction
  281.       update_bush_depth
  282.     end

  283.   end

  284. end
复制代码


只要带有    X Y的部分...你都可以改...
只要把几个部分改成 2 就可以了 ...不是所有地方
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-7-8
帖子
10
5
 楼主| 发表于 2008-7-9 03:27:24 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

辉瑞中国首席研究员<

梦石
0
星屑
50
在线时间
142 小时
注册时间
2008-1-18
帖子
2129
6
发表于 2008-7-9 18:45:11 | 只看该作者
   一个比较偷懒的办法

   两个队员有一个透明的队员(不是GAME_PARTY,把队列脚本看懂就知道我所说的意思)
   for i in 1 ... Game_Party::MAX_MEMBERS
        @characters.push(Game_Party_Actor.new(i - 1))
   end
   先改上面,家个判断

   然后class Game_Party_Actor < Game_Character
    def initialize(train_index)
      super()
      @train_index = train_index
      @character_wait = 1
      @through = true
      # 不透明度と合成方法を初期化
#===================================================
      if @train_index % 2 == 0 then
        @opacity = 0
        else
      @opacity = 255
      end
#====================================================
      @blend_type = 0
      @move_list = []
    end

def update
  @opacity = $game_player.opacity
删掉
来6r就是等某位仁兄的巨坑

褴褛着身行无端,囊中羞涩空心酸。
平生几无得意事,倒塔泡面宅寝室。
惟羡隔壁高帅富,雨露春风月夜声。
青丝无处觅其踪,只有硬盘苍井空。
莫云男儿空悲愁,鸿鹄岂不天际游。
坐断天下执鹿首,千百金帛万兜鍪。
夜深忽梦某年月,再见女神欲语迟。
吊丝终有逆袭日,木耳再无回粉时。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-27 10:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表