设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3800|回复: 2
打印 上一主题 下一主题

[原创发布] 仿 XAS 3.82 的动态式标题

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3039
在线时间
1052 小时
注册时间
2011-8-16
帖子
242
跳转到指定楼层
1
发表于 2012-10-7 14:53:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 失落的乐章 于 2018-10-7 18:58 编辑

时隔六年的更新……

各功能测试通过。

RUBY 代码复制
  1. =begin
  2. ================================================================================
  3.  
  4. 滚动图片式标题
  5.  
  6. ________________________________________________________________________________
  7.  
  8.  【版本历史】
  9.  
  10.  版本      日期            备注
  11.  -----     -----------     ----------------------------------------------------
  12.  2.0   ... 2018.10.07 ...  脚本结构优化;代码规范化;增加范例工程
  13.  1.0   ... 2012.10.07 ...  最初版本
  14.  
  15. ________________________________________________________________________________
  16.  
  17.  【简介】
  18.  仿照 XAS 3.82 的标题画面,在标题中加入全景图及雾图形,增强视觉效果。
  19.  
  20. ________________________________________________________________________________
  21.  
  22.  【使用方式】
  23.  
  24.  替换默认的 Scene_Title,或插入到 Main 之前。
  25.  
  26. ________________________________________________________________________________
  27.  
  28.  【作者】
  29.  
  30.  失落的乐章
  31.  
  32. ================================================================================
  33. =end
  34.  
  35. module SGSTITLE
  36.  
  37.   # 固定标题图的路径(若为 nil 则采用数据库中设置的标题画面图形)
  38.   TITLE = nil
  39.   # 固定标题图显示方式(0:在滚动背景图与雾图形之下;
  40.   # 1:在背景图之上,雾图形之下;2:在滚动背景图与雾图形之上)
  41.   TYPE = 1
  42.   # 固定标题图的原点
  43.   TITLE_OX = 0
  44.   TITLE_OY = 0
  45.   # 固定标题图的坐标
  46.   TITLE_X = 50
  47.   TITLE_Y = 111
  48.  
  49.   # 滚动背景图的路径
  50.   PLANE = "Graphics/Panoramas/001-Sky01.jpg"
  51.   # 滚动背景图不透明度
  52.   PLANE_OPACITY = 120
  53.   # 背景图滚动速度
  54.   PLANE_OX = 1
  55.   PLANE_OY = 1
  56.  
  57.   # 雾图形的路径
  58.   FOG = "Graphics/Fogs/001-Fog01.png"
  59.   # 雾图形不透明度
  60.   FOG_OPACITY = 50
  61.   # 雾图形合成方式(0:正常;1:加法;2:减法)
  62.   FOG_BLEND_TYPE = 1
  63.   # 雾图形滚动速度
  64.   FOG_OX = -1
  65.   FOG_OY =  1
  66.  
  67. end
  68.  
  69. class Scene_Title
  70.   include SGSTITLE
  71.    def main
  72.     if $BTEST
  73.       battle_test
  74.       return
  75.     end
  76.     $data_actors        = load_data("Data/Actors.rxdata")
  77.     $data_classes       = load_data("Data/Classes.rxdata")
  78.     $data_skills        = load_data("Data/Skills.rxdata")
  79.     $data_items         = load_data("Data/Items.rxdata")
  80.     $data_weapons       = load_data("Data/Weapons.rxdata")
  81.     $data_armors        = load_data("Data/Armors.rxdata")
  82.     $data_enemies       = load_data("Data/Enemies.rxdata")
  83.     $data_troops        = load_data("Data/Troops.rxdata")
  84.     $data_states        = load_data("Data/States.rxdata")
  85.     $data_animations    = load_data("Data/Animations.rxdata")
  86.     $data_tilesets      = load_data("Data/Tilesets.rxdata")
  87.     $data_common_events = load_data("Data/CommonEvents.rxdata")
  88.     $data_system        = load_data("Data/System.rxdata")
  89.     $game_system = Game_System.new
  90.     s1 = "新游戏"
  91.     s2 = "继续"
  92.     s3 = "退出"
  93.     @command_window = Window_Command.new(192, [s1, s2, s3])
  94.     @command_window.back_opacity = 160
  95.     @command_window.x = 320 - @command_window.width / 2
  96.     @command_window.y = 288
  97.     @continue_enabled = false
  98.     @plane = Plane.new
  99.     @plane.bitmap = Bitmap.new(PLANE)
  100.     @plane.z = 2
  101.     @fog = Plane.new
  102.     @fog.bitmap = Bitmap.new(FOG)
  103.     @fog.opacity = FOG_OPACITY
  104.     @fog.blend_type = FOG_BLEND_TYPE
  105.     @fog.z = 4
  106.     @title = Sprite.new
  107.     @title.bitmap = TITLE ? Bitmap.new(TITLE) : RPG::Cache.title($data_system.title_name)
  108.     @title.ox = TITLE_OX
  109.     @title.oy = TITLE_OY
  110.     @title.x = TITLE_X
  111.     @title.y = TITLE_Y
  112.     @title.z = case TYPE
  113.                when 0 then 1
  114.                when 1 then 3
  115.                when 2 then 5
  116.                else 5
  117.                end
  118.     for i in 0..3
  119.       if FileTest.exist?("Save#{i+1}.rxdata")
  120.         @continue_enabled = true
  121.       end
  122.     end
  123.     if @continue_enabled
  124.       @command_window.index = 1
  125.     else
  126.       @command_window.disable_item(1)
  127.     end
  128.     $game_system.bgm_play($data_system.title_bgm)
  129.     Audio.me_stop
  130.     Audio.bgs_stop
  131.     Graphics.transition
  132.     loop do
  133.       Graphics.update
  134.       Input.update
  135.       update
  136.       if $scene != self
  137.         break
  138.       end
  139.     end
  140.     Graphics.freeze
  141.     @command_window.dispose
  142.     @plane.bitmap.dispose
  143.     @plane.dispose
  144.     @fog.bitmap.dispose   
  145.     @fog.dispose
  146.     @title.bitmap.dispose
  147.     @title.dispose   
  148.   end
  149.   def update
  150.     @plane.ox += PLANE_OX
  151.     @plane.oy += PLANE_OY
  152.     @fog.ox += FOG_OX
  153.     @fog.oy += FOG_OY
  154.     @command_window.update
  155.     if Input.trigger?(Input::C)
  156.       case @command_window.index
  157.       when 0
  158.         command_new_game
  159.       when 1
  160.         command_continue
  161.       when 2
  162.         command_shutdown
  163.       end
  164.     end
  165.   end
  166.   def command_new_game
  167.     $game_system.se_play($data_system.decision_se)
  168.     Audio.bgm_stop
  169.     Graphics.frame_count = 0
  170.     $game_temp          = Game_Temp.new
  171.     $game_system        = Game_System.new
  172.     $game_switches      = Game_Switches.new
  173.     $game_variables     = Game_Variables.new
  174.     $game_self_switches = Game_SelfSwitches.new
  175.     $game_screen        = Game_Screen.new
  176.     $game_actors        = Game_Actors.new
  177.     $game_party         = Game_Party.new
  178.     $game_troop         = Game_Troop.new
  179.     $game_map           = Game_Map.new
  180.     $game_player        = Game_Player.new
  181.     $game_party.setup_starting_members
  182.     $game_map.setup($data_system.start_map_id)
  183.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  184.     $game_player.refresh
  185.     $game_map.autoplay
  186.     $game_map.update
  187.     $scene = Scene_Map.new
  188.   end
  189.   def command_continue
  190.     unless @continue_enabled
  191.       $game_system.se_play($data_system.buzzer_se)
  192.       return
  193.     end
  194.     $game_system.se_play($data_system.decision_se)
  195.     $scene = Scene_Load.new
  196.   end
  197.   def command_shutdown
  198.     $game_system.se_play($data_system.decision_se)
  199.     Audio.bgm_fade(800)
  200.     Audio.bgs_fade(800)
  201.     Audio.me_fade(800)
  202.     $scene = nil
  203.   end
  204.   def battle_test
  205.     $data_actors        = load_data("Data/BT_Actors.rxdata")
  206.     $data_classes       = load_data("Data/BT_Classes.rxdata")
  207.     $data_skills        = load_data("Data/BT_Skills.rxdata")
  208.     $data_items         = load_data("Data/BT_Items.rxdata")
  209.     $data_weapons       = load_data("Data/BT_Weapons.rxdata")
  210.     $data_armors        = load_data("Data/BT_Armors.rxdata")
  211.     $data_enemies       = load_data("Data/BT_Enemies.rxdata")
  212.     $data_troops        = load_data("Data/BT_Troops.rxdata")
  213.     $data_states        = load_data("Data/BT_States.rxdata")
  214.     $data_animations    = load_data("Data/BT_Animations.rxdata")
  215.     $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
  216.     $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
  217.     $data_system        = load_data("Data/BT_System.rxdata")
  218.     Graphics.frame_count = 0
  219.     $game_temp          = Game_Temp.new
  220.     $game_system        = Game_System.new
  221.     $game_switches      = Game_Switches.new
  222.     $game_variables     = Game_Variables.new
  223.     $game_self_switches = Game_SelfSwitches.new
  224.     $game_screen        = Game_Screen.new
  225.     $game_actors        = Game_Actors.new
  226.     $game_party         = Game_Party.new
  227.     $game_troop         = Game_Troop.new
  228.     $game_map           = Game_Map.new
  229.     $game_player        = Game_Player.new
  230.     $game_party.setup_battle_test_members
  231.     $game_temp.battle_troop_id = $data_system.test_troop_id
  232.     $game_temp.battle_can_escape = true
  233.     $game_map.battleback_name = $data_system.battleback_name
  234.     $game_system.se_play($data_system.battle_start_se)
  235.     $game_system.bgm_play($game_system.battle_bgm)
  236.     $scene = Scene_Battle.new
  237.   end
  238. end


范例工程:
动态标题(新).zip (212.99 KB, 下载次数: 211)

评分

参与人数 3星屑 +2 +11 收起 理由
水母书亚 + 1 塞糖
论坛助理 + 10 主站发布
satgo1546 + 2 没有范例工程么

查看全部评分

Lv3.寻梦者

梦石
0
星屑
3039
在线时间
1052 小时
注册时间
2011-8-16
帖子
242
2
 楼主| 发表于 2018-10-7 19:06:29 | 只看该作者
时隔六年,这个脚本终于有范例工程了。不过脚本本身技术含量不高,以后估计也不会再更新了。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
20
在线时间
2 小时
注册时间
2018-11-4
帖子
1
3
发表于 2018-11-4 11:46:02 | 只看该作者
这个脚本不错!标题好看多了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-11 07:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表