Project1
标题:
万恶的字幕脚本问题
[打印本页]
作者:
№独孤剑→
时间:
2011-9-18 15:00
标题:
万恶的字幕脚本问题
想在开头整一个背景介绍,就像龙使传说-承接未完的梦境那样,使用完返回地图,结果万恶的bug出现了:1.必须前面出现文本,否则卡死;2.无论我使用中断循环条件分歧变量开关,回到地图后一切无视,从头开始。求帮助… dsu_plus_rewardpost_czw
作者:
各种压力的猫君
时间:
2011-9-18 21:04
以下脚本插到MAIN上面即可。
字幕内容在哪里改不用我说了吧 = =
每行字幕长度不要超过字幕上下的双横线,否则会被压扁
#==============================================================================
# ■ Scene_Credit 【改】
#------------------------------------------------------------------------------
# 处理滚动字幕的类。
#------------------------------------------------------------------------------
# 使用方法:
# $scene = Scene_Credit.new 字幕结束返回标题
# $scene = Scene_Credit.new(Scene_Map) 字幕结束返回地图
#==============================================================================
class Scene_Credit
#======================================================
CREDIT=<<_END_
很难说什么是办不到的事情,因为昨天的梦想,
可以是今天的希望,并且还可以成为明天的现实。
要抒写自己梦想的人,反而更应该清醒。
梦想无论怎样模糊,总潜伏在我们心底,
使我们的心境永远得不到宁静,直到这些梦想成为事实。
青春是人生最快乐的时光,
但这种快乐往往完全是因为它充满着希望,
而不是因为得到了什么或逃避了什么。
无论哪个时代,青年的特点总是怀抱着各种理想和幻想。
这并不是什么毛病,而是一种宝贵的品质。
青年时准备好材料,想造一座通向月亮的桥,
或者在地上造二所宫殿或庙宇。活到中年,终于决定搭一个棚。
努力向上吧,星星就躲藏在你的灵魂深处;做一个悠远的梦吧,
每个梦想都会超越你的目标。
让青春反抗老朽,长发反抗秃头,
热情反抗陈腐,未来反抗往昔,这是多么自然!
梦想是一个人奋斗的动力,梦想是一个人动力的源泉。
要想成就伟业,除了梦想,必须行动。
_END_
#======================================================
def initialize(return_scene = nil)
if return_scene.nil?
@return_scene = Scene_Title.new
else
@return_scene = Scene_Map.new
end
end
def scene_start
credit_lines = CREDIT.split(/\n/)
credit_bitmap = Bitmap.new(640,32 * credit_lines.size)
credit_lines.each_index do |i|
line = credit_lines [ i ]
credit_bitmap.draw_text(0,i * 32,640,32,line,1)
end
@credit_sprite = Sprite.new(Viewport.new(0,50,640,380))
@credit_sprite.bitmap = credit_bitmap
@credit_sprite.oy = -430
@frame_index = 0
@last_flag = false
end
def scene_end
@credit_sprite.dispose
end
def last?
return (@frame_index >= @credit_sprite.bitmap.height + 480)
end
def last
if not @last_flag
Audio.bgm_fade(10000)
@last_flag = true
@last_count = 0
else
@last_count += 1
end
if @last_count >= 300
$scene = @return_scene
end
end
def update
@frame_index += 1
return if cancel?
last if last?
@credit_sprite.oy += 1
end
def cancel?
if Input.trigger?(Input::B)
$scene = @return_scene
return true
end
return false
end
def main
scene_start
# 过渡
Graphics.transition
# 主循环
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
# 准备过渡
Graphics.freeze
scene_end
end
end
#==============================================================================
# ■ Scene_Title 【改】
#------------------------------------------------------------------------------
# 处理标题画面的类。
# 当选择新游戏时调用滚动字幕。
#==============================================================================
class Scene_Title
#--------------------------------------------------------------------------
# ● 命令 : 新游戏
#--------------------------------------------------------------------------
def command_new_game
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 停止 BGM
Audio.bgm_stop
# 重置测量游戏时间用的画面计数器
Graphics.frame_count = 0
# 生成各种游戏对像
$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)
# 刷新主角
$game_player.refresh
# 执行地图设置的 BGM 与 BGS 的自动切换
$game_map.autoplay
# 刷新地图 (执行并行事件)
$game_map.update
# 切换地图画面
$scene = Scene_Credit.new(Scene_Map)
end
end
复制代码
作者:
步兵中尉
时间:
2011-9-19 02:16
我直接用图片移动来解决字幕问题。
图片方便在字体、字形和字号都能随便修改,还不会出现BUG和不兼容的情况
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1