Project1
标题:
关于游戏片头跳转的问题 求教教
[打印本页]
作者:
伊湛
时间:
2010-12-13 22:30
标题:
关于游戏片头跳转的问题 求教教
本帖最后由 伊湛 于 2010-12-13 23:52 编辑
关于游戏片头跳转的问题 求教教
就是开头有些小logo之后跳转到标题
标题再跳转到游戏开头 要怎样设置呢
下了一些别人的范例看 貌似这样是不用设置主角初始位置的
所以想请教下怎样设置 按了标题开始游戏后跳转的主角呢?
作者:
px.凤翔九天
时间:
2010-12-13 22:39
本帖最后由 px.凤翔九天 于 2010-12-13 22:40 编辑
不设置主角初始位置是不可能的....
开头先logo的话,脚本...
标题跳转到游戏开头的话,可以吧主角的初始位置定在一张空地图上,而且把主角的 角色图形改为 无,然后再那张空地图上做个事件,为并行处理,然后在里面用事件写你想要的开头:显示文字,显示图片什么的
最后加一个场所移动 移动到第一张你画的地图,然后把角色图形改回来(事件写法:事件页第三页..)就好了
作者:
伊湛
时间:
2010-12-13 22:39
class Scene_Title
#--------------------------------------------------------------------------
# ● 主处理
#--------------------------------------------------------------------------
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")
# 生成系统对像
$game_system = Game_System.new
# 进入事件显示LOGO,如果您不想在调试时总是显示LOGO就加上下一行中注释部分
if $show_logo # and !$DEBUG
# 设置标记变量保证下次回到标题画面不会再显示片头
$show_logo = false
# 重置测量游戏时间用的画面计数器
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
# 与真正的新游戏唯一不同就是将变量1设置一个标记值(暂用8764)
$game_variables[1]=8764
# 主角暂时是不能显示出来的……
$game_player.transparent = true
# 切换地图画面
$scene = Scene_Map.new
# 否则是默认显示标题画面
else
# 生成标题图形
@sprite = [Sprite.new]
for i in 0..3
@sprite[i] = Sprite.new
@sprite[i].opacity = 0
end
@sprite[0].bitmap = RPG::Cache.title($data_system.title_name)
@sprite[0].opacity = 0
#开始游戏的图片
@sprite[1].bitmap = Bitmap.new("Graphics/Pictures/Title_start")
@sprite[1].opacity = 0
#继续游戏的图片
@sprite[2].bitmap = Bitmap.new("Graphics/Pictures/Title_continue")
@sprite[2].opacity = 0
#结束游戏的图片
@sprite[3].bitmap = Bitmap.new("Graphics/Pictures/Title_exit")
@sprite[3].opacity = 0
#图片位置
for i in 1..3
x=0
y=0
@sprite[i].x =x
@sprite[i].y =y
end
@continue_enabled = false
for i in 0..4
if FileTest.exist?("SaveData/Save#{i}.rxdata")
@continue_enabled = true
end
end
# $game_system.bgm_play($data_system.title_bgm)
for i in 1..50
Graphics.update
end
if @continue_enabled
@command_index = 1
else
@command_index = 0
@sprite[2].tone = Tone.new(0, 0, 0, 255)
end
Audio.me_stop
Audio.bgs_stop
Graphics.transition
loop do
Graphics.update
#淡出背景圖形
if @sprite[0].opacity <= 255
@sprite[0].opacity += 15
end
if @sprite[1].opacity <= 255
@sprite[1].opacity += 15
end
if @sprite[2].opacity <= 255
@sprite[2].opacity += 15
end
if @sprite[3].opacity <= 255
@sprite[3].opacity += 15
end
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
# 釋放圖形
for i in 0..3
@sprite[i].bitmap.dispose
@sprite[i].dispose
end
end
def update
chaochaocommandchaochao
if Input.trigger?(Input::C)
case @command_index
when 0
command_new_game
when 1
command_continue
when 2
command_shutdown
end
end
end
def chaochaocommandchaochao
if Input.trigger?(Input::UP)
@command_index -= 1
if @command_index < 0
@command_index = 2
end
$game_system.se_play($data_system.cursor_se)
end
if Input.trigger?(Input::DOWN)
@command_index += 1
if @command_index > 2
@command_index = 0
end
$game_system.se_play($data_system.cursor_se)
end
case @command_index
when 0
if @sprite[1].opacity <= 255
@sprite[1].opacity += 15
Graphics.update
end
@sprite[2].opacity = 0
@sprite[3].opacity = 0
when 1
@sprite[1].opacity = 0
if @sprite[2].opacity <= 255
@sprite[2].opacity += 15
Graphics.update
end
@sprite[3].opacity = 0
when 2
@sprite[1].opacity = 0
@sprite[2].opacity = 0
if @sprite[3].opacity <= 255
@sprite[3].opacity += 15
Graphics.update
end
end
end
end
复制代码
作者:
px.凤翔九天
时间:
2010-12-13 22:42
本帖最后由 px.凤翔九天 于 2010-12-13 22:43 编辑
回复
伊湛
的帖子
你放这个没啥用,,,这个我也有,你要使用脚本写logo的话得告诉我写什么,要动画吗什么的,给我这个没什么用处...而且写完是插在main前面的,不是scene——title(当然不插在main前面也可,我不拦你..)
你要是用这个其中的东西,那么自己看一下其中的注释应该还能看懂他的原理吧
作者:
伊湛
时间:
2010-12-13 22:57
回复
px.凤翔九天
的帖子
我想制作一个20张图片替换的logo吧 然后再跳转的标题
你能教教我怎样弄吗?谢谢 QQ120113014
作者:
px.凤翔九天
时间:
2010-12-13 23:03
我勒个去,20张...数目不小啊...建议楼主先看一下F1帮助文件中的图片显示的解释,用那个可以显示图片做logo的...不懂的话一会我帮你做。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1