原来的代码来自PokeCommunity,作者Marin。
再加上考虑到GBA模拟器玩家的使用习惯,所以我就改成了按下空格键切换。
除此之外,还需要加上一些东西。
在PSystem_Controls中,加上这一行,具体数字看情况,上面数字加一。

往下面翻一点点,将C那一行后面的0x20删掉,在下面加一行

Ruby:
#==============================================================================#
# Better Fast-forward Mode #
# v1.0 #
# #
# by Marin #
#==============================================================================#
# Usage #
# #
# SPEEDUP_STAGES are the speed stages the game will pick from. If you click F, #
# it'll choose the next number in that array. It goes back to the first number #
# afterward. #
# #
# $GameSpeed is the current index in the speed up array. #
# Should you want to change that manually, you can do, say, $GameSpeed = 0 #
# #
# If you don't want the user to be able to speed up at certain points, you can #
# use "pbDisallowSpeedup" and "pbAllowSpeedup". #
#==============================================================================#
# When the user clicks F, it'll pick the next number in this array.
SPEEDUP_STAGES = [1,2,4,8]
def pbAllowSpeedup
$CanToggle = true
end
def pbDisallowSpeedup
$CanToggle = false
end
# Default game speed.
$GameSpeed = 0
$frame = 0
$CanToggle = true
module Graphics
class << Graphics
alias fast_forward_update update
end
def self.update
if $CanToggle && Input.trigger?(Input::SPACE)
$GameSpeed += 1
$GameSpeed = 0 if $GameSpeed >= SPEEDUP_STAGES.size
end
$frame += 1
return unless $frame % SPEEDUP_STAGES[$GameSpeed] == 0
fast_forward_update
$frame = 0
end
end
=begin
module Input
class << Input
alias fast_forward_button_to_key buttonToKey
end
end
=end
在PSystem_Controls中,加上这一行,具体数字看情况,上面数字加一。

往下面翻一点点,将C那一行后面的0x20删掉,在下面加一行
Ruby:
when Input::SPACE; return [0x20] # Space

由于20不能添加绑定按键,所以只好用Ctrl键了。
Ruby:
#==============================================================================#
# Better Fast-forward Mode #
# v1.0 #
# #
# by Marin #
#==============================================================================#
# Usage #
# #
# SPEEDUP_STAGES are the speed stages the game will pick from. If you click F, #
# it'll choose the next number in that array. It goes back to the first number #
# afterward. #
# #
# $GameSpeed is the current index in the speed up array. #
# Should you want to change that manually, you can do, say, $GameSpeed = 0 #
# #
# If you don't want the user to be able to speed up at certain points, you can #
# use "pbDisallowSpeedup" and "pbAllowSpeedup". #
#==============================================================================#
# When the user clicks F, it'll pick the next number in this array.
SPEEDUP_STAGES = [1,2,4,8]
def pbAllowSpeedup
$CanToggle = true
end
def pbDisallowSpeedup
$CanToggle = false
end
# Default game speed.
$GameSpeed = 0
$frame = 0
$CanToggle = true
module Graphics
class << Graphics
alias fast_forward_update update
end
def self.update
if $CanToggle && Input.trigger?(Input::CTRL)
$GameSpeed += 1
$GameSpeed = 0 if $GameSpeed >= SPEEDUP_STAGES.size
end
$frame += 1
return unless $frame % SPEEDUP_STAGES[$GameSpeed] == 0
fast_forward_update
$frame = 0
end
end
最后编辑: