- #==============================================================================# 【一、载具绑定】#==============================================================================module VehicleCore def self.bound? vehicle = $game_player.vehicle vehicle != nil end def self.unbind return unless bound? $game_player.vehicle.get_off end def self.bind ship = $game_map.ship ship.get_on if ship endend#==============================================================================# 【二、位置记录】#==============================================================================$vehicle_map = 0$vehicle_x = 0$vehicle_y = 0module VehiclePos def self.save $vehicle_map = $game_map.map_id $vehicle_x = $game_player.x $vehicle_y = $game_player.y end def self.saved? $vehicle_map > 0 endend#==============================================================================# 【三、传送:人 + 船一起传走】#==============================================================================module CabinTransfer CABIN_MAP = 2 CABIN_X = 33 CABIN_Y = 23 def self.enter return unless VehicleCore.bound? VehiclePos.save $game_player.reserve_transfer(CABIN_MAP, CABIN_X, CABIN_Y) end def self.back return unless VehiclePos.saved? $game_player.reserve_transfer($vehicle_map, $vehicle_x, $vehicle_y) endend#==============================================================================# 【四、菜单】#==============================================================================class Window_MenuCommand alias cabin_menu_add_commands add_main_commands def add_main_commands cabin_menu_add_commands add_command("进入船舱", :enter_cabin) add_command("返回船上", :back_ship) endendclass Scene_Menu alias cabin_menu_create_command_window create_command_window def create_command_window cabin_menu_create_command_window @command_window.set_handler(:enter_cabin, method(:on_enter_cabin)) @command_window.set_handler(:back_ship, method(:on_back_ship)) end def on_enter_cabin CabinTransfer.enter return_scene end def on_back_ship CabinTransfer.back return_scene endend#==============================================================================# 【允许船随玩家传送,并且到地图自动正常显示、正常上船】#==============================================================================class Game_Vehicle def transferable? true endendclass Game_Player alias cabin_after_transfer perform_transfer def perform_transfer cabin_after_transfer if @vehicle @vehicle.refresh end endend复制代码
复制代码上面是做出来的代码,但是船等精灵载具没有解除绑定,传入地图ID时没能自动下船,返回时船丢失,请问这个如何修复或改进,有没有同样想解决这个问题的朋友,该问题解决后也可以帮助他人。
本帖来自P1论坛作者zsy120989,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址: https://rpg.blue/forum.php?mod=viewthread&tid=498596 若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。 |