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

Project1

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

[原创发布] 强化标题界面[增加选项]+[特效]+[基本解说字幕]+[难度模式]

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
248 小时
注册时间
2010-8-22
帖子
127
跳转到指定楼层
1
发表于 2011-8-1 11:11:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 YamazakiRyusa 于 2011-8-1 11:11 编辑


简介:该脚本整合了 66RPG 原有的一个标题“流星雨”特效,另外增加了一个难度模式选项,以及随着光标切换到不同选项,底部的字幕会随之改变。特别注意,难度模式选项可选,需要游戏目录下的 HARDMARK.HMF(可以自行更改名称)文件校验。如此,便可以让游戏实现二周目功能。需要生成的文件详见第二个脚本。

额外提示:二周目可以用开关设置。进入难度模式时额外打开两个开关(详见 311 行 与 312 行)。其中,闪光属性的设置可以为,数据库的状态增加一个闪光状态,BUFF 状态大家都会设置了吧?攻击力、防御力 150% 啥的就靠 DIY 了。然后在队伍设置事件页,条件分歧当闪光开关打开时敌人全体增加闪光 BUFF 即可。
使用方法:复制脚本,放到 Main 脚本的前面;如果有把握的话也可以直接替换掉 Scene_Title 那个渣脚本。
①标题脚本:
  1. #==============================================================================
  2. # ■ Scene_Title
  3. #------------------------------------------------------------------------------
  4. #  处理标题画面的类。
  5. #==============================================================================
  6. =begin
  7. 更改内容:
  8. · 增加天气效果,可以自由设定,目前为雨效果 by 66RPG
  9. · 增加难度模式选项,该选项由文件 HARDMODE.HMF 指定。该文件存在时则开启难度模式,
  10.    若文件不存在则选项不可用 by Ryusa
  11. · 取消了切换场景时 BGM 停止的指令 by 66RPG
  12. 修改/Ryusa 参考/66RPG、宇文隳、SmilP 日期/2011 年 7 月 29 日
  13. =end

  14. class Scene_Title
  15.   WEATHER = 1     # 使用自定义效果(0:无,1:雨,2:暴风雨,3:雪,4:自定义)
  16.   MAXNUMBER = 18  # 天气图片数量

  17.   WEATHER_FILE = "Graphics/Pictures/TESTMODE.png"
  18.   BLEND_TYPE = 1 # 合成方式(0:普通,1:加法,2:减法)
  19.   WEATHER_X = 5 # X方向每回合减少象素
  20.   WEATHER_Y = 5 # Y方向每回合减少象素
  21.   WEATHER_OPACITY = 2 #每回合减低透明度
  22.   START_OPACITY = 200 #出现时的透明度
  23.   RAND_X = 1200 # 随机X范围
  24.   RAND_Y = 600 # 随机Y范围
  25.   HEIGHT = -600 # 出现时候的屏幕Y
  26.   WIDTH = 100 # 出现时候的屏幕X

  27.   #--------------------------------------------------------------------------
  28.   # ● 住处理
  29.   #--------------------------------------------------------------------------
  30.   def main
  31.     # 战斗测试的情况下
  32.     if $BTEST
  33.       battle_test
  34.       return
  35.     end
  36.     # 载入数据库
  37.     $data_actors        = load_data("Data/Actors.rxdata")
  38.     $data_classes       = load_data("Data/Classes.rxdata")
  39.     $data_skills        = load_data("Data/Skills.rxdata")
  40.     $data_items         = load_data("Data/Items.rxdata")
  41.     $data_weapons       = load_data("Data/Weapons.rxdata")
  42.     $data_armors        = load_data("Data/Armors.rxdata")
  43.     $data_enemies       = load_data("Data/Enemies.rxdata")
  44.     $data_troops        = load_data("Data/Troops.rxdata")
  45.     $data_states        = load_data("Data/States.rxdata")
  46.     $data_animations    = load_data("Data/Animations.rxdata")
  47.     $data_tilesets      = load_data("Data/Tilesets.rxdata")
  48.     $data_common_events = load_data("Data/CommonEvents.rxdata")
  49.     $data_system        = load_data("Data/System.rxdata")
  50.     # 生成系统对像
  51.     $game_system = Game_System.new
  52.     # 生成标题图形
  53.     @sprite = Sprite.new
  54.     @sprite.bitmap = RPG::Cache.title($data_system.title_name)
  55.     @ox = 0
  56.     @oy = 0
  57.     color1 = Color.new(255, 255, 255, 255)
  58.     color2 = Color.new(255, 255, 255, 128)
  59.     @rain_bitmap = Bitmap.new(7, 56)
  60.     for i in 0..6
  61.       @rain_bitmap.fill_rect(6-i, i*8, 1, 8, color1)
  62.     end
  63.     @storm_bitmap = Bitmap.new(34, 64)
  64.     for i in 0..31
  65.       @storm_bitmap.fill_rect(33-i, i*2, 1, 2, color2)
  66.       @storm_bitmap.fill_rect(32-i, i*2, 1, 2, color1)
  67.       @storm_bitmap.fill_rect(31-i, i*2, 1, 2, color2)
  68.     end
  69.     @snow_bitmap = Bitmap.new(6, 6)
  70.     @snow_bitmap.fill_rect(0, 1, 6, 4, color2)
  71.     @snow_bitmap.fill_rect(1, 0, 4, 6, color2)
  72.     @snow_bitmap.fill_rect(1, 2, 4, 2, color1)
  73.     @snow_bitmap.fill_rect(2, 1, 2, 4, color1)
  74.     @sprites = []
  75.     for i in 1..40
  76.       sprite = Sprite.new
  77.       case WEATHER
  78.       when 1
  79.         sprite.bitmap = @rain_bitmap
  80.       when 2
  81.         sprite.bitmap = @storm_bitmap
  82.       when 3
  83.         sprite.bitmap = @snow_bitmap
  84.       when 4
  85.         sprite.bitmap = Bitmap.new(WEATHER_FILE)
  86.       end
  87.       sprite.z = 1000
  88.       sprite.x = -1000
  89.       sprite.y = -1000
  90.       sprite.visible = (i <= MAXNUMBER)
  91.       sprite.blend_type = BLEND_TYPE
  92.       sprite.opacity = START_OPACITY
  93.       @sprites.push(sprite)
  94.     end
  95.     weather_update
  96.     # 生成命令窗口
  97.     s1 = "角色登录"
  98.     s2 = "载入进度"
  99.     s3 = "难度模式"
  100.     s4 = "退出游戏"
  101.     @command_window = Window_Command.new(192, [s1, s2, s3, s4])
  102.     @command_window.back_opacity = 160
  103.     @command_window.x = 545 - @command_window.width / 2
  104.     @command_window.y = 320
  105.     # 判定继续的有效性
  106.     # 存档文件一个也不存在的时候也调查
  107.     # 有効为 @continue_enabled 为 true、無効为 false
  108.     @continue_enabled = false
  109.     for i in 0..3
  110.       if FileTest.exist?("Save#{i+1}.rxdata")
  111.         @continue_enabled = true
  112.       end
  113.     end
  114.     # 继续为有效的情况下、光标停止在继续上
  115.     # 无效的情况下、继续的文字显示为灰色
  116.     if @continue_enabled
  117.       @command_window.index = 1
  118.     else
  119.       @command_window.disable_item(1) # 在第二项显示灰色
  120.     end
  121.     # 判定卡片的存在
  122.     # 有効为 @hardmode_enabled 为 true、无效为 false
  123.     @hardmode_enabled = false
  124.     if FileTest.exist?("HARDMARK.HMF")
  125.       # 读取文件内容,如果利用非法的难度模式标记访问,会被拒绝
  126.       # 附拒绝原因:无法读取二进制以外的编码
  127.       ryusa = file = load_data("HARDMARK.HMF")
  128.       if ryusa == 1
  129.         @hardmode_enabled = true
  130.       end
  131.     end
  132.     # 无效的情况下、继续的文字显示为灰色
  133.     if @hardmode_enabled
  134.       #@command_window.index = 1
  135.     else
  136.       @command_window.disable_item(2) # 在第三项显示灰色
  137.     end
  138.     # 演奏标题 BGM
  139.     $game_system.bgm_play($data_system.title_bgm)
  140.     # 停止演奏 ME、BGS
  141.     Audio.me_stop
  142.     Audio.bgs_stop
  143.     # 执行过渡
  144.     Graphics.transition
  145.     # 主循环
  146.     loop do
  147.       # 刷新游戏画面
  148.       Graphics.update
  149.       # 刷新输入信息
  150.       Input.update
  151.       # 刷新画面
  152.       update
  153.       # 如果画面被切换就中断循环
  154.       if $scene != self
  155.         break
  156.       end
  157.     end
  158.     # 装备过渡
  159.     Graphics.freeze
  160.     # 释放命令窗口
  161.     @command_window.dispose
  162.     # 释放标题图形
  163.     @sprite.bitmap.dispose
  164.     @sprite.dispose
  165.     for sprite in @sprites
  166.       sprite.dispose
  167.     end
  168.     @rain_bitmap.dispose
  169.     @storm_bitmap.dispose
  170.     @snow_bitmap.dispose
  171.   end
  172.   #--------------------------------------------------------------------------
  173.   # ● 刷新天气
  174.   #--------------------------------------------------------------------------
  175.   def weather_update
  176.     return if WEATHER == 0
  177.     for i in 1..MAXNUMBER
  178.       sprite = @sprites[i]
  179.       if sprite == nil
  180.         break
  181.       end
  182.       if WEATHER == 1
  183.         sprite.x -= 2
  184.         sprite.y += 16
  185.         sprite.opacity -= 8
  186.       end
  187.       if WEATHER == 2
  188.         sprite.x -= 8
  189.         sprite.y += 16
  190.         sprite.opacity -= 12
  191.       end
  192.       if WEATHER == 3
  193.         sprite.x -= 2
  194.         sprite.y += 8
  195.         sprite.opacity -= 8
  196.       end
  197.       if WEATHER == 4
  198.         sprite.x -= WEATHER_X
  199.         sprite.y += WEATHER_Y
  200.         sprite.opacity -= WEATHER_OPACITY
  201.       end
  202.       x = sprite.x - @ox
  203.       y = sprite.y - @oy
  204.       if sprite.opacity < 32 or x < -100 or x > 750 or y < -1000 or y > 500
  205.         sprite.x = rand(RAND_X) + WIDTH + @ox
  206.         sprite.y = rand(RAND_Y) + HEIGHT + @oy
  207.         sprite.opacity = START_OPACITY
  208.       end
  209.     end
  210.   end
  211.   #--------------------------------------------------------------------------
  212.   # ● 刷新画面
  213.   #--------------------------------------------------------------------------
  214.   def update
  215.     # 刷新命令窗口
  216.     @command_window.update
  217.     # 按下 C 键的情况下
  218.     if Input.trigger?(Input::C)
  219.       # 命令窗口的光标位置的分支
  220.       case @command_window.index
  221.       when 0  # 新游戏
  222.         command_new_game
  223.       when 1  # 继续
  224.         command_continue
  225.       when 2  # 难度模式
  226.         hardmode
  227.       when 3  # 退出
  228.         command_shutdown
  229.       end
  230.     end
  231.     weather_update
  232.   end

  233.   #--------------------------------------------------------------------------
  234.   # ● 命令 : 新游戏
  235.   #--------------------------------------------------------------------------
  236.   def command_new_game
  237.     # 演奏确定 SE
  238.     $game_system.se_play($data_system.decision_se)
  239.     # 停止 BGM
  240.     #Audio.bgm_stop
  241.     # 重置测量游戏时间用的画面计数器
  242.     Graphics.frame_count = 0
  243.     # 生成各种游戏对像
  244.     $game_temp          = Game_Temp.new
  245.     $game_system        = Game_System.new
  246.     $game_switches      = Game_Switches.new
  247.     $game_variables     = Game_Variables.new
  248.     $game_self_switches = Game_SelfSwitches.new
  249.     $game_screen        = Game_Screen.new
  250.     $game_actors        = Game_Actors.new
  251.     $game_party         = Game_Party.new
  252.     $game_troop         = Game_Troop.new
  253.     $game_map           = Game_Map.new
  254.     $game_player        = Game_Player.new
  255.     # 设置初期同伴位置
  256.     $game_party.setup_starting_members
  257.     # 设置初期位置的地图
  258.     $game_map.setup($data_system.start_map_id)
  259.     # 主角向初期位置移动
  260.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  261.     # 刷新主角
  262.     $game_player.refresh
  263.     # 执行地图设置的 BGM 与 BGS 的自动切换
  264.     $game_map.autoplay
  265.     # 刷新地图 (执行并行事件)
  266.     $game_map.update
  267.     # 切换地图画面
  268.     $scene = Scene_Map.new
  269.   end
  270.   #--------------------------------------------------------------------------
  271.   # ● 命令 : 继续
  272.   #--------------------------------------------------------------------------
  273.   def command_continue
  274.     # 继续无效的情况下
  275.     unless @continue_enabled
  276.       # 演奏无效 SE
  277.       $game_system.se_play($data_system.buzzer_se)
  278.       return
  279.     end
  280.     # 演奏确定 SE
  281.     $game_system.se_play($data_system.decision_se)
  282.     # 切换到读档画面
  283.     $scene = Scene_Load.new
  284.   end
  285.   #--------------------------------------------------------------------------
  286.   # ● 命令 :难度模式
  287.   #--------------------------------------------------------------------------
  288.   def hardmode
  289.     # 判定卡片是否存在,不存在则选项为灰色。已经在 125 行设定条件
  290.     # 卡片不存在的情况下
  291.     unless @hardmode_enabled
  292.       # 演奏无效 SE
  293.       $game_system.se_play($data_system.buzzer_se)
  294.       return
  295.     end
  296.     # 演奏确定 SE
  297.     $game_system.se_play($data_system.decision_se)
  298.     # 停止 BGM
  299.     #Audio.bgm_stop
  300.     # 重置测量游戏时间用的画面计数器
  301.     Graphics.frame_count = 0
  302.     # 生成各种游戏对像
  303.     $game_temp          = Game_Temp.new
  304.     $game_system        = Game_System.new
  305.     $game_switches      = Game_Switches.new
  306.     # 打开指定开关,如果下面两行脚本放到前面则会被清空
  307.     $game_switches[132] = true # 难度模式开关,会在窗口左上角显示 HARDMODE 字符
  308.     $game_switches[134] = true # 闪光开关,敌人开启闪光状态,实力增强
  309.     $game_variables     = Game_Variables.new
  310.     $game_self_switches = Game_SelfSwitches.new
  311.     $game_screen        = Game_Screen.new
  312.     $game_party         = Game_Party.new
  313.     $game_troop         = Game_Troop.new
  314.     $game_map           = Game_Map.new
  315.     $game_player        = Game_Player.new
  316.     $game_actors        = Game_Actors.new
  317.     # 设置初期同伴位置
  318.     $game_party.setup_starting_members
  319.     # 设置初期位置的地图
  320.     $game_map.setup($data_system.start_map_id)
  321.     # 主角向初期位置移动
  322.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  323.     # 刷新主角
  324.     $game_player.refresh
  325.     # 执行地图设置的 BGM 与 BGS 的自动切换
  326.     $game_map.autoplay
  327.     # 刷新地图 (执行并行事件)
  328.     $game_map.update
  329.     # 切换地图画面
  330.     $scene = Scene_Map.new
  331.   end
  332.   #--------------------------------------------------------------------------
  333.   # ● 命令 : 退出
  334.   #--------------------------------------------------------------------------
  335.   def command_shutdown
  336.     # 演奏确定 SE
  337.     $game_system.se_play($data_system.decision_se)
  338.     # BGM、BGS、ME 的淡入淡出
  339.     Audio.bgm_fade(800)
  340.     Audio.bgs_fade(800)
  341.     Audio.me_fade(800)
  342.     # 退出
  343.     $scene = nil
  344.   end
  345.   #--------------------------------------------------------------------------
  346.   # ● 窗口:状态解说
  347.   #--------------------------------------------------------------------------

  348.   #--------------------------------------------------------------------------
  349.   # ● 战斗测试
  350.   #--------------------------------------------------------------------------
  351.   def battle_test
  352.     # 载入数据库 (战斗测试用)
  353.     $data_actors        = load_data("Data/BT_Actors.rxdata")
  354.     $data_classes       = load_data("Data/BT_Classes.rxdata")
  355.     $data_skills        = load_data("Data/BT_Skills.rxdata")
  356.     $data_items         = load_data("Data/BT_Items.rxdata")
  357.     $data_weapons       = load_data("Data/BT_Weapons.rxdata")
  358.     $data_armors        = load_data("Data/BT_Armors.rxdata")
  359.     $data_enemies       = load_data("Data/BT_Enemies.rxdata")
  360.     $data_troops        = load_data("Data/BT_Troops.rxdata")
  361.     $data_states        = load_data("Data/BT_States.rxdata")
  362.     $data_animations    = load_data("Data/BT_Animations.rxdata")
  363.     $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
  364.     $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
  365.     $data_system        = load_data("Data/BT_System.rxdata")
  366.     # 重置测量游戏时间用的画面计数器
  367.     Graphics.frame_count = 0
  368.     # 生成各种游戏对像
  369.     $game_temp          = Game_Temp.new
  370.     $game_system        = Game_System.new
  371.     $game_switches      = Game_Switches.new
  372.     $game_variables     = Game_Variables.new
  373.     $game_self_switches = Game_SelfSwitches.new
  374.     $game_screen        = Game_Screen.new
  375.     $game_actors        = Game_Actors.new
  376.     $game_party         = Game_Party.new
  377.     $game_troop         = Game_Troop.new
  378.     $game_map           = Game_Map.new
  379.     $game_player        = Game_Player.new
  380.     # 设置战斗测试用同伴
  381.     $game_party.setup_battle_test_members
  382.     # 设置队伍 ID、可以逃走标志、战斗背景
  383.     $game_temp.battle_troop_id = $data_system.test_troop_id
  384.     $game_temp.battle_can_escape = true
  385.     $game_map.battleback_name = $data_system.battleback_name
  386.     # 演奏战斗开始 BGM
  387.     $game_system.se_play($data_system.battle_start_se)
  388.     # 演奏战斗 BGM
  389.     $game_system.bgm_play($game_system.battle_bgm)
  390.     # 切换到战斗画面
  391.     $scene = Scene_Battle.new
  392.   end
  393. end
复制代码
然后这份脚本是难度模式生成器。
该脚本需要在事件中调用,调用的参数为下面两行。
$Scene = Scene_HMark.new
$Scene.Writein()
②难度模式生成器
  1. #————————————————————#——————————————————————————————————————
  2. # Scene_HardModeWritein 难度模式文件生成器
  3. #————————————————————#——————————————————————————————————————
  4. # 制作 / Ryusa
  5. # 参考 / 尽头 宇文隳 絶倫少女
  6. class Scene_HMark
  7.   def Writein()
  8.     # 判断最终 BOSS 是否被消灭,(120 是消灭后打开的开关,可以自己改)如果没有,强行调用也没辙
  9.     if $game_switches[120] == true
  10.       ryusa = 1
  11.       # 将二进制字符“1”写入难度模式标记 HARDMARK.HMF
  12.       save_data(ryusa , "HARDMARK.HMF")
  13.       # 弹出窗口提示
  14.       print "已经生成难度模式标记"
  15.       print "在标题界面可以选择难度模式"
  16.     end
  17.   end
  18. end
复制代码
③ 选项增加基本解说字幕(这份脚本是从“标题增加版权信息”改编的)
使用方法:复制代码在 Main 前面插入,放进去
  1. #————————————————————#——————————————————————————————————————
  2. # Scene_TitleEX 标题强化:选项增加基本解说字幕
  3. #————————————————————#——————————————————————————————————————
  4. # 改编 / 宇文隳
  5. module PLAN_COPYRIGHT
  6.   # 标题选项解说
  7.   COPYRIGHT_STR_ARY = ["★☆;开始新的游戏;☆★", "★☆;读取已存进度;☆★", "★☆;功能正在调试;☆★", "重置正式版"]
  8.   FONT_NAME     = ["华文细黑" , "华文楷体" , "黑体"]    # フォント
  9.   FONT_SIZE     =  20                               # フォントサイズ
  10.   FONT_BOLD     = false                              # 太字
  11.   FONT_ITALIC   = false                             # 斜体
  12.   STR_COLOR     = Color.new(200, 200, 200)          # 文字の色
  13.   DRAW_FRAME    = true                              # 縁取りする
  14.   FRAME_COLOR   = Color.new(0, 0, 0)                # 縁の色
  15.   DRAW_X        =  -250                               # X 座標修正値
  16.   DRAW_Y        =  -0                               # Y 座標修正値
  17. end

  18. #==============================================================================
  19. # ■ Scene_Title
  20. #==============================================================================

  21. class Scene_Title
  22.   #--------------------------------------------------------------------------
  23.   # ● メイン処理
  24.   #--------------------------------------------------------------------------
  25.   alias plan_copyrcight_main main
  26.   def main
  27.     # 戦闘テストの場合
  28.     if $BTEST
  29.       battle_test
  30.       return
  31.     end
  32.     # スプライトの作成
  33.     @copyrcight_sprite = Sprite.new
  34.     @copyrcight_sprite.z = 100
  35.     bitmap = Bitmap.new(32, 32)
  36.     bitmap.font.name = PLAN_COPYRIGHT::FONT_NAME
  37.     bitmap.font.size = PLAN_COPYRIGHT::FONT_SIZE
  38.     bitmap.font.bold = PLAN_COPYRIGHT::FONT_BOLD
  39.     #rect = bitmap.text_size(PLAN_COPYRIGHT::COPYRIGHT_STR)
  40.     rect = bitmap.text_size(PLAN_COPYRIGHT::COPYRIGHT_STR_ARY[0])
  41.     bitmap.dispose
  42.     bitmap = nil
  43.     @copyrcight_sprite.bitmap = Bitmap.new(rect.width, rect.height)
  44.     @copyrcight_sprite.bitmap.font.name = PLAN_COPYRIGHT::FONT_NAME
  45.     @copyrcight_sprite.bitmap.font.size = PLAN_COPYRIGHT::FONT_SIZE
  46.     @copyrcight_sprite.bitmap.font.bold = PLAN_COPYRIGHT::FONT_BOLD
  47.     @copyrcight_sprite.bitmap.font.italic = PLAN_COPYRIGHT::FONT_ITALIC

  48.     str = PLAN_COPYRIGHT::COPYRIGHT_STR_ARY[0]
  49.     if PLAN_COPYRIGHT::DRAW_FRAME
  50.       @copyrcight_sprite.bitmap.font.color = PLAN_COPYRIGHT::FRAME_COLOR
  51.       if defined?(@copyrcight_sprite.bitmap.draw_text_plan_frame)
  52.         @copyrcight_sprite.bitmap.draw_text_plan_frame(0, 0, rect.width, rect.height, str)
  53.         @copyrcight_sprite.bitmap.draw_text_plan_frame(2, 0, rect.width, rect.height, str)
  54.         @copyrcight_sprite.bitmap.draw_text_plan_frame(0, 2, rect.width, rect.height, str)
  55.         @copyrcight_sprite.bitmap.draw_text_plan_frame(2, 2, rect.width, rect.height, str)
  56.         @copyrcight_sprite.bitmap.font.color = PLAN_COPYRIGHT::STR_COLOR
  57.         @copyrcight_sprite.bitmap.draw_text_plan_frame(1, 1, rect.width, rect.height, str)
  58.       else
  59.         @copyrcight_sprite.bitmap.draw_text(0, 0, rect.width, rect.height, str)
  60.         @copyrcight_sprite.bitmap.draw_text(2, 0, rect.width, rect.height, str)
  61.         @copyrcight_sprite.bitmap.draw_text(0, 2, rect.width, rect.height, str)
  62.         @copyrcight_sprite.bitmap.draw_text(2, 2, rect.width, rect.height, str)
  63.         @copyrcight_sprite.bitmap.font.color = PLAN_COPYRIGHT::STR_COLOR
  64.         @copyrcight_sprite.bitmap.draw_text(1, 1, rect.width, rect.height, str)
  65.       end
  66.     else
  67.       @copyrcight_sprite.bitmap.font.color = PLAN_COPYRIGHT::STR_COLOR
  68.       @copyrcight_sprite.bitmap.draw_text(rect, str)
  69.     end
  70.     @copyrcight_sprite.x = 640 - rect.width + PLAN_COPYRIGHT::DRAW_X
  71.     @copyrcight_sprite.y = 480 - rect.height + PLAN_COPYRIGHT::DRAW_Y
  72.     # 元のメソッドに戻す
  73.     plan_copyrcight_main
  74.     # スプライトの解放
  75.     @copyrcight_sprite.bitmap.dispose
  76.     @copyrcight_sprite.dispose
  77.   end
  78.   #--------------------------------------------------------------------------
  79.   # ● フレーム更新
  80.   #--------------------------------------------------------------------------
  81.   alias plan_copyrcight_update update
  82.   def update
  83.     updateExtra
  84.     # スプライトの更新
  85.     @copyrcight_sprite.update
  86.     # 元のメソッドに戻す
  87.     plan_copyrcight_update
  88.   end
  89.   
  90.   #--------------------------------------------------------------------------
  91.   # ● 付くフレーム更新
  92.   #--------------------------------------------------------------------------
  93.   def updateExtra
  94.     bitmap = Bitmap.new(32, 32)
  95.     bitmap.font.name = PLAN_COPYRIGHT::FONT_NAME
  96.     bitmap.font.size = PLAN_COPYRIGHT::FONT_SIZE
  97.     bitmap.font.bold = PLAN_COPYRIGHT::FONT_BOLD
  98.     str = PLAN_COPYRIGHT::COPYRIGHT_STR_ARY[@command_window.index]
  99.     rect = bitmap.text_size(PLAN_COPYRIGHT::COPYRIGHT_STR_ARY[@command_window.index])
  100.     if PLAN_COPYRIGHT::DRAW_FRAME
  101.       @copyrcight_sprite.bitmap.clear
  102.       @copyrcight_sprite.bitmap.font.color = PLAN_COPYRIGHT::FRAME_COLOR
  103.       if defined?(@copyrcight_sprite.bitmap.draw_text_plan_frame)
  104.         @copyrcight_sprite.bitmap.draw_text_plan_frame(0, 0, rect.width, rect.height, str)
  105.         @copyrcight_sprite.bitmap.draw_text_plan_frame(2, 0, rect.width, rect.height, str)
  106.         @copyrcight_sprite.bitmap.draw_text_plan_frame(0, 2, rect.width, rect.height, str)
  107.         @copyrcight_sprite.bitmap.draw_text_plan_frame(2, 2, rect.width, rect.height, str)
  108.         @copyrcight_sprite.bitmap.font.color = PLAN_COPYRIGHT::STR_COLOR
  109.         @copyrcight_sprite.bitmap.draw_text_plan_frame(1, 1, rect.width, rect.height, str)
  110.       else
  111.         @copyrcight_sprite.bitmap.draw_text(0, 0, rect.width, rect.height, str)
  112.         @copyrcight_sprite.bitmap.draw_text(2, 0, rect.width, rect.height, str)
  113.         @copyrcight_sprite.bitmap.draw_text(0, 2, rect.width, rect.height, str)
  114.         @copyrcight_sprite.bitmap.draw_text(2, 2, rect.width, rect.height, str)
  115.         @copyrcight_sprite.bitmap.font.color = PLAN_COPYRIGHT::STR_COLOR
  116.         @copyrcight_sprite.bitmap.draw_text(1, 1, rect.width, rect.height, str)
  117.       end
  118.     else
  119.       @copyrcight_sprite.bitmap.font.color = PLAN_COPYRIGHT::STR_COLOR
  120.       @copyrcight_sprite.bitmap.draw_text(rect, str)
  121.     end
  122.   end
  123. end
复制代码

Lv3.寻梦者

梦石
0
星屑
1347
在线时间
676 小时
注册时间
2009-11-11
帖子
2790
2
发表于 2011-8-1 12:32:07 | 只看该作者
挺好的,我也做过一个类似的(广告

嘿。嘿。嘿
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
3 小时
注册时间
2011-8-14
帖子
10
3
发表于 2011-8-15 14:28:15 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
135 小时
注册时间
2011-8-1
帖子
188
4
发表于 2012-7-21 09:22:29 | 只看该作者
能做個VA的麼···

세상은 너무 미쳐있다
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 05:22

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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