Project1
标题:
求在标题菜单前添加LOGO的脚本
[打印本页]
作者:
Lachier
时间:
2009-7-12 10:43
标题:
求在标题菜单前添加LOGO的脚本
本帖最后由 Lachier 于 2009-7-13 12:51 编辑
曾经看过一个脚本,可以在标题菜单出来之前添加一个图片作为LOGO……
就像《仙剑奇侠传》的前面广告一样……
找了一上午也没有找到……
有谁能帮帮忙?
作者:
gaofei677
时间:
2009-7-12 12:14
直接用脚本把标题去掉,然后用事件做LOGO,再用事件做标题就OK
把 Scene_Title 全部内容改成
#==============================================================================
# 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
#==============================================================================
#==============================================================================
# ■ Scene_Title
#------------------------------------------------------------------------------
# 处理标题画面的类。
#==============================================================================
class Scene_Title < Scene_Base
#--------------------------------------------------------------------------
# ● 主处理
#--------------------------------------------------------------------------
def main
if $BTEST # 战斗测试的情况
battle_test # 开始处理战斗测试
else # 一般处理
super # 返回原来的主处理
end
end
#--------------------------------------------------------------------------
# ● 开始处理
#--------------------------------------------------------------------------
def start
super
load_database # 读取数据库
create_game_objects # 生成游戏对象
check_continue # 继续游戏的有效判定
command_new_game
end
#--------------------------------------------------------------------------
# ● 执行过渡
#--------------------------------------------------------------------------
def perform_transition
Graphics.transition(20)
end
#--------------------------------------------------------------------------
# ● 结束处理
#--------------------------------------------------------------------------
def terminate
super
snapshot_for_background
end
#--------------------------------------------------------------------------
# ● 读取数据库
#--------------------------------------------------------------------------
def load_database
$data_actors = load_data("Data/Actors.rvdata")
$data_classes = load_data("Data/Classes.rvdata")
$data_skills = load_data("Data/Skills.rvdata")
$data_items = load_data("Data/Items.rvdata")
$data_weapons = load_data("Data/Weapons.rvdata")
$data_armors = load_data("Data/Armors.rvdata")
$data_enemies = load_data("Data/Enemies.rvdata")
$data_troops = load_data("Data/Troops.rvdata")
$data_states = load_data("Data/States.rvdata")
$data_animations = load_data("Data/Animations.rvdata")
$data_common_events = load_data("Data/CommonEvents.rvdata")
$data_system = load_data("Data/System.rvdata")
$data_areas = load_data("Data/Areas.rvdata")
end
#--------------------------------------------------------------------------
# ● 战斗测试用的读取数据库
#--------------------------------------------------------------------------
def load_bt_database
$data_actors = load_data("Data/BT_Actors.rvdata")
$data_classes = load_data("Data/BT_Classes.rvdata")
$data_skills = load_data("Data/BT_Skills.rvdata")
$data_items = load_data("Data/BT_Items.rvdata")
$data_weapons = load_data("Data/BT_Weapons.rvdata")
$data_armors = load_data("Data/BT_Armors.rvdata")
$data_enemies = load_data("Data/BT_Enemies.rvdata")
$data_troops = load_data("Data/BT_Troops.rvdata")
$data_states = load_data("Data/BT_States.rvdata")
$data_animations = load_data("Data/BT_Animations.rvdata")
$data_common_events = load_data("Data/BT_CommonEvents.rvdata")
$data_system = load_data("Data/BT_System.rvdata")
end
#--------------------------------------------------------------------------
# ● 做成各种游戏对象
#--------------------------------------------------------------------------
def create_game_objects
$game_temp = Game_Temp.new
$game_message = Game_Message.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.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
end
#--------------------------------------------------------------------------
# ● 继续游戏的有效判定
#--------------------------------------------------------------------------
def check_continue
$continue_enabled = (Dir.glob('Save*.rvdata').size > 0)
end
#--------------------------------------------------------------------------
# ● 指令 : 新的游戏
#--------------------------------------------------------------------------
def command_new_game
confirm_player_location
$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
$scene = Scene_Map.new
Graphics.frame_count = 0
$game_map.autoplay
end
#--------------------------------------------------------------------------
# ● 检查玩家的初期位置
#--------------------------------------------------------------------------
def confirm_player_location
if $data_system.start_map_id == 0
print "还没设置玩家的初期位置。"
exit
end
end
#--------------------------------------------------------------------------
# ● 指令 : 继续游戏
#--------------------------------------------------------------------------
def command_continue
if $continue_enabled
Sound.play_decision
$scene = Scene_File.new(false, true, false)
else
Sound.play_buzzer
end
end
#--------------------------------------------------------------------------
# ● 指令 : 离开游戏
#--------------------------------------------------------------------------
def command_shutdown
Sound.play_decision
RPG::BGM.fade(800)
RPG::BGS.fade(800)
RPG::ME.fade(800)
$scene = nil
end
#--------------------------------------------------------------------------
# ● 战斗测试
#--------------------------------------------------------------------------
def battle_test
load_bt_database # 战斗测试用数据库读取
create_game_objects # 作成游戏对象
Graphics.frame_count = 0 # 初期化游戏时间
$game_party.setup_battle_test_members
$game_troop.setup($data_system.test_troop_id)
$game_troop.can_escape = true
$game_system.battle_bgm.play
snapshot_for_background
$scene = Scene_Battle.new
end
end
#==============================================================================
# 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
#==============================================================================
复制代码
---------------------------------------------
请用code标签
编辑 by zh99998
作者:
越前リョーマ
时间:
2009-7-12 12:40
先用跳过标题的脚本,
然后显示图片,再自己制作标题。
当然也可以直接用显示LOGO的脚本,在技术区,自己搜索吧。
作者:
雪流星
时间:
2009-7-12 12:45
2#
gaofei677
你就直接说改了哪里就好
还贴一大堆脚本作什麽?
作者:
Lachier
时间:
2009-7-12 12:48
我记得以前的那个脚本是把main中的什么scene_title改为scene_logo
可是还是搜不到那个脚本……我是个脚本盲啊~~
谢谢了~
作者:
风烟
时间:
2009-7-12 12:52
提示:
作者被禁止或删除 内容自动屏蔽
作者:
Lachier
时间:
2009-7-12 13:06
也许是我说的不明白……
是在脚本中新建一个脚本页,然后命名为scene_logo,然后就很简单的几行脚本……
最后把main中的 $scene = Scene_Title.new改为 $scene = Scene_Logo.new
谢谢大家了!
作者:
Majirefy
时间:
2009-7-12 18:53
本帖最后由 Majirefy 于 2009-7-12 18:56 编辑
貌似是这个……
]#============================================================================== # ■ Scene_Logo #------------------------------------------------------------------------------ # 处理静态游戏LOGO的类。 #============================================================================== # 使用说明: # # 放置LOGO序列图片于Graphics\System目录下,并以title_1、title_2、title_3……命名。 # # 图片格式只要RM支持即可。 # # 使用时,将此代码插入到Main脚本前,并在Main脚本中的$scene初始化指向Scene_Logo。 # # 即: $scene = Scene_Logo.new # 1012 脚本屋
http://www.1012script.cn/
#============================================================================== class Scene_Logo #-------------------------------------------------------------------------- # ● 主处理 #-------------------------------------------------------------------------- def main # 生成标题图形 @sprite = Sprite.new @sprite.bitmap = Bitmap.new(Graphics.width, Graphics.height) @title_num = 1 if FileTest.exist?("Graphics/System/title_#{@title_num}.jpg") @sprite.bitmap = Cache.system("title_#{@title_num}") else $scene = Scene_Title.new end @delay = 500 @sprite.opacity = 0 # 执行过渡 Graphics.transition # 主循环 loop do # 刷新游戏画面 Graphics.update # 刷新输入信息 Input.update # 刷新画面 update # 如果画面被切换就中断循环 if $scene != self break end end # 装备过渡 Graphics.freeze # 释放标题图形 @sprite.bitmap.dispose @sprite.dispose end #-------------------------------------------------------------------------- # ● 刷新画面 #-------------------------------------------------------------------------- def update # 刷新命令窗口 if @delay > 372 o = 2 elsif @delay <= 128 o = -2 else o = 0 end @sprite.opacity += o @delay -= 1 @sprite.update if @delay == 0 or Input.trigger?(Input::B) @title_num += 1 if FileTest.exist?("Graphics/System/title_#{@title_num}.jpg") @sprite.opacity = 0 @sprite.bitmap = Cache.system("title_#{@title_num}") @delay = 500 else $scene = Scene_Title.new end end end end
可是没有分段……没法直接用啊?我也是脚本盲……
作者:
Majirefy
时间:
2009-7-12 19:27
我实验了一下……
一行一行的拷贝……
结果……提示syntaxError错误……
你在找找别的吧……
作者:
zh99998
时间:
2009-7-13 07:14
http://rpg.blue/viewthread.php?t ... e%E5%88%9D%E5%A7%8B
这个帖子我给修复了一下
下面是弄好后的脚本
#==============================================================================
# ■ Scene_Logo
#------------------------------------------------------------------------------
# 处理静态游戏LOGO的类。
#==============================================================================
# 使用说明:
#
# 放置LOGO序列图片于Graphics\System目录下,并以title_1、title_2、title_3……命名。
#
# 图片格式只要RM支持即可。
#
# 使用时,将此代码插入到Main脚本前,并在Main脚本中的$scene初始化指向Scene_Logo。
#
# 即: $scene = Scene_Logo.new
# 1012 脚本屋 [url]http://www.1012script.cn/[/url]
#==============================================================================
class Scene_Logo
#--------------------------------------------------------------------------
# ● 主处理
#--------------------------------------------------------------------------
def main
# 生成标题图形
@sprite = Sprite.new
@sprite.bitmap = Bitmap.new(Graphics.width, Graphics.height)
@title_num = 1
if FileTest.exist?("Graphics/System/title_#{@title_num}.jpg")
@sprite.bitmap = Cache.system("title_#{@title_num}")
else
$scene = Scene_Title.new
end
@delay = 500
@sprite.opacity = 0
# 执行过渡
Graphics.transition
# 主循环
loop do
# 刷新游戏画面
Graphics.update
# 刷新输入信息
Input.update
# 刷新画面
update
# 如果画面被切换就中断循环
if $scene != self
break
end
end
# 装备过渡
Graphics.freeze
# 释放标题图形
@sprite.bitmap.dispose
@sprite.dispose
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def update
# 刷新命令窗口
if @delay > 372
o = 2
elsif @delay <= 128
o = -2
else
o = 0
end
@sprite.opacity += o
@delay -= 1
@sprite.update
if @delay == 0 or Input.trigger?(Input::B)
@title_num += 1
if FileTest.exist?("Graphics/System/title_#{@title_num}.jpg")
@sprite.opacity = 0
@sprite.bitmap = Cache.system("title_#{@title_num}")
@delay = 500
else
$scene = Scene_Title.new
end
end
end
end#==============================================================================
# ■ Scene_Logo
#------------------------------------------------------------------------------
# 处理静态游戏LOGO的类。
#==============================================================================
# 使用说明:
#
# 放置LOGO序列图片于Graphics\System目录下,并以title_1、title_2、title_3……命名。
#
# 图片格式只要RM支持即可。
#
# 使用时,将此代码插入到Main脚本前,并在Main脚本中的$scene初始化指向Scene_Logo。
#
# 即: $scene = Scene_Logo.new
# 1012 脚本屋 [url]http://www.1012script.cn/[/url]
#==============================================================================
class Scene_Logo
#--------------------------------------------------------------------------
# ● 主处理
#--------------------------------------------------------------------------
def main
# 生成标题图形
@sprite = Sprite.new
@sprite.bitmap = Bitmap.new(Graphics.width, Graphics.height)
@title_num = 1
if FileTest.exist?("Graphics/System/title_#{@title_num}.jpg")
@sprite.bitmap = Cache.system("title_#{@title_num}")
else
$scene = Scene_Title.new
end
@delay = 500
@sprite.opacity = 0
# 执行过渡
Graphics.transition
# 主循环
loop do
# 刷新游戏画面
Graphics.update
# 刷新输入信息
Input.update
# 刷新画面
update
# 如果画面被切换就中断循环
if $scene != self
break
end
end
# 装备过渡
Graphics.freeze
# 释放标题图形
@sprite.bitmap.dispose
@sprite.dispose
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def update
# 刷新命令窗口
if @delay > 372
o = 2
elsif @delay <= 128
o = -2
else
o = 0
end
@sprite.opacity += o
@delay -= 1
@sprite.update
if @delay == 0 or Input.trigger?(Input::B)
@title_num += 1
if FileTest.exist?("Graphics/System/title_#{@title_num}.jpg")
@sprite.opacity = 0
@sprite.bitmap = Cache.system("title_#{@title_num}")
@delay = 500
else
$scene = Scene_Title.new
end
end
end
end
复制代码
作者:
星恨无痕
时间:
2009-7-13 12:35
因为自己不想用事件来做显示LOGO,所以把XP的移植过来了,虽然说是移植,可是自己并没有真正修改过什么,没有什么技术含量,如果有人需要就拿去吧!O(∩_∩)O呵呵~
#=================================================
# ■ Scene_Logo
#-------------------------------------------------
# 处理LOGO的类。
#------------------------------------------------
# 原作者:绿梨子红苹果
# 移植:星恨无痕
#------------------------------------------------
# 说明:
# ①在插入脚本前需要修改Main脚本段。
# 将原来的一句:
# $scene = Scene_Title.new
# 修改为:
# $scene = Scene_Logo.new
# ②然后在Main脚本前插入以下脚本,命名为Scene_Logo
# ③接着,把你想要作为LOGO的图片命名为LOGO.jpg后放在Pictures文件夹的目录# 下,就可以了!就是这么简单,O(∩_∩)O哈哈~
#=================================================
class Scene_Logo
#-----------------------------------------------
# ● 主处理
#-----------------------------------------------
def main
# 生成LOGO图形
@sprite = Sprite.new
@sprite.bitmap = Bitmap.new("Graphics/Pictures/LOGO.jpg")
@sprite.x = 0
@sprite.y = 0
# 显示计时器
@show_time=60
# 执行过渡
Graphics.transition(40)
# 主循环
while @show_time>0 do
# 刷新游戏画面
Graphics.update
# 显示计时器减一
@show_time -= 1
end
# 准备过渡
Graphics.freeze
# 释放标题图形
@sprite.bitmap.dispose
@sprite.dispose
# 执行过渡,过渡到全黑
Graphics.transition(40)
# 准备过渡,用于准备过渡到标题画面
Graphics.freeze
# 进入标题画面
$scene = Scene_Title.new
end
end
作者:
Majirefy
时间:
2009-7-13 12:43
果然好了……能用啦……LZ应该满意了……
我也满意了……
作者:
Majirefy
时间:
2009-7-13 12:43
果然好了……能用啦……LZ应该满意了……
我也满意了……
作者:
星恨无痕
时间:
2009-7-13 12:49
因为自己不想用事件来做显示LOGO,所以把XP的移植过来了,虽然说是移植,可是自己并没有真正修改过什么,没有什么技术含量,如果有人需要就拿去吧!O(∩_∩)O呵呵~
#=================================================
# ■ Scene_Logo
#-------------------------------------------------
# 处理LOGO的类。
#------------------------------------------------
# 原作者:绿梨子红苹果
# 移植:星恨无痕
#------------------------------------------------
# 说明:
# ①在插入脚本前需要修改Main脚本段。
# 将原来的一句:
# $scene = Scene_Title.new
# 修改为:
# $scene = Scene_Logo.new
# ②然后在Main脚本前插入以下脚本,命名为Scene_Logo
# ③接着,把你想要作为LOGO的图片命名为LOGO.jpg后放在Pictures文件夹的目录# 下,就可以了!就是这么简单,O(∩_∩)O哈哈~
#=================================================
class Scene_Logo
#-----------------------------------------------
# ● 主处理
#-----------------------------------------------
def main
# 生成LOGO图形
@sprite = Sprite.new
@sprite.bitmap = Bitmap.new("Graphics/Pictures/LOGO.jpg")
@sprite.x = 0
@sprite.y = 0
# 显示计时器
@show_time=60
# 执行过渡
Graphics.transition(40)
# 主循环
while @show_time>0 do
# 刷新游戏画面
Graphics.update
# 显示计时器减一
@show_time -= 1
end
# 准备过渡
Graphics.freeze
# 释放标题图形
@sprite.bitmap.dispose
@sprite.dispose
# 执行过渡,过渡到全黑
Graphics.transition(40)
# 准备过渡,用于准备过渡到标题画面
Graphics.freeze
# 进入标题画面
$scene = Scene_Title.new
end
end
作者:
Lachier
时间:
2009-7-13 12:51
谢谢各位!
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1