| 赞 | 2 |
| VIP | |
| 好人卡 | |
| 积分 | 1 |
| 经验 | |
| 最后登录 | 2020-7-27 |
| 在线时间 | 1379 小时 |
- 梦石
- 0
- 星屑
- 76
- 在线时间
- 1379 小时
- 注册时间
- 2012-7-5
- 回帖
- 1643

|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有账号?注册会员
×
两个月没在6r发过贴了 高中僧真是太苦逼了但是学霸taroxd就可以一边上6r一边考一百
所以来刷一下存在感 XP / VX, VX用户请手动修改 init_system 中相关内容
粘贴到新脚本页中即出笑果[pre lang="ruby" line="1"]#------------------------------------------------------------------------------
# ● 辅助方法: 载入数据库 2014-7-3
#------------------------------------------------------------------------------
def init_system
# 载入数据库
$data_actors = load_data("Data/Actors.rxdata")
$data_classes = load_data("Data/Classes.rxdata")
$data_skills = load_data("Data/Skills.rxdata")
$data_items = load_data("Data/Items.rxdata")
$data_weapons = load_data("Data/Weapons.rxdata")
$data_armors = load_data("Data/Armors.rxdata")
$data_enemies = load_data("Data/Enemies.rxdata")
$data_troops = load_data("Data/Troops.rxdata")
$data_states = load_data("Data/States.rxdata")
$data_animations = load_data("Data/Animations.rxdata")
$data_tilesets = load_data("Data/Tilesets.rxdata")
$data_common_events = load_data("Data/CommonEvents.rxdata")
$data_system = load_data("Data/System.rxdata")
# 生成各种游戏对象
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
# 设置初期同伴位置
$game_party.setup_starting_members
# 设置初期位置的地图
$game_map.setup($data_system.start_map_id)
# 主角向初期位置移动
$game_player.moveto($data_system.start_x, $data_system.start_y)
# 设置系统默认字体
Font.default_name = (["思源黑体 CN Medium", "XHei Mono.Heiti", "黑体"])
end
#==============================================================================
# ■ Scene_Base
#------------------------------------------------------------------------------
# 游戏中全部画面的超级类。
#==============================================================================
class Scene_Base
#--------------------------------------------------------------------------
# ● 主处理
#--------------------------------------------------------------------------
def main
start # 开始处理
perform_transition # 执行渐变
post_start # 开始后处理
Input.update # 更新输入讯息
loop do
Graphics.update # 更新游戏画面
Input.update # 更新输入讯息
update # 更新画面
break if $scene != self # 切换画面时中断循环
end
Graphics.update
pre_terminate # 结束前处理
Graphics.freeze # 准备渐变
terminate # 结束处理
end
#--------------------------------------------------------------------------
# ● 开始处理
#--------------------------------------------------------------------------
def start
end
#--------------------------------------------------------------------------
# ● 执行渐变
#--------------------------------------------------------------------------
def perform_transition
Graphics.transition(transition_speed)
end
#--------------------------------------------------------------------------
# ● 获取渐变速度
#--------------------------------------------------------------------------
def transition_speed
return 10
end
#--------------------------------------------------------------------------
# ● 开始后处理
#--------------------------------------------------------------------------
def post_start
end
#--------------------------------------------------------------------------
# ● 更新画面
#--------------------------------------------------------------------------
def update
update_all_windows
end
#--------------------------------------------------------------------------
# ● 结束前处理
#--------------------------------------------------------------------------
def pre_terminate
end
#--------------------------------------------------------------------------
# ● 结束处理
#--------------------------------------------------------------------------
def terminate
dispose_all_windows
end
#--------------------------------------------------------------------------
# ● 更新所有窗口
#--------------------------------------------------------------------------
def update_all_windows
instance_variables.each do |varname|
ivar = instance_variable_get(varname)
ivar.update if ivar.is_a?(Window)
end
end
#--------------------------------------------------------------------------
# ● 释放所有窗口
#--------------------------------------------------------------------------
def dispose_all_windows
instance_variables.each do |varname|
ivar = instance_variable_get(varname)
ivar.dispose if ivar.is_a?(Window)
end
end
#--------------------------------------------------------------------------
# ● 截图做下一个画面的背景
#--------------------------------------------------------------------------
def snapshot_for_background
$game_temp.background_bitmap.dispose
$game_temp.background_bitmap = Graphics.snap_to_bitmap
$game_temp.background_bitmap.blur
end
#--------------------------------------------------------------------------
# ● 生成菜单画面背景
#--------------------------------------------------------------------------
def create_menu_background
@menuback_sprite = Sprite.new
@menuback_sprite.bitmap = $game_temp.background_bitmap
@menuback_sprite.color.set(16, 16, 16, 128)
update_menu_background
end
#--------------------------------------------------------------------------
# ● 释放菜单画面背景
#--------------------------------------------------------------------------
def dispose_menu_background
@menuback_sprite.dispose
end
#--------------------------------------------------------------------------
# ● 更新菜单画面背景
#--------------------------------------------------------------------------
def update_menu_background
end
end
#==============================================================================
# ■ Window_Base
#------------------------------------------------------------------------------
# 游戏中全部窗口的超级类。
#==============================================================================
class Window_Base < Window
attr_accessor :real_x, :real_y, :real_width, :real_height
alias hy_initialize initialize
def initialize(*args)
hy_initialize(*args)
self.real_x = self.x
self.real_y = self.y
self.real_width = self.width
self.real_height = self.height
end
end
#==============================================================================
# ■ Scene_Base
#------------------------------------------------------------------------------
# 游戏中全部画面的超级类。
#==============================================================================
class Scene_Base
#--------------------------------------------------------------------------
# ● 更新所有窗口
#--------------------------------------------------------------------------
def update_all_windows
instance_variables.each do |varname|
ivar = instance_variable_get(varname)
if ivar.is_a?(Window)
fit(ivar, ivar.real_x, ivar.real_y, ivar.real_width, ivar.real_height)
ivar.update
end
end
end
def fit(obj, x, y, w = obj.width, h = obj.height)
obj.x += dynamic_distance(x, obj.x, 7)
obj.y += dynamic_distance(y, obj.y, 7)
obj.width += dynamic_distance(w, obj.width, 7)
obj.height += dynamic_distance(h, obj.height, 7)
end
def dynamic_distance(a, b, c)
(a - b).abs < c ? (a - b) == 0 ? 0 : (a - b).abs / (a - b) : (a - b) / c
end
end
#==============================================================================
# ■ Scene_Base
#------------------------------------------------------------------------------
# 游戏中全部画面的超级类。
#==============================================================================
class Scene_Base
# window(:steps, '_1'){|s| s.real_x = 1 }
def window(key, suffix = "")
if instance_variable_get(:"@#{key}#{suffix}")
yield instance_variable_get(:"@#{key}#{suffix}") if block_given?
else
instance_variable_set(:"@#{key}#{suffix}", new_window(key))
yield instance_variable_get(:"@#{key}#{suffix}") if block_given?
end
end
def new_window(key) # key = :steps
case key
when :steps then return Window_Steps.new
when :gold then return Window_Gold.new
end
end
end
#==============================================================================
# ■ Scene_Miao
#------------------------------------------------------------------------------
# 。
#==============================================================================
class Scene_Miao < Scene_Base
def start
init_system
window(:steps){|s| s.real_x = 160; s.real_y = 120 }
window(:gold) {|g| g.real_x = 200; g.real_y = 192; g.real_width = 240 }
end
end
$scene = Scene_Miao.new
$scene.main while $scene[/pre] |
评分
-
查看全部评分
|