查看: 2289|回复: 3

[已经过期] 怎么做一个VA冰路面图块的脚本,求人指教!

[复制链接]
梦石
0
星屑
811
在线时间
132 小时
注册时间
2016-8-12
回帖
50
发表于 2017-10-27 11:13:55 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 RaidenInfinity 于 2017-10-28 09:54 编辑

#==============================================================================
# ★ 冰面滑动
#------------------------------------------------------------------------------
# 作者:protosssonny
# 转载请保留脚本来源:www.66RPG.com
#--------------------------------------------------------------------------
# 请在下面设定冰面图块的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,本人对脚本不是很懂,望高人指教,谢谢!

点评

请不要使用回帖仅作者可见等特殊选项。已协助编辑。  发表于 2017-10-28 09:55
只要努力就会有结果,做事要有坚持的心态。
梦石
0
星屑
2673
在线时间
1602 小时
注册时间
2014-9-28
回帖
2698

开拓者

发表于 2017-10-28 01:34:36 | 显示全部楼层
同脚本盲,不过我找到事件范例...,楼主可以参考看看...
https://rpg.blue/forum.php?mod=viewthread&tid=342896
回复 1 0

使用道具 举报

梦石
0
星屑
811
在线时间
132 小时
注册时间
2016-8-12
回帖
50
 楼主| 发表于 2018-7-21 16:09:43 | 显示全部楼层
赤炎 发表于 2017-10-28 01:34
同脚本盲,不过我找到事件范例...,楼主可以参考看看...
https://rpg.blue/forum.php?mod=viewthread&tid=3 ...

谢谢了
只要努力就会有结果,做事要有坚持的心态。
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部