Project1
标题:
这个脚本该怎么才能用上
[打印本页]
作者:
RPG三国杀
时间:
2012-5-29 22:06
标题:
这个脚本该怎么才能用上
本帖最后由 RPG三国杀 于 2012-5-29 22:06 编辑
老是提示228行错误
s.JPG
(11.42 KB, 下载次数: 9)
下载附件
保存到相册
2012-5-29 22:04 上传
这是脚本
#==============================================================================
# ■ Scene_Title
#------------------------------------------------------------------------------
# 处理标题画面的类。
#==============================================================================
class Scene_Title
def initialize(skip = false)
@skip = skip
end
#--------------------------------------------------------------------------
# ● 主处理
#--------------------------------------------------------------------------
def main
# 战斗测试的情况下
if $BTEST
battle_test
return
end
# 载入数据库
$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")
$data_mapnames = load_data("Data/MapInfos.rxdata")
$game_system = Game_System.new
@wait_count = 0
@index = 0
# 判定继续的有效性
# 存档文件一个也不存在的时候也调查
# 有効为 @continue_enabled 为 true、無効为 false
@continue_enabled = false
for i in 0..3
if FileTest.exist?("Save/Save#{i+1}.rxdata")
@continue_enabled = true
end
end
if @skip
acting(4)
else
start
end
# 停止演奏 ME、BGS
Audio.me_stop
Audio.bgs_stop
# 执行过渡
Graphics.transition
# 主循环
loop do
# 刷新游戏画面
Graphics.update
# 刷新输入信息
Input.update
# 刷新画面
update
# 如果画面被切换就中断循环
if $scene != self
break
end
end
# 装备过渡
Graphics.freeze
5.times do |i|@pic[i].bitmap.dispose; @pic[i].dispose end
Quarcy::Cache.clear
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def update
(@wait_count -= 1;return) if @wait_count > 0
return if acting(@step)
if Input.repeat?(Input::UP)
if Input.trigger?(Input::UP) or true
@index = (@index - 1)%4
@pic[3].bitmap = loadbitmap("Graphics/Title/选项#{@index+1}")
$game_system.se_play($data_system.cursor_se)
return
end
end
if Input.repeat?(Input::DOWN)
if Input.trigger?(Input::DOWN) or true
@index = (@index + 1)%4
@pic[3].bitmap = loadbitmap("Graphics/Title/选项#{@index+1}")
$game_system.se_play($data_system.cursor_se)
return
end
end
# 按下 C 键的情况下
if Input.trigger?(Input::C)
# 命令窗口的光标位置的分支
case @index
when 0 # 新游戏
command_new_game
when 1 # 继续
command_continue
when 2
$scene = Scene_Reference.new
when 3 # 退出
command_shutdown
end
end
end
#----------------------------------------------------------------------------
def start
@wait_count = 40
@step = 1
end
def acting(step)
case step
when 8
return false
when 1
@pic = Sprite.new
@pic.bitmap = loadbitmap("Graphics/Pictures/66rpg")
@pic.opacity = 0
@duration = 20
@step = 2
return true
when 2
if @duration > 0
d = @duration
@pic.opacity = (@pic.opacity * (d - 1) + 255) / d
@duration -= 1
else
@step = 3
@wait_count = 20
@duration = 20
end
return true
when 3
if @duration > 0
d = @duration
@pic.opacity = (@pic.opacity * (d - 1) + 0) / d
@duration -= 1
else
@step = 4
@wait_count = 25
end
return true
when 4
@pic.dispose if @pic !=nil
@wait_count = 20
@duration = 60
$game_system.bgm_play($data_system.title_bgm)
@pic = []
5.times do @pic << Sprite.new end
i = rand(4) + 1
@pic[0].bitmap = loadbitmap("Graphics/Title/背景#{i}")
@pic[1].bitmap = loadbitmap("Graphics/Title/LOGO")
actor = %w[][rand(4)]
@pic[2].bitmap = loadbitmap("Graphics/Title/#{actor}")
if @continue_enabled
@index = 1
@pic[3].bitmap = loadbitmap("Graphics/Title/选项#{@index+1}")
else
@pic[3].bitmap = loadbitmap("Graphics/Title/选项1")
end
@pic[3].x = -15
@pic[4].bitmap = loadbitmap("Graphics/Title/66RPG")
@pic[4].y = 460
5.times do |i|@pic[i].opacity = 0 end
@step = 5
return true
when 5
if @duration > 40
d = @duration - 40
@pic[0].opacity = (@pic[0].opacity * (d - 1) + 255) / d
@pic[4].opacity = (@pic[3].opacity * (d - 1) + 255) / d
@duration -= 1
return true
elsif @duration > 25
d = @duration - 25
@pic[1].opacity = (@pic[1].opacity * (d - 1) + 255) / d
@pic[2].opacity = (@pic[2].opacity * (d - 1) + 255) / d
@duration -= 1
return true
elsif @duration > 0
d = @duration
@pic[3].opacity = (@pic[3].opacity * (d - 1) + 255) / d
@duration -= 1
return true
else
@step = 8
@wait_count = 3
end
return true
when 6
if @duration > 0
d = @duration
@pic[0].opacity = (@pic[0].opacity * (d - 1) + 0) / d
@duration -= 1
else
@step = 7
@duration = 20
@pic[0].x = 0
end
return true
when 7
if @duration > 0
d = @duration
@pic[0].opacity = (@pic[0].opacity * (d - 1) + 255) / d
@duration -= 1
else
@step = 8
end
else
return true
end
end
#----------------------------------------------------------------------------
#--------------------------------------------------------------------------
# ● 載入圖片并放置于緩存區
#--------------------------------------------------------------------------
def loadbitmap(path)
return Quarcy::Cache.loadbitmap(path)
end
end
class Scene_Reference
#--------------------------------------------------------------------------
# ● 主处理
#--------------------------------------------------------------------------
def main
bg_sprite = Sprite.new()
bg_sprite.bitmap = Quarcy::Cache.loadbitmap("Graphics/menu/")
# 执行过渡
Graphics.transition
# 主循环
loop do
# 刷新游戏画面
Graphics.update
# 刷新输入信息
Input.update
if Input.trigger?(Input::C) or Input.trigger?(Input::B)
$scene = Scene_Title.new(true)
end
# 如果画面被切换就中断循环
if $scene != self
break
end
end
bg_sprite.dispose()
# 装备过渡
Graphics.freeze
Quarcy::Cache.clear
end
end
复制代码
求解释和修改,谢谢 dsu_plus_rewardpost_czw
作者:
tommay
时间:
2012-5-29 22:37
本帖最后由 tommay 于 2012-5-29 22:38 编辑
缺少这样一个模块Quarcy
#--------------------------------------------------------------------------
# ● 載入圖片并放置于緩存區
#--------------------------------------------------------------------------
def loadbitmap(path)
return Quarcy::Cache.loadbitmap(path)
end
‘‘──tommay于2012-5-29 22:53补充以下内容:
其实我不太明白为什么要重写RPG::Cache
’’
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1