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

Project1

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

[RMVX发布] 交通工具 - 码头系统

[复制链接]

Lv1.梦旅人

梦石
0
星屑
185
在线时间
49 小时
注册时间
2015-9-17
帖子
22
跳转到指定楼层
1
发表于 2017-3-16 12:05:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 图灵 于 2017-3-16 12:07 编辑

所有交通工具只能在码头进行起降以及乘坐下船
如果有什么意见欢迎提出 我尽力完善

  1. #==============================================================================
  2. # ■ 码头系统
  3. #------------------------------------------------------------------------------
  4. #  By:图灵
  5. #   使用方法:将事件命名为码头即可。
  6. #   码头影响范围默认为2 在下方 WHARTDIS 更改
  7. #==============================================================================
  8. #==============================================================================
  9. # ■ Vector2
  10. #------------------------------------------------------------------------------
  11. #  处理二维向量的类。
  12. #==============================================================================
  13. class Vector2
  14.   #--------------------------------------------------------------------------
  15.   # ● 定义实例变量
  16.   #--------------------------------------------------------------------------
  17.   attr_accessor :x
  18.   attr_accessor :y
  19.   #--------------------------------------------------------------------------
  20.   # ● 初始化对像
  21.   #--------------------------------------------------------------------------
  22.   def initialize(x = 0, y = 0)
  23.     @x = x
  24.     @y = y
  25.   end
  26.   #--------------------------------------------------------------------------
  27.   # ● 计算距离
  28.   #--------------------------------------------------------------------------
  29.   def self.dis(x,y)
  30.     return Math.hypot(x,y)
  31.   end
  32. end
  33. #==============================================================================
  34. # ■ Game_Map
  35. #------------------------------------------------------------------------------
  36. #  处理地图的类。包含卷动以及可以通行的判断功能。本类的实例请参考 $game_map 。
  37. #==============================================================================

  38. class Game_Map
  39.   #--------------------------------------------------------------------------
  40.   # ● 定义实例变量
  41.   #--------------------------------------------------------------------------
  42.   attr_reader   :wharts
  43.   alias old_setup setup
  44.   def setup(map_id)
  45.     old_setup(map_id)
  46.     set_whart
  47.   end
  48.   #--------------------------------------------------------------------------
  49.   # ● 设置码头
  50.   #--------------------------------------------------------------------------
  51.   def set_whart
  52.     @wharts = []
  53.     @map.events.each_value do |event|
  54.       if event.name == "码头"
  55.         port = Vector2.new(event.x,event.y)
  56.         @wharts.push(port)
  57.       end
  58.     end
  59.   end
  60. end

  61. #==============================================================================
  62. # ■ Game_Player
  63. #------------------------------------------------------------------------------
  64. #  处理主角的类。事件启动的判定、以及地图的滚动等功能。
  65. # 本类的实例请参考 $game_player。
  66. #==============================================================================

  67. class Game_Player < Game_Character
  68.   #--------------------------------------------------------------------------
  69.   # ● 常量
  70.   # WHARTDIS = 码头影响范围
  71.   #--------------------------------------------------------------------------
  72.   WHARTDIS = 2
  73.   #--------------------------------------------------------------------------
  74.   # ● 上下交通工具
  75.   #--------------------------------------------------------------------------
  76.   def get_on_off_vehicle
  77.     return false unless movable?
  78.     can = false
  79.     $game_map.wharts.each do |i|
  80.       can = true if Vector2.dis(i.x-x,i.y-y)<WHARTDIS
  81.     end
  82.     if can
  83.       if in_vehicle?
  84.         return get_off_vehicle
  85.       else
  86.         return get_on_vehicle
  87.       end
  88.     end
  89.   end
  90. end

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

本版积分规则

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

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

GMT+8, 2024-4-29 22:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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