加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 RaidenInfinity 于 2017-10-28 09:54 编辑
#============================================================================== # ★ 冰面滑动 #------------------------------------------------------------------------------ # 作者:protosssonny #-------------------------------------------------------------------------- # 请在下面设定冰面图块的ID Ice_Tile = [1537,1538,1539]
# 可以在事件脚本中输入以下命令来查看当前角色脚下的图块ID,以便确定冰面图块: # $game_map.show_tile_id #==============================================================================
#============================================================================== # ■ Game_Map #------------------------------------------------------------------------------ # 处理地图的类。包含卷动以及可以通行的判断功能。本类的实例请参考 $game_map 。 #==============================================================================
class Game_Map #-------------------------------------------------------------------------- # ● 判断冰面 # x : X 坐标 # y : Y 坐标 #-------------------------------------------------------------------------- def ice?(x, y) return false unless valid?(x, y) return true if Ice_Tile.include?($game_map.data[x, y, 0]) end #-------------------------------------------------------------------------- # ● 显示当前图块ID (测试用的脚本命令) #-------------------------------------------------------------------------- def show_tile_id p $game_map.data[$game_player.x, $game_player.y, 0] end end #============================================================================== # ■ Game_Player #------------------------------------------------------------------------------ # 处理主角的类。事件启动的判定、以及地图的滚动等功能。 # 本类的实例请参考 $game_player。 #==============================================================================
class Game_Player < Game_Character #-------------------------------------------------------------------------- # ● 更新画面 #-------------------------------------------------------------------------- def update last_real_x = @real_x last_real_y = @real_y last_moving = moving? if $game_map.ice?(@x, @y) # 在冰上移动 @walk_anime = false # 固定朝向 move_on_ice else @walk_anime = true # 解除固定朝向 end move_by_input super update_scroll(last_real_x, last_real_y) update_vehicle update_nonmoving(last_moving) end #-------------------------------------------------------------------------- # ● 滑行移动处理 #-------------------------------------------------------------------------- def move_on_ice return unless movable? return if $game_map.interpreter.running? return if @move_failed case self.direction when 2 move_down when 4 move_left when 6 move_right when 8 move_up end end #-------------------------------------------------------------------------- # ● 判断是否奔跑中 #-------------------------------------------------------------------------- def dash? return false if @move_route_forcing return false if $game_map.disable_dash? return false if in_vehicle? return Input.press?(Input::A) unless $game_map.ice?(@x, @y) #加本行即可 end end
这个是VX的脚本,在VA里使用后出BUG,本人对脚本不是很懂,望高人指教,谢谢!
|