赞 | 0 |
VIP | 47 |
好人卡 | 0 |
积分 | 2 |
经验 | 3916 |
最后登录 | 2024-9-8 |
在线时间 | 50 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 195
- 在线时间
- 50 小时
- 注册时间
- 2015-9-17
- 帖子
- 22
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 图灵 于 2017-3-16 12:07 编辑
所有交通工具只能在码头进行起降以及乘坐下船
如果有什么意见欢迎提出 我尽力完善
- #==============================================================================
- # ■ 码头系统
- #------------------------------------------------------------------------------
- # By:图灵
- # 使用方法:将事件命名为码头即可。
- # 码头影响范围默认为2 在下方 WHARTDIS 更改
- #==============================================================================
- #==============================================================================
- # ■ Vector2
- #------------------------------------------------------------------------------
- # 处理二维向量的类。
- #==============================================================================
- class Vector2
- #--------------------------------------------------------------------------
- # ● 定义实例变量
- #--------------------------------------------------------------------------
- attr_accessor :x
- attr_accessor :y
- #--------------------------------------------------------------------------
- # ● 初始化对像
- #--------------------------------------------------------------------------
- def initialize(x = 0, y = 0)
- @x = x
- @y = y
- end
- #--------------------------------------------------------------------------
- # ● 计算距离
- #--------------------------------------------------------------------------
- def self.dis(x,y)
- return Math.hypot(x,y)
- end
- end
- #==============================================================================
- # ■ Game_Map
- #------------------------------------------------------------------------------
- # 处理地图的类。包含卷动以及可以通行的判断功能。本类的实例请参考 $game_map 。
- #==============================================================================
- class Game_Map
- #--------------------------------------------------------------------------
- # ● 定义实例变量
- #--------------------------------------------------------------------------
- attr_reader :wharts
- alias old_setup setup
- def setup(map_id)
- old_setup(map_id)
- set_whart
- end
- #--------------------------------------------------------------------------
- # ● 设置码头
- #--------------------------------------------------------------------------
- def set_whart
- @wharts = []
- @map.events.each_value do |event|
- if event.name == "码头"
- port = Vector2.new(event.x,event.y)
- @wharts.push(port)
- end
- end
- end
- end
- #==============================================================================
- # ■ Game_Player
- #------------------------------------------------------------------------------
- # 处理主角的类。事件启动的判定、以及地图的滚动等功能。
- # 本类的实例请参考 $game_player。
- #==============================================================================
- class Game_Player < Game_Character
- #--------------------------------------------------------------------------
- # ● 常量
- # WHARTDIS = 码头影响范围
- #--------------------------------------------------------------------------
- WHARTDIS = 2
- #--------------------------------------------------------------------------
- # ● 上下交通工具
- #--------------------------------------------------------------------------
- def get_on_off_vehicle
- return false unless movable?
- can = false
- $game_map.wharts.each do |i|
- can = true if Vector2.dis(i.x-x,i.y-y)<WHARTDIS
- end
- if can
- if in_vehicle?
- return get_off_vehicle
- else
- return get_on_vehicle
- end
- end
- end
- end
复制代码 |
|