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

Project1

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

[已经解决] 动态图片标题 無法使用

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
64 小时
注册时间
2011-4-1
帖子
39
跳转到指定楼层
1
发表于 2011-10-8 09:03:01 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 各种压力的猫君 于 2011-10-8 16:07 编辑
  1. #==============================================================================
  2. # 本脚本来自[url]http://www.66rpg.com/[/url],使用和转载请保留此信息
  3. #==============================================================================

  4. #==============================================================================
  5. # ■ 图片标题菜单1.0
  6. # Scene_Title
  7. #------------------------------------------------------------------------------
  8. # 作者:chaochao
  9. # [url]http://zhuchao.go1.icpcn.com/[/url]
  10. #==============================================================================
  11. class Scene_Title
  12.   WEATHER = 0    # 使用自定义效果(0:无,1:雨,2:暴风雨,3:雪,4:自定义)
  13.   MAXNUMBER = 10  # 天气图片数量
  14.   WEATHER_FILE = "Graphics/titles/Title_star"
  15.   # 自定义图片路径,这个文件可以从黑暗圣剑DEMO获得,是流星雨  
  16.   BLEND_TYPE = 0 # 合成方式(0:普通,1:加法,2:减法)
  17.   WEATHER_X = 5 # X方向每回合减少象素
  18.   WEATHER_Y = 5 # Y方向每回合减少象素
  19.   WEATHER_OPACITY = 1 #每回合减低透明度
  20.   START_OPACITY = 255 #出现时的透明度
  21.   RAND_X = 1000 # 随机X范围
  22.   RAND_Y = 100 # 随机Y范围
  23.   HEIGHT = 60 # 出现时候的屏幕Y
  24.   WIDTH = 640 # 出现时候的屏幕X
  25.   #--------------------------------------------------------------------------
  26.   # ● 主处理
  27.   #--------------------------------------------------------------------------
  28.   def main
  29.     if $BTEST
  30.       battle_test
  31.       return
  32.     end
  33.     $data_actors = load_data("Data/Actors.rxdata")
  34.     $data_classes = load_data("Data/Classes.rxdata")
  35.     $data_skills = load_data("Data/Skills.rxdata")
  36.     $data_items = load_data("Data/Items.rxdata")
  37.     $data_weapons = load_data("Data/Weapons.rxdata")
  38.     $data_armors = load_data("Data/Armors.rxdata")
  39.     $data_enemies = load_data("Data/Enemies.rxdata")
  40.     $data_troops = load_data("Data/Troops.rxdata")
  41.     $data_states = load_data("Data/States.rxdata")
  42.     $data_animations = load_data("Data/Animations.rxdata")
  43.     $data_tilesets = load_data("Data/Tilesets.rxdata")
  44.     $data_common_events = load_data("Data/CommonEvents.rxdata")
  45.     $data_system = load_data("Data/System.rxdata")
  46.     # 生成系统对像
  47.     $game_system = Game_System.new
  48.     # 进入事件显示LOGO,如果您不想在调试时总是显示LOGO就加上下一行中注释部分
  49.     if $show_logo  #and !$DEBUG
  50.       # 设置标记变量保证下次回到标题画面不会再显示片头
  51.       $show_logo = false
  52.       # 重置测量游戏时间用的画面计数器
  53.       Graphics.frame_count = 0
  54.       # 生成各种游戏对像
  55.       $game_temp          = Game_Temp.new
  56.       $game_system        = Game_System.new
  57.       $game_switches      = Game_Switches.new
  58.       $game_variables     = Game_Variables.new
  59.       $game_self_switches = Game_SelfSwitches.new
  60.       $game_screen        = Game_Screen.new
  61.       $game_actors        = Game_Actors.new
  62.       $game_party         = Game_Party.new
  63.       $game_troop         = Game_Troop.new
  64.       $game_map           = Game_Map.new
  65.       $game_player        = Game_Player.new
  66.       # 设置初期同伴位置
  67.       $game_party.setup_starting_members
  68.       # 设置初期位置的地图
  69.       $game_map.setup($data_system.start_map_id)
  70.       # 主角向初期位置移动
  71.       $game_player.moveto($data_system.start_x, $data_system.start_y)
  72.       # 刷新主角
  73.       $game_player.refresh
  74.       # 执行地图设置的 BGM 与 BGS 的自动切换
  75.       $game_map.autoplay
  76.       # 刷新地图 (执行并行事件)
  77.       $game_map.update
  78.       # 与真正的新游戏唯一不同就是将变量1设置一个标记值(暂用8764)
  79.       $game_variables[1]=8764
  80.       # 主角暂时是不能显示出来的……
  81.       $game_player.transparent = true
  82.       # 切换地图画面
  83.       $scene = Scene_Map.new
  84.     # 否则是默认显示标题画面
  85.     else
  86.       # 生成标题图形
  87.     @sprite = [Sprite.new]
  88.     for i in 0..6
  89.       @sprite[i] = Sprite.new
  90.       @sprite[i].opacity = 0
  91.     end
  92.     @sprite[0].bitmap = RPG::Cache.title($data_system.title_name)
  93.     @sprite[0].opacity = 0
  94.     @ox = 0
  95.     @oy = 0
  96.     color1 = Color.new(255,255,255, 255)
  97.     color2 = Color.new(255, 255, 255, 128)
  98.     @sprites = []
  99.     for i in 1..40
  100.       sprite = Sprite.new
  101.       case WEATHER
  102.       when 1
  103.         sprite.bitmap = @rain_bitmap
  104.       when 2
  105.         sprite.bitmap = @storm_bitmap
  106.       when 3
  107.         sprite.bitmap = @snow_bitmap
  108.       when 4
  109.         sprite.bitmap = Bitmap.new(WEATHER_FILE)
  110.       end
  111.       sprite.z = 1000
  112.       sprite.x = -640
  113.       sprite.y = 60
  114.       sprite.visible = (i <= MAXNUMBER)
  115.       sprite.blend_type = BLEND_TYPE
  116.       sprite.opacity = START_OPACITY
  117.       @sprites.push(sprite)
  118.    end
  119.   weather_update
  120.    
  121.   #开始游戏的图片
  122.     @sprite[1].bitmap = Bitmap.new("Graphics/titles/start-1")
  123.     @sprite[2].bitmap = Bitmap.new("Graphics/titles/start-2")
  124.     #继续游戏的图片
  125. @sprite[3].bitmap = Bitmap.new("Graphics/titles/continue-1")
  126.     @sprite[4].bitmap = Bitmap.new("Graphics/titles/continue-2")
  127.     #结束游戏的图片
  128. @sprite[5].bitmap = Bitmap.new("Graphics/titles/exit-1")
  129.     @sprite[6].bitmap = Bitmap.new("Graphics/titles/exit-1")
  130.     for i in 1..6
  131.       x=465
  132.       y=(i+1)/2*35+313
  133.       @sprite[i].x =x
  134.       @sprite[i].y =y
  135.     end
  136.     for i in 1..6
  137.       case i
  138.          when 1
  139.            x=220
  140.            y=197
  141.            @sprite[i].x =x
  142.            @sprite[i].y =y
  143.          when 2
  144.             x=220
  145.             y=197
  146.             @sprite[i].x =x
  147.             @sprite[i].y =y
  148.       
  149.          when 3
  150.             x=312
  151.             y=237
  152.             @sprite[i].x =x
  153.             @sprite[i].y =y
  154.             
  155.          when 4
  156.             x=312
  157.             y=237
  158.             @sprite[i].x =x
  159.             @sprite[i].y =y   
  160.          when 5
  161.             x=135
  162.             y=306
  163.             @sprite[i].x =x
  164.             @sprite[i].y =y   
  165.               
  166.          when 6
  167.             x=135
  168.             y=306
  169.             @sprite[i].x =x
  170.             @sprite[i].y =y   
  171.        end     
  172.      end
  173.      
  174.     @continue_enabled = false
  175.     for i in 0..3
  176.       if FileTest.exist?("Save/Save#{i+1}.rxdata")
  177.         @continue_enabled = true
  178.       end
  179.     end
  180.     if @continue_enabled
  181.       @command_index = 1
  182.     else
  183.       @command_index = 0
  184.       #@sprite[3].tone = Tone.new(0, 0, 0, 255)
  185.       #@sprite[4].tone = Tone.new(0, 0, 0, 255)
  186.     end
  187.    
  188.    
  189.     #$game_system.bgm_play($data_system.title_bgm)
  190.     #Audio.me_stop
  191.     #Audio.bgs_stop
  192.     Graphics.transition
  193.     loop do
  194.       Graphics.update
  195.       #淡出背景圖形
  196.       if @sprite[0].opacity <= 255
  197.         @sprite[0].opacity += 15
  198.       end
  199.       Input.update
  200.       update
  201.       if $scene != self
  202.         break
  203.       end
  204.     end
  205.     Graphics.freeze
  206.     # 釋放圖形
  207.     for i in 0..6
  208.       @sprite[i].bitmap.dispose
  209.       @sprite[i].dispose
  210.     end
  211.       for sprite in @sprites
  212.       sprite.dispose
  213.     end
  214.   end
  215.   #--------------------------------------------------------------------------
  216.   # ● 刷新天气
  217.   #--------------------------------------------------------------------------
  218.     def weather_update
  219.     return if WEATHER == 0
  220.     for i in 1..MAXNUMBER
  221.       sprite = @sprites[i]
  222.       if sprite == nil
  223.         break
  224.       end
  225.       if WEATHER == 4
  226.         sprite.x -= WEATHER_X
  227.         #sprite.opacity -= WEATHER_OPACITY
  228.       end
  229.       x = sprite.x - @ox
  230.       #y = sprite.y - @oy
  231.       if sprite.x < -144
  232.          sprite.opacity == 0
  233.       end
  234.       if sprite.x < -100 or x > 750#  or y < -1000 or y > 500
  235.         sprite.x = rand(RAND_X) + WIDTH + @ox
  236.         sprite.y = rand(RAND_Y) + HEIGHT + @oy
  237.         sprite.opacity = START_OPACITY
  238.       end
  239.     end
  240.   end
  241. #--------------------------------------------------------------------------

  242.   def update
  243.   chaochaocommandchaochao
  244.   if Input.trigger?(Input::C)
  245.     case @command_index
  246.       when 0
  247.         command_new_game
  248.       when 1
  249.         command_continue
  250.       when 2
  251.         command_shutdown
  252.       end
  253.     end
  254.     weather_update
  255.   end
  256.   def chaochaocommandchaochao
  257.     if Input.trigger?(Input::UP)
  258.       @command_index -= 1
  259.       if @command_index < 0
  260.         @command_index = 2
  261.       end
  262.       $game_system.se_play($data_system.cursor_se)
  263.     end
  264.     if Input.trigger?(Input::DOWN)
  265.       @command_index += 1
  266.       if @command_index > 2
  267.         @command_index = 0
  268.       end
  269.       $game_system.se_play($data_system.cursor_se)
  270.     end
  271.     case @command_index
  272.     when 0
  273.       if @sprite[1].opacity >= 0
  274.         @sprite[1].opacity -= 30
  275.       end
  276.       if @sprite[2].opacity <= 240
  277.         @sprite[2].opacity += 30
  278.       end
  279.       if @sprite[3].opacity <= 210
  280.         @sprite[3].opacity += 30
  281.       end
  282.       if @sprite[4].opacity >= 0
  283.         @sprite[4].opacity -= 30
  284.       end
  285.       if @sprite[5].opacity <= 210
  286.         @sprite[5].opacity += 30
  287.       end
  288.       if @sprite[6].opacity >= 0
  289.         @sprite[6].opacity -= 30
  290.       end
  291.     when 1
  292.       if @sprite[1].opacity <= 210
  293.         @sprite[1].opacity += 30
  294.       end
  295.       if @sprite[2].opacity >= 0
  296.         @sprite[2].opacity -= 30
  297.       end
  298.       if @sprite[3].opacity >= 0
  299.         @sprite[3].opacity -= 30
  300.       end
  301.       if @sprite[4].opacity <= 240
  302.         @sprite[4].opacity += 30
  303.       end
  304.       if @sprite[5].opacity <= 210
  305.         @sprite[5].opacity += 30
  306.       end
  307.       if @sprite[6].opacity >= 0
  308.         @sprite[6].opacity -= 30
  309.       end
  310.     when 2
  311.       if @sprite[1].opacity <= 210
  312.         @sprite[1].opacity += 30
  313.       end
  314.       if @sprite[2].opacity >= 0
  315.         @sprite[2].opacity -= 30
  316.       end
  317.       if @sprite[3].opacity <= 210
  318.         @sprite[3].opacity += 30
  319.       end
  320.       if @sprite[4].opacity >= 0
  321.         @sprite[4].opacity -= 30
  322.       end
  323.       if @sprite[5].opacity >= 0
  324.         @sprite[5].opacity -= 30
  325.       end
  326.       if @sprite[6].opacity <= 240
  327.         @sprite[6].opacity += 30
  328.       end
  329.     end
  330.   end
  331. end

  332.   #--------------------------------------------------------------------------
  333.   # ● 刷新画面
  334.   #--------------------------------------------------------------------------
  335.   def update
  336.     # 刷新命令窗口
  337.     @command_window.update
  338.     # 按下 C 键的情况下
  339.     if Input.trigger?(Input::C)
  340.       # 命令窗口的光标位置的分支
  341.       case @command_window.index
  342.       when 0  # 新游戏
  343.         command_new_game
  344.       when 1  # 继续
  345.         command_continue
  346.       when 2  # 退出
  347.         command_shutdown
  348.       end
  349.     end
  350.   end
  351.   #--------------------------------------------------------------------------
  352.   # ● 命令 : 新游戏
  353.   #--------------------------------------------------------------------------
  354.   def command_new_game
  355.     # 演奏确定 SE
  356.     $game_system.se_play($data_system.decision_se)
  357.     # 停止 BGM
  358.     Audio.bgm_stop
  359.     # 重置测量游戏时间用的画面计数器
  360.     Graphics.frame_count = 0
  361.     # 生成各种游戏对像
  362.     $game_temp          = Game_Temp.new
  363.     $game_system        = Game_System.new
  364.     $game_switches      = Game_Switches.new
  365.     $game_variables     = Game_Variables.new
  366.     $game_self_switches = Game_SelfSwitches.new
  367.     $game_screen        = Game_Screen.new
  368.     $game_actors        = Game_Actors.new
  369.     $game_party         = Game_Party.new
  370.     $game_troop         = Game_Troop.new
  371.     $game_map           = Game_Map.new
  372.     $game_player        = Game_Player.new
  373.     # 设置初期同伴位置
  374.     $game_party.setup_starting_members
  375.     # 设置初期位置的地图
  376.     $game_map.setup($data_system.start_map_id)
  377.     # 主角向初期位置移动
  378.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  379.     # 刷新主角
  380.     $game_player.refresh
  381.     # 执行地图设置的 BGM 与 BGS 的自动切换
  382.     $game_map.autoplay
  383.     # 刷新地图 (执行并行事件)
  384.     $game_map.update
  385.     # 主角暂时是不能显示出来的……
  386.     $game_player.transparent = true
  387.     # 切换地图画面
  388.     $scene = Scene_Map.new
  389.   end
  390.   #--------------------------------------------------------------------------
  391.   # ● 命令 : 继续
  392.   #--------------------------------------------------------------------------
  393.   def command_continue
  394.     # 继续无效的情况下
  395.     unless @continue_enabled
  396.       # 演奏无效 SE
  397.       $game_system.se_play($data_system.buzzer_se)
  398.       return
  399.     end
  400.     # 演奏确定 SE
  401.     $game_system.se_play($data_system.decision_se)
  402.     # 切换到读档画面
  403.     $scene = Scene_Load.new
  404.   end
  405.   #--------------------------------------------------------------------------
  406.   # ● 命令 : 新游戏
  407.   #--------------------------------------------------------------------------
  408.   def command_goto_title_map               # 生成各种游戏对像并转到Title地图
  409.     $game_temp          = Game_Temp.new
  410.     $game_system        = Game_System.new
  411.     $game_switches      = Game_Switches.new
  412.     $game_variables     = Game_Variables.new
  413.     $game_self_switches = Game_SelfSwitches.new
  414.     $game_screen        = Game_Screen.new
  415.     $game_actors        = Game_Actors.new
  416.     $game_party         = Game_Party.new
  417.     $game_troop         = Game_Troop.new
  418.     $game_map           = Game_Map.new
  419.     $game_player        = Game_Player.new
  420.     $game_party.setup_starting_members    # 设置初期同伴位置
  421.     $game_map.setup(004)                  # 设置Title的地图
  422.     $game_player.moveto(0,0)              # 主角向初期位置移动
  423.     $game_player.refresh                  # 刷新主角
  424.     $game_map.update                      # 刷新地图 (执行并行事件)
  425.     $title_selecting = true
  426.     $scene = Scene_Map.new                # 切换地图画面
  427.   end
  428.   #--------------------------------------------------------------------------
  429.   # ● 命令 : 退出
  430.   #--------------------------------------------------------------------------
  431.   def command_shutdown
  432.     # 演奏确定 SE
  433.     $game_system.se_play($data_system.decision_se)
  434.     # BGM、BGS、ME 的淡入淡出
  435.     Audio.bgm_fade(800)
  436.     Audio.bgs_fade(800)
  437.     Audio.me_fade(800)
  438.     # 退出
  439.     $scene = nil
  440.   end
  441.   #--------------------------------------------------------------------------
  442.   # ● 战斗测试
  443.   #--------------------------------------------------------------------------
  444.   def battle_test
  445.     # 载入数据库 (战斗测试用)
  446.     $data_actors        = load_data("Data/BT_Actors.rxdata")
  447.     $data_classes       = load_data("Data/BT_Classes.rxdata")
  448.     $data_skills        = load_data("Data/BT_Skills.rxdata")
  449.     $data_items         = load_data("Data/BT_Items.rxdata")
  450.     $data_weapons       = load_data("Data/BT_Weapons.rxdata")
  451.     $data_armors        = load_data("Data/BT_Armors.rxdata")
  452.     $data_enemies       = load_data("Data/BT_Enemies.rxdata")
  453.     $data_troops        = load_data("Data/BT_Troops.rxdata")
  454.     $data_states        = load_data("Data/BT_States.rxdata")
  455.     $data_animations    = load_data("Data/BT_Animations.rxdata")
  456.     $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
  457.     $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
  458.     $data_system        = load_data("Data/BT_System.rxdata")
  459.     # 重置测量游戏时间用的画面计数器
  460.     Graphics.frame_count = 0
  461.     # 生成各种游戏对像
  462.     $game_temp          = Game_Temp.new
  463.     $game_system        = Game_System.new
  464.     $game_switches      = Game_Switches.new
  465.     $game_variables     = Game_Variables.new
  466.     $game_self_switches = Game_SelfSwitches.new
  467.     $game_screen        = Game_Screen.new
  468.     $game_actors        = Game_Actors.new
  469.     $game_party         = Game_Party.new
  470.     $game_troop         = Game_Troop.new
  471.     $game_map           = Game_Map.new
  472.     $game_player        = Game_Player.new
  473.     # 设置战斗测试用同伴
  474.     $game_party.setup_battle_test_members
  475.     # 设置队伍 ID、可以逃走标志、战斗背景
  476.     $game_temp.battle_troop_id = $data_system.test_troop_id
  477.     $game_temp.battle_can_escape = true
  478.     $game_map.battleback_name = $data_system.battleback_name
  479.     # 演奏战斗开始 BGM
  480.     $game_system.se_play($data_system.battle_start_se)
  481.     # 演奏战斗 BGM
  482.     $game_system.bgm_play($game_system.battle_bgm)
  483.     # 切换到战斗画面
  484.     $scene = Scene_Battle.new
  485.   end
  486. end
复制代码

請問一下為什麼會這樣子...........     weather_update  出問題嗎   
在#开始游戏的图片 的上面這段
    @sprite[1].bitmap = Bitmap.new("Graphics/titles/start-1")
    @sprite[2].bitmap = Bitmap.new("Graphics/titles/start-2")
    #继续游戏的图片
@sprite[3].bitmap = Bitmap.new("Graphics/titles/continue-1")
    @sprite[4].bitmap = Bitmap.new("Graphics/titles/continue-2")
    #结束游戏的图片
@sprite[5].bitmap = Bitmap.new("Graphics/titles/exit-1")
    @sprite[6].bitmap = Bitmap.new("Graphics/titles/exit-1")



結果變成這樣~.~    看來我應該是跟這個腳本無緣份了  誰叫我不會改腳本.......
還是謝謝解答的人

Project2.rar

401.12 KB, 下载次数: 2

评分

参与人数 1星屑 -80 收起 理由
各种压力的猫君 -80 版务手册第一章第一节第6条 扣分规则19条.

查看全部评分

Lv1.梦旅人

梦石
0
星屑
50
在线时间
64 小时
注册时间
2011-4-1
帖子
39
2
 楼主| 发表于 2011-10-8 09:35:50 | 只看该作者
雖然不能用......但還是感謝幫忙


T29529208于2011-10-8 09:50补充以下内容:
因為我是繁體的你可能還要自己調編碼  我盡量把能調的都設成英文
麻煩了

点评

又修改了一下,可以再試試 ↑  发表于 2011-10-8 09:56
方便的話請上傳工程,怕泄露可以把素材替換掉  发表于 2011-10-8 09:42
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
64 小时
注册时间
2011-4-1
帖子
39
3
 楼主| 发表于 2011-10-8 10:08:56 | 只看该作者
Shy07 发表于 2011-10-8 10:04
這樣?
腳本在2樓

但是沒有出現天氣那一塊....想要有暗黑的那種流星雨  

点评

感謝幫忙囉....原來是註解的問題 現在我可以研究天氣移動的方向了  发表于 2011-10-8 11:45
更新在2樓  发表于 2011-10-8 10:16
#$game_system.bgm_play($data_system.title_bgm),把#刪掉  发表于 2011-10-8 10:15
WEATHER = 4 # 使用自定义效果(0:无,1:雨,2:暴风雨,3:雪,4:自定义),這么改  发表于 2011-10-8 10:14
另外連聲音也沒出來= =  发表于 2011-10-8 10:10
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 10:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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