本帖最后由 tseyik 于 2014-7-19 20:17 编辑
前幾天看到一個脚本,可強制不捲動画面
STOP_SCROLL_SW = 5
這個設定使用那個開関on時不會捲動画面
=begin ◆ スクロール固定 VXAceとVX ver 1.0 説明:スイッチ番号を設定してONにすると プレイヤーが動いても画面が固定される。 スイッチ切った後イベントコマンドの場所 移動とかするとたぶん元に戻ります。 URL:: [url]http://www.tktkgame.com/[/url] LAST_UPDATE:: 2013/12/11 =end class Game_Player # スイッチ番号 設定 STOP_SCROLL_SW = 5 #-------------------------------------------------------------------------- # ● スクロール処理 #-------------------------------------------------------------------------- alias _stop_scroll__update_scroll update_scroll unless method_defined?(:_stop_scroll__update_scroll) def update_scroll(last_real_x, last_real_y) return if $game_switches[STOP_SCROLL_SW] _stop_scroll__update_scroll(last_real_x, last_real_y) end end
=begin
◆ スクロール固定 VXAceとVX ver 1.0
説明:スイッチ番号を設定してONにすると
プレイヤーが動いても画面が固定される。
スイッチ切った後イベントコマンドの場所
移動とかするとたぶん元に戻ります。
URL:: [url]http://www.tktkgame.com/[/url]
LAST_UPDATE:: 2013/12/11
=end
class Game_Player
# スイッチ番号 設定
STOP_SCROLL_SW = 5
#--------------------------------------------------------------------------
# ● スクロール処理
#--------------------------------------------------------------------------
alias _stop_scroll__update_scroll update_scroll unless method_defined?(:_stop_scroll__update_scroll)
def update_scroll(last_real_x, last_real_y)
return if $game_switches[STOP_SCROLL_SW]
_stop_scroll__update_scroll(last_real_x, last_real_y)
end
end
這個可設定進入某個区域就自動打開某個開関
下例,進入区域12時,開関5on
[RSW:12,5](在地図附註)
=begin RegionSwitch for VXA ver 1.0.1.0 設定したリージョンに入ったらスイッチオン 自動実行イベントと組み合わせて使うといい感じ マップ設定のメモ欄に [RSW:12,5] とか書くとリージョン12に入った時にスイッチ5がONになるようになります。 URL:: [url]http://www.tktkgame.com/[/url] LAST_UPDATE:: 2012/09/18 =end module Tktkgame module RegionSwitch REGEX_REGION_SETTING = /\[RSW:(\d+),(\d+)\s*\]/ # RPG::Map include用 module MixinMap # メモからリージョンイベント情報を取得 def init_region_switches @region_switches = {} self.note.scan(REGEX_REGION_SETTING) do |m| region_id = m[0].to_i sw_no = m[1].to_i if region_id > 0 && sw_no > 0 @region_switches[region_id] = [sw_no, true] end end end protected :init_region_switches def region_switches init_region_switches() if @region_switches.nil? return @region_switches end end # Game_Map include用 module MixinGameMap def check_region_switche(region_id) if @map.region_switches.key?(region_id) sw_no, value = @map.region_switches[region_id] if $game_switches[sw_no] != value $game_switches[sw_no] = value need_refresh = true end end end end # Game_Map include用 module MixinGamePlayer #-------------------------------------------------------------------------- # ● 歩数増加 #-------------------------------------------------------------------------- def increase_steps super if !@through && !jumping? $game_map.check_region_switche($game_map.region_id(@x, @y)) end end end end # END module Tktkgame::RegionSwitch end # END module Tktkgame class RPG::Map include Tktkgame::RegionSwitch::MixinMap end class Game_Map include Tktkgame::RegionSwitch::MixinGameMap end class Game_Player include Tktkgame::RegionSwitch::MixinGamePlayer end
=begin
RegionSwitch for VXA ver 1.0.1.0
設定したリージョンに入ったらスイッチオン
自動実行イベントと組み合わせて使うといい感じ
マップ設定のメモ欄に
[RSW:12,5]
とか書くとリージョン12に入った時にスイッチ5がONになるようになります。
URL:: [url]http://www.tktkgame.com/[/url]
LAST_UPDATE:: 2012/09/18
=end
module Tktkgame
module RegionSwitch
REGEX_REGION_SETTING = /\[RSW:(\d+),(\d+)\s*\]/
# RPG::Map include用
module MixinMap
# メモからリージョンイベント情報を取得
def init_region_switches
@region_switches = {}
self.note.scan(REGEX_REGION_SETTING) do |m|
region_id = m[0].to_i
sw_no = m[1].to_i
if region_id > 0 && sw_no > 0
@region_switches[region_id] = [sw_no, true]
end
end
end
protected :init_region_switches
def region_switches
init_region_switches() if @region_switches.nil?
return @region_switches
end
end
# Game_Map include用
module MixinGameMap
def check_region_switche(region_id)
if @map.region_switches.key?(region_id)
sw_no, value = @map.region_switches[region_id]
if $game_switches[sw_no] != value
$game_switches[sw_no] = value
need_refresh = true
end
end
end
end
# Game_Map include用
module MixinGamePlayer
#--------------------------------------------------------------------------
# ● 歩数増加
#--------------------------------------------------------------------------
def increase_steps
super
if !@through && !jumping?
$game_map.check_region_switche($game_map.region_id(@x, @y))
end
end
end
end # END module Tktkgame::RegionSwitch
end # END module Tktkgame
class RPG::Map
include Tktkgame::RegionSwitch::MixinMap
end
class Game_Map
include Tktkgame::RegionSwitch::MixinGameMap
end
class Game_Player
include Tktkgame::RegionSwitch::MixinGamePlayer
end
效果
|