- UID
- 104
- 帖子
- 8463
- 主题
- 169
- 精华
- 3
- 积分
- 13212
- 历练
- 7
- 声望
- 24
- 人气
- 2451
- 经验
- 12327
- 金钱
- 1197
- 注册时间
- 2009-8-27
- 最后登录
- 2024-11-22
- 在线时间
- 923 小时
- 阅读权限
- 100
TA的每日心情 | 开心 昨天 23:49 |
---|
签到天数: 890 天 [LV.10]以坛为家III - 精华
- 3
- 积分
- 13212
- 历练
- 7
- 声望
- 24
- 人气
- 2451
|
- end
- end
- def update_party_actors
- setup_actor_character_sprites
- transparent = $game_player.transparent
- if transparent == false
- if TRANSPARENT_SWITCH
- transparent = $game_switches[TRANSPARENT_SWITCHES_INDEX]
- end
- end
- for character in @characters
- character.transparent = transparent
- character.move_speed = $game_player.move_speed
- character.step_anime = $game_player.step_anime
- character.update
- end
- end
- def moveto_party_actors( x, y )
- setup_actor_character_sprites
- for character in @characters
- character.moveto( x, y )
- end
- if @move_list == nil
- @move_list = []
- end
- move_list_setup
- end
- def move_party_actors
- if @move_list == nil
- @move_list = []
- move_list_setup
- end
- @move_list.each_index do |i|
- if @characters[i] != nil
- case @move_list[i].type
- when Input::DOWN
- @characters[i].move_down(@move_list[i].args[0])
- when Input::LEFT
- @characters[i].move_left(@move_list[i].args[0])
- when Input::RIGHT
- @characters[i].move_right(@move_list[i].args[0])
- when Input::UP
- @characters[i].move_up(@move_list[i].args[0])
- when DOWN_LEFT
- @characters[i].move_lower_left
- when DOWN_RIGHT
- @characters[i].move_lower_right
- when UP_LEFT
- @characters[i].move_upper_left
- when UP_RIGHT
- @characters[i].move_upper_right
- when JUMP
- @characters[i].jump(@move_list[i].args[0],@move_list[i].args[1])
- end
- end
- end
- end
- class Move_List_Element
- def initialize(type,args)
- @type = type
- @args = args
- end
- def type() return @type end
- def args() return @args end
- end
- def move_list_setup
- for i in 0 .. TRAIN_ACTOR_SIZE_MAX
- @move_list[i] = nil
- end
- end
- def add_move_list(type,*args)
- @move_list.unshift(Move_List_Element.new(type,args)).pop
- end
- def move_down_party_actors(turn_enabled = true)
- move_party_actors
- add_move_list(Input::DOWN,turn_enabled)
- end
- def move_left_party_actors(turn_enabled = true)
- move_party_actors
- add_move_list(Input::LEFT,turn_enabled)
- end
- def move_right_party_actors(turn_enabled = true)
- move_party_actors
- add_move_list(Input::RIGHT,turn_enabled)
- end
- def move_up_party_actors(turn_enabled = true)
- move_party_actors
- add_move_list(Input::UP,turn_enabled)
- end
- def move_lower_left_party_actors
- move_party_actors
- add_move_list(DOWN_LEFT)
- end
- def move_lower_right_party_actors
- move_party_actors
- add_move_list(DOWN_RIGHT)
- end
- def move_upper_left_party_actors
- move_party_actors
- add_move_list(UP_LEFT)
- end
- def move_upper_right_party_actors
- move_party_actors
- add_move_list(UP_RIGHT)
- end
- def jump_party_actors(x_plus, y_plus)
- move_party_actors
- add_move_list(JUMP,x_plus, y_plus)
- end
- end
- module Game_Player_Module
- def update
- $game_party.update_party_actors
- super
- end
- def moveto( x, y )
- $game_party.moveto_party_actors( x, y )
- super( x, y )
- end
- def move_down(turn_enabled = true)
- if passable?(@x, @y, Input::DOWN)
- $game_party.move_down_party_actors(turn_enabled)
- end
- super(turn_enabled)
- end
- def move_left(turn_enabled = true)
- if passable?(@x, @y, Input::LEFT)
- $game_party.move_left_party_actors(turn_enabled)
- end
- super(turn_enabled)
- end
- def move_right(turn_enabled = true)
- if passable?(@x, @y, Input::RIGHT)
- $game_party.move_right_party_actors(turn_enabled)
- end
- super(turn_enabled)
- end
- def move_up(turn_enabled = true)
- if passable?(@x, @y, Input::UP)
- $game_party.move_up_party_actors(turn_enabled)
- end
- super(turn_enabled)
- end
- def move_lower_left
- # 下→左、左→下 のどちらかのコースが通行可能な場合
- if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or
- (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN))
- $game_party.move_lower_left_party_actors
- end
- super
- end
- def move_lower_right
- # 下→右、右→下 のどちらかのコースが通行可能な場合
- if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or
- (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN))
- $game_party.move_lower_right_party_actors
- end
- super
- end
- def move_upper_left
- # 上→左、左→上 のどちらかのコースが通行可能な場合
- if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or
- (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP))
- $game_party.move_upper_left_party_actors
- end
- super
- end
- def move_upper_right
- # 上→右、右→上 のどちらかのコースが通行可能な場合
- if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or
- (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP))
- $game_party.move_upper_right_party_actors
- end
- super
- end
- def jump(x_plus, y_plus)
- # 新しい座標を計算
- new_x = @x + x_plus
- new_y = @y + y_plus
- # 加算値が (0,0) の場合か、ジャンプ先が通行可能な場合
- if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y, 0)
- $game_party.jump_party_actors(x_plus, y_plus)
- end
- super(x_plus, y_plus)
- end
- attr_reader :move_speed
- attr_reader :step_anime
- end
- end # module Train_Actor
- class Game_Party
- include Train_Actor::Game_Party_Module
- end
- class Game_Player
- include Train_Actor::Game_Player_Module
- end
- class Spriteset_Map
- include Train_Actor::Spriteset_Map_Module
- end
- class Scene_Map
- include Train_Actor::Scene_Map_Module
- end
- #==============================================================================
- # 本脚本来自www.66RPG.com,使用和转载请保留此信息
- #==============================================================================
复制代码 |
|