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

Project1

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

求人整合脚本

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-9-12
帖子
953
跳转到指定楼层
1
发表于 2008-10-5 04:32:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
头像被屏蔽

Lv1.梦旅人 (禁止发言)

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

使用道具 举报

Lv1.梦旅人

B

梦石
0
星屑
50
在线时间
26 小时
注册时间
2007-8-26
帖子
3693
3
发表于 2008-10-5 04:45:15 | 只看该作者
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================

  4. #==============================================================================
  5. # ■ Scene_Title
  6. #------------------------------------------------------------------------------
  7. #  タイトル画面の処理を行うクラスです。
  8. #==============================================================================

  9. class Scene_Title < Scene_Base
  10.   WEATHER = 4     # 使用自定义效果(0:无,1:雨,2:暴风雨,3:雪,4:自定义)
  11.   MAXNUMBER = 18  # 天气图片数量
  12.   
  13.   WEATHER_FILE = "Graphics/Pictures/Title_starlong.png"
  14.   # 自定义图片路径,这个文件是流星雨
  15.   
  16.   BLEND_TYPE = 1 # 合成方式(0:普通,1:加法,2:减法)
  17.   WEATHER_X = 5 # X方向每回合减少象素
  18.   WEATHER_Y = 5 # Y方向每回合减少象素
  19.   WEATHER_OPACITY = 2 #每回合减低透明度
  20.   START_OPACITY = 200 #出现时的透明度
  21.   RAND_X = 1200 # 随机X范围
  22.   RAND_Y = 600 # 随机Y范围
  23.   HEIGHT = -600 # 出现时候的屏幕Y
  24.   WIDTH = 100 # 出现时候的屏幕X
  25.   #--------------------------------------------------------------------------
  26.   # ● メイン処理
  27.   #--------------------------------------------------------------------------
  28.   def main
  29.     if $BTEST                         # 戦闘テストの場合
  30.       battle_test                     # 戦闘テストの開始処理
  31.     else                              # 通常のプレイの場合
  32.       super                           # 本来のメイン処理
  33.     end
  34.   end
  35.   #--------------------------------------------------------------------------
  36.   # ● 開始処理
  37.   #--------------------------------------------------------------------------
  38.   def start
  39.     super
  40.     load_database                     # データベースをロード
  41.     create_game_objects               # ゲームオブジェクトを作成
  42.     check_continue                    # コンティニュー有効判定
  43.     create_title_graphic   # タイトルグラフィックを作成
  44.     @ox = 0
  45.     @oy = 0
  46.     color1 = Color.new(255, 255, 255, 255)
  47.     color2 = Color.new(255, 255, 255, 128)
  48.     @rain_bitmap = Bitmap.new(7, 56)
  49.     for i in 0..6
  50.       @rain_bitmap.fill_rect(6-i, i*8, 1, 8, color1)
  51.     end
  52.     @storm_bitmap = Bitmap.new(34, 64)
  53.     for i in 0..31
  54.       @storm_bitmap.fill_rect(33-i, i*2, 1, 2, color2)
  55.       @storm_bitmap.fill_rect(32-i, i*2, 1, 2, color1)
  56.       @storm_bitmap.fill_rect(31-i, i*2, 1, 2, color2)
  57.     end
  58.     @snow_bitmap = Bitmap.new(6, 6)
  59.     @snow_bitmap.fill_rect(0, 1, 6, 4, color2)
  60.     @snow_bitmap.fill_rect(1, 0, 4, 6, color2)
  61.     @snow_bitmap.fill_rect(1, 2, 4, 2, color1)
  62.     @snow_bitmap.fill_rect(2, 1, 2, 4, color1)
  63.     @sprites = []
  64.     for i in 1..40
  65.       sprite = Sprite.new
  66.       case WEATHER
  67.       when 1
  68.         sprite.bitmap = @rain_bitmap
  69.       when 2
  70.         sprite.bitmap = @storm_bitmap
  71.       when 3
  72.         sprite.bitmap = @snow_bitmap
  73.       when 4
  74.         sprite.bitmap = Bitmap.new(WEATHER_FILE)
  75.       end
  76.       sprite.z = 1000
  77.       sprite.x = -1000
  78.       sprite.y = -1000
  79.       sprite.visible = (i <= MAXNUMBER)
  80.       sprite.blend_type = BLEND_TYPE
  81.       sprite.opacity = START_OPACITY
  82.       @sprites.push(sprite)
  83.     end
  84.     weather_update
  85.     create_command_window             # コマンドウィンドウを作成
  86.     play_title_music                  # タイトル画面の音楽を演奏
  87.   end
  88.   #--------------------------------------------------------------------------
  89.   # ● トランジション実行
  90.   #--------------------------------------------------------------------------
  91.   def perform_transition
  92.     Graphics.transition(20)
  93.   end
  94.   #--------------------------------------------------------------------------
  95.   # ● 開始後処理
  96.   #--------------------------------------------------------------------------
  97.   def post_start
  98.     super
  99.     open_command_window
  100.   end
  101.   #--------------------------------------------------------------------------
  102.   # ● 終了前処理
  103.   #--------------------------------------------------------------------------
  104.   def pre_terminate
  105.     super
  106.     close_command_window
  107.   end
  108.   #--------------------------------------------------------------------------
  109.   # ● 終了処理
  110.   #--------------------------------------------------------------------------
  111.   def terminate
  112.     super
  113.     dispose_command_window
  114.     snapshot_for_background
  115.     @sprite.bitmap.dispose
  116.     @sprite.dispose
  117.     for sprite in @sprites
  118.       sprite.dispose
  119.     end
  120.     @rain_bitmap.dispose
  121.     @storm_bitmap.dispose
  122.     @snow_bitmap.dispose
  123.     dispose_title_graphic
  124.   end
  125.   
  126.   def weather_update
  127.     return if WEATHER == 0
  128.     for i in 1..MAXNUMBER
  129.       sprite = @sprites[i]
  130.       if sprite == nil
  131.         break
  132.       end
  133.       if WEATHER == 1
  134.         sprite.x -= 2
  135.         sprite.y += 16
  136.         sprite.opacity -= 8
  137.       end
  138.       if WEATHER == 2
  139.         sprite.x -= 8
  140.         sprite.y += 16
  141.         sprite.opacity -= 12
  142.       end
  143.       if WEATHER == 3
  144.         sprite.x -= 2
  145.         sprite.y += 8
  146.         sprite.opacity -= 8
  147.       end
  148.       if WEATHER == 4
  149.         sprite.x -= WEATHER_X
  150.         sprite.y += WEATHER_Y
  151.         sprite.opacity -= WEATHER_OPACITY
  152.       end
  153.       x = sprite.x - @ox
  154.       y = sprite.y - @oy
  155.       if sprite.opacity < 32 or x < -100 or x > 750 or y < -1000 or y > 500
  156.         sprite.x = rand(RAND_X) + WIDTH + @ox
  157.         sprite.y = rand(RAND_Y) + HEIGHT + @oy
  158.         sprite.opacity = START_OPACITY
  159.       end
  160.     end
  161.   end
  162.   #--------------------------------------------------------------------------
  163.   # ● フレーム更新
  164.   #--------------------------------------------------------------------------
  165.   def update
  166.     super
  167.     @command_window.update
  168.     if Input.trigger?(Input::C)
  169.       case @command_window.index
  170.       when 0    #New game
  171.         command_new_game
  172.       when 1    # Continue
  173.         command_continue
  174.       when 2    # Boss Rush
  175.         command_new_game
  176.        $game_switches[1] = true
  177.       when 3    # 小游戏
  178.         command_new_game
  179.        $game_switches[2] = true
  180.       when 4    # Shutdown
  181.         command_shutdown
  182.       end
  183.     end

  184.     weather_update
  185.   end
  186.   #--------------------------------------------------------------------------
  187.   # ● データベースのロード
  188.   #--------------------------------------------------------------------------
  189.   def load_database
  190.     $data_actors        = load_data("Data/Actors.rvdata")
  191.     $data_classes       = load_data("Data/Classes.rvdata")
  192.     $data_skills        = load_data("Data/Skills.rvdata")
  193.     $data_items         = load_data("Data/Items.rvdata")
  194.     $data_weapons       = load_data("Data/Weapons.rvdata")
  195.     $data_armors        = load_data("Data/Armors.rvdata")
  196.     $data_enemies       = load_data("Data/Enemies.rvdata")
  197.     $data_troops        = load_data("Data/Troops.rvdata")
  198.     $data_states        = load_data("Data/States.rvdata")
  199.     $data_animations    = load_data("Data/Animations.rvdata")
  200.     $data_common_events = load_data("Data/CommonEvents.rvdata")
  201.     $data_system        = load_data("Data/System.rvdata")
  202.     $data_areas         = load_data("Data/Areas.rvdata")
  203.   end
  204.   #--------------------------------------------------------------------------
  205.   # ● 戦闘テスト用データベースのロード
  206.   #--------------------------------------------------------------------------
  207.   def load_bt_database
  208.     $data_actors        = load_data("Data/BT_Actors.rvdata")
  209.     $data_classes       = load_data("Data/BT_Classes.rvdata")
  210.     $data_skills        = load_data("Data/BT_Skills.rvdata")
  211.     $data_items         = load_data("Data/BT_Items.rvdata")
  212.     $data_weapons       = load_data("Data/BT_Weapons.rvdata")
  213.     $data_armors        = load_data("Data/BT_Armors.rvdata")
  214.     $data_enemies       = load_data("Data/BT_Enemies.rvdata")
  215.     $data_troops        = load_data("Data/BT_Troops.rvdata")
  216.     $data_states        = load_data("Data/BT_States.rvdata")
  217.     $data_animations    = load_data("Data/BT_Animations.rvdata")
  218.     $data_common_events = load_data("Data/BT_CommonEvents.rvdata")
  219.     $data_system        = load_data("Data/BT_System.rvdata")
  220.   end
  221.   #--------------------------------------------------------------------------
  222.   # ● 各種ゲームオブジェクトの作成
  223.   #--------------------------------------------------------------------------
  224.   def create_game_objects
  225.     $game_temp          = Game_Temp.new
  226.     $game_message       = Game_Message.new
  227.     $game_system        = Game_System.new
  228.     $game_switches      = Game_Switches.new
  229.     $game_variables     = Game_Variables.new
  230.     $game_self_switches = Game_SelfSwitches.new
  231.     $game_actors        = Game_Actors.new
  232.     $game_party         = Game_Party.new
  233.     $game_troop         = Game_Troop.new
  234.     $game_map           = Game_Map.new
  235.     $game_player        = Game_Player.new
  236.   end
  237.   #--------------------------------------------------------------------------
  238.   # ● コンティニュー有効判定
  239.   #--------------------------------------------------------------------------
  240.   def check_continue
  241.     @continue_enabled = (Dir.glob('Save*.rvdata').size > 0)
  242.   end
  243.   #--------------------------------------------------------------------------
  244.   # ● タイトルグラフィックの作成
  245.   #--------------------------------------------------------------------------
  246.   def create_title_graphic
  247.     @sprite = Sprite.new
  248.     @sprite.bitmap = Cache.system("Title")
  249.   end
  250.   #--------------------------------------------------------------------------
  251.   # ● タイトルグラフィックの解放
  252.   #--------------------------------------------------------------------------
  253.   def dispose_title_graphic
  254.     @sprite.bitmap.dispose
  255.     @sprite.dispose
  256.   end
  257.   #--------------------------------------------------------------------------
  258.   # ● コマンドウィンドウの作成
  259.   #--------------------------------------------------------------------------
  260.   def create_command_window
  261.     s1 = Vocab::new_game
  262.     s2 = Vocab::continue
  263.     s3 = "Boss Rush"
  264.     s4 = "小游戏"
  265.     s5 = Vocab::shutdown
  266.     @command_window = Window_Command.new(172, [s1, s2, s3, s4, s5])
  267.     @command_window.x = (544 - @command_window.width) / 2
  268.     @command_window.y = 416 - @command_window.height - 20

  269.     if @continue_enabled                    # 如果「继续」有效
  270.       @command_window.index = 1             # 将光标移至「继续游戏」
  271.     else                                    # 否则则将「继续游戏」半透明化
  272.       @command_window.draw_item(1, false)
  273.     end
  274.     @command_window.openness = 0
  275.     @command_window.open
  276.   end
  277.   #--------------------------------------------------------------------------
  278.   # ● コマンドウィンドウの解放
  279.   #--------------------------------------------------------------------------
  280.   def dispose_command_window
  281.     @command_window.dispose
  282.   end
  283.   #--------------------------------------------------------------------------
  284.   # ● コマンドウィンドウを開く
  285.   #--------------------------------------------------------------------------
  286.   def open_command_window
  287.     @command_window.open
  288.     begin
  289.       @command_window.update
  290.       Graphics.update
  291.     end until @command_window.openness == 255
  292.   end
  293.   #--------------------------------------------------------------------------
  294.   # ● コマンドウィンドウを閉じる
  295.   #--------------------------------------------------------------------------
  296.   def close_command_window
  297.     @command_window.close
  298.     begin
  299.       @command_window.update
  300.       Graphics.update
  301.     end until @command_window.openness == 0
  302.   end
  303.   #--------------------------------------------------------------------------
  304.   # ● タイトル画面の音楽演奏
  305.   #--------------------------------------------------------------------------
  306.   def play_title_music
  307.     $data_system.title_bgm.play
  308.     RPG::BGS.stop
  309.     RPG::ME.stop
  310.   end
  311.   #--------------------------------------------------------------------------
  312.   # ● プレイヤーの初期位置存在チェック
  313.   #--------------------------------------------------------------------------
  314.   def confirm_player_location
  315.     if $data_system.start_map_id == 0
  316.       print "プレイヤーの初期位置が設定されていません。"
  317.       exit
  318.     end
  319.   end
  320.   #--------------------------------------------------------------------------
  321.   # ● コマンド : ニューゲーム
  322.   #--------------------------------------------------------------------------
  323.   def command_new_game
  324.     confirm_player_location
  325.     Sound.play_decision
  326.     $game_party.setup_starting_members            # 初期パーティ
  327.     $game_map.setup($data_system.start_map_id)    # 初期位置のマップ
  328.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  329.     $game_player.refresh
  330.     $scene = Scene_Map.new
  331.     RPG::BGM.fade(1500)
  332.     close_command_window
  333.     Graphics.fadeout(60)
  334.     Graphics.wait(40)
  335.     Graphics.frame_count = 0
  336.     RPG::BGM.stop
  337.     $game_map.autoplay
  338.   end
  339.   #--------------------------------------------------------------------------
  340.   # ● コマンド : コンティニュー
  341.   #--------------------------------------------------------------------------
  342.   def command_continue
  343.     if @continue_enabled
  344.       Sound.play_decision
  345.       $scene = Scene_File.new(false, true, false)
  346.     else
  347.       Sound.play_buzzer
  348.     end
  349.   end
  350.   #--------------------------------------------------------------------------
  351.   # ● コマンド : シャットダウン
  352.   #--------------------------------------------------------------------------
  353.   def command_shutdown
  354.     Sound.play_decision
  355.     RPG::BGM.fade(800)
  356.     RPG::BGS.fade(800)
  357.     RPG::ME.fade(800)
  358.     $scene = nil
  359.   end
  360.   #--------------------------------------------------------------------------
  361.   # ● 戦闘テスト
  362.   #--------------------------------------------------------------------------
  363.   def battle_test
  364.     load_bt_database                  # 戦闘テスト用データベースをロード
  365.     create_game_objects               # ゲームオブジェクトを作成
  366.     Graphics.frame_count = 0          # プレイ時間を初期化
  367.     $game_party.setup_battle_test_members
  368.     $game_troop.setup($data_system.test_troop_id)
  369.     $game_troop.can_escape = true
  370.     $game_system.battle_bgm.play
  371.     snapshot_for_background
  372.     $scene = Scene_Battle.new
  373.   end
  374. end


  375. #==============================================================================
  376. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  377. #==============================================================================
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

kissye的宠物<

梦石
0
星屑
61
在线时间
1563 小时
注册时间
2008-8-11
帖子
6174

贵宾

4
发表于 2009-6-12 08:00:00 | 只看该作者
还是解决不了的话Q我吧……
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-9-12
帖子
953
5
 楼主| 发表于 2008-10-5 18:16:39 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

kissye的宠物<

梦石
0
星屑
61
在线时间
1563 小时
注册时间
2008-8-11
帖子
6174

贵宾

6
发表于 2008-10-5 18:20:46 | 只看该作者
怎么你用的是我改的标题画面?

回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-9-12
帖子
953
7
 楼主| 发表于 2008-10-5 18:22:35 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

kissye的宠物<

梦石
0
星屑
61
在线时间
1563 小时
注册时间
2008-8-11
帖子
6174

贵宾

8
发表于 2008-10-5 18:30:01 | 只看该作者
看看吧


  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================

  4. #==============================================================================
  5. # ■ Scene_Title
  6. #------------------------------------------------------------------------------
  7. #  タイトル画面の処理を行うクラスです。
  8. #==============================================================================

  9. class Scene_Title < Scene_Base
  10.   WEATHER = 4     # 使用自定义效果(0:无,1:雨,2:暴风雨,3:雪,4:自定义)
  11.   MAXNUMBER = 18  # 天气图片数量
  12.   
  13.   WEATHER_FILE = "Graphics/Pictures/Title_starlong.png"
  14.   # 自定义图片路径,这个文件是流星雨
  15.   
  16.   BLEND_TYPE = 1 # 合成方式(0:普通,1:加法,2:减法)
  17.   WEATHER_X = 5 # X方向每回合减少象素
  18.   WEATHER_Y = 5 # Y方向每回合减少象素
  19.   WEATHER_OPACITY = 2 #每回合减低透明度
  20.   START_OPACITY = 200 #出现时的透明度
  21.   RAND_X = 1200 # 随机X范围
  22.   RAND_Y = 600 # 随机Y范围
  23.   HEIGHT = -600 # 出现时候的屏幕Y
  24.   WIDTH = 100 # 出现时候的屏幕X
  25.   #--------------------------------------------------------------------------
  26.   # ● メイン処理
  27.   #--------------------------------------------------------------------------
  28.   def main
  29.     if $BTEST                         # 戦闘テストの場合
  30.       battle_test                     # 戦闘テストの開始処理
  31.     else                              # 通常のプレイの場合
  32.       super                           # 本来のメイン処理
  33.     end
  34.   end
  35.   #--------------------------------------------------------------------------
  36.   # ● 開始処理
  37.   #--------------------------------------------------------------------------
  38.   def start
  39.     super
  40.     load_database                     # データベースをロード
  41.     create_game_objects               # ゲームオブジェクトを作成
  42.     check_continue                    # コンティニュー有効判定
  43.     create_title_graphic   # タイトルグラフィックを作成
  44.     @ox = 0
  45.     @oy = 0
  46.     color1 = Color.new(255, 255, 255, 255)
  47.     color2 = Color.new(255, 255, 255, 128)
  48.     @rain_bitmap = Bitmap.new(7, 56)
  49.     for i in 0..6
  50.       @rain_bitmap.fill_rect(6-i, i*8, 1, 8, color1)
  51.     end
  52.     @storm_bitmap = Bitmap.new(34, 64)
  53.     for i in 0..31
  54.       @storm_bitmap.fill_rect(33-i, i*2, 1, 2, color2)
  55.       @storm_bitmap.fill_rect(32-i, i*2, 1, 2, color1)
  56.       @storm_bitmap.fill_rect(31-i, i*2, 1, 2, color2)
  57.     end
  58.     @snow_bitmap = Bitmap.new(6, 6)
  59.     @snow_bitmap.fill_rect(0, 1, 6, 4, color2)
  60.     @snow_bitmap.fill_rect(1, 0, 4, 6, color2)
  61.     @snow_bitmap.fill_rect(1, 2, 4, 2, color1)
  62.     @snow_bitmap.fill_rect(2, 1, 2, 4, color1)
  63.     @sprites = []
  64.     for i in 1..40
  65.       sprite = Sprite.new
  66.       case WEATHER
  67.       when 1
  68.         sprite.bitmap = @rain_bitmap
  69.       when 2
  70.         sprite.bitmap = @storm_bitmap
  71.       when 3
  72.         sprite.bitmap = @snow_bitmap
  73.       when 4
  74.         sprite.bitmap = Bitmap.new(WEATHER_FILE)
  75.       end
  76.       sprite.z = 1000
  77.       sprite.x = -1000
  78.       sprite.y = -1000
  79.       sprite.visible = (i <= MAXNUMBER)
  80.       sprite.blend_type = BLEND_TYPE
  81.       sprite.opacity = START_OPACITY
  82.       @sprites.push(sprite)
  83.     end
  84.     weather_update
  85.     create_command_window             # コマンドウィンドウを作成
  86.     play_title_music                  # タイトル画面の音楽を演奏
  87.   end
  88.   #--------------------------------------------------------------------------
  89.   # ● トランジション実行
  90.   #--------------------------------------------------------------------------
  91.   def perform_transition
  92.     Graphics.transition(20)
  93.   end
  94.   #--------------------------------------------------------------------------
  95.   # ● 開始後処理
  96.   #--------------------------------------------------------------------------
  97.   def post_start
  98.     super
  99.     open_command_window
  100.   end
  101.   #--------------------------------------------------------------------------
  102.   # ● 終了前処理
  103.   #--------------------------------------------------------------------------
  104.   def pre_terminate
  105.     super
  106.     close_command_window
  107.   end
  108.   #--------------------------------------------------------------------------
  109.   # ● 終了処理
  110.   #--------------------------------------------------------------------------
  111.   def terminate
  112.     super
  113.     dispose_command_window
  114.     snapshot_for_background
  115.     @sprite.bitmap.dispose
  116.     @sprite.dispose
  117.     for sprite in @sprites
  118.       sprite.dispose
  119.     end
  120.     @rain_bitmap.dispose
  121.     @storm_bitmap.dispose
  122.     @snow_bitmap.dispose
  123.     dispose_title_graphic
  124.   end
  125.   
  126.   def weather_update
  127.     return if WEATHER == 0
  128.     for i in 1..MAXNUMBER
  129.       sprite = @sprites[i]
  130.       if sprite == nil
  131.         break
  132.       end
  133.       if WEATHER == 1
  134.         sprite.x -= 2
  135.         sprite.y += 16
  136.         sprite.opacity -= 8
  137.       end
  138.       if WEATHER == 2
  139.         sprite.x -= 8
  140.         sprite.y += 16
  141.         sprite.opacity -= 12
  142.       end
  143.       if WEATHER == 3
  144.         sprite.x -= 2
  145.         sprite.y += 8
  146.         sprite.opacity -= 8
  147.       end
  148.       if WEATHER == 4
  149.         sprite.x -= WEATHER_X
  150.         sprite.y += WEATHER_Y
  151.         sprite.opacity -= WEATHER_OPACITY
  152.       end
  153.       x = sprite.x - @ox
  154.       y = sprite.y - @oy
  155.       if sprite.opacity < 32 or x < -100 or x > 750 or y < -1000 or y > 500
  156.         sprite.x = rand(RAND_X) + WIDTH + @ox
  157.         sprite.y = rand(RAND_Y) + HEIGHT + @oy
  158.         sprite.opacity = START_OPACITY
  159.       end
  160.     end
  161.   end
  162. #--------------------------------------------------------------------------
  163.   # ● 更新画面
  164.   #--------------------------------------------------------------------------
  165.   def update
  166.     super
  167.     @command_window.update
  168.     if Input.trigger?(Input::C)
  169.       case @command_window.index
  170.       when 0    #New game
  171.         command_new_game
  172.       when 1    # Continue
  173.         command_continue
  174.       when 2    # Boss Rush
  175.         command_new_game
  176.        $game_switches[1] = true
  177.       when 3    # 小游戏
  178.         command_new_game
  179.        $game_switches[2] = true
  180.       when 4    # Shutdown
  181.         command_shutdown
  182.       end
  183.     end
  184.     weather_update
  185.   end
  186.   #--------------------------------------------------------------------------
  187.   # ● データベースのロード
  188.   #--------------------------------------------------------------------------
  189.   def load_database
  190.     $data_actors        = load_data("Data/Actors.rvdata")
  191.     $data_classes       = load_data("Data/Classes.rvdata")
  192.     $data_skills        = load_data("Data/Skills.rvdata")
  193.     $data_items         = load_data("Data/Items.rvdata")
  194.     $data_weapons       = load_data("Data/Weapons.rvdata")
  195.     $data_armors        = load_data("Data/Armors.rvdata")
  196.     $data_enemies       = load_data("Data/Enemies.rvdata")
  197.     $data_troops        = load_data("Data/Troops.rvdata")
  198.     $data_states        = load_data("Data/States.rvdata")
  199.     $data_animations    = load_data("Data/Animations.rvdata")
  200.     $data_common_events = load_data("Data/CommonEvents.rvdata")
  201.     $data_system        = load_data("Data/System.rvdata")
  202.     $data_areas         = load_data("Data/Areas.rvdata")
  203.   end
  204.   #--------------------------------------------------------------------------
  205.   # ● 戦闘テスト用データベースのロード
  206.   #--------------------------------------------------------------------------
  207.   def load_bt_database
  208.     $data_actors        = load_data("Data/BT_Actors.rvdata")
  209.     $data_classes       = load_data("Data/BT_Classes.rvdata")
  210.     $data_skills        = load_data("Data/BT_Skills.rvdata")
  211.     $data_items         = load_data("Data/BT_Items.rvdata")
  212.     $data_weapons       = load_data("Data/BT_Weapons.rvdata")
  213.     $data_armors        = load_data("Data/BT_Armors.rvdata")
  214.     $data_enemies       = load_data("Data/BT_Enemies.rvdata")
  215.     $data_troops        = load_data("Data/BT_Troops.rvdata")
  216.     $data_states        = load_data("Data/BT_States.rvdata")
  217.     $data_animations    = load_data("Data/BT_Animations.rvdata")
  218.     $data_common_events = load_data("Data/BT_CommonEvents.rvdata")
  219.     $data_system        = load_data("Data/BT_System.rvdata")
  220.   end
  221.   #--------------------------------------------------------------------------
  222.   # ● 各種ゲームオブジェクトの作成
  223.   #--------------------------------------------------------------------------
  224.   def create_game_objects
  225.     $game_temp          = Game_Temp.new
  226.     $game_message       = Game_Message.new
  227.     $game_system        = Game_System.new
  228.     $game_switches      = Game_Switches.new
  229.     $game_variables     = Game_Variables.new
  230.     $game_self_switches = Game_SelfSwitches.new
  231.     $game_actors        = Game_Actors.new
  232.     $game_party         = Game_Party.new
  233.     $game_troop         = Game_Troop.new
  234.     $game_map           = Game_Map.new
  235.     $game_player        = Game_Player.new
  236.   end
  237.   #--------------------------------------------------------------------------
  238.   # ● コンティニュー有効判定
  239.   #--------------------------------------------------------------------------
  240.   def check_continue
  241.     @continue_enabled = (Dir.glob('Save*.rvdata').size > 0)
  242.   end
  243.   #--------------------------------------------------------------------------
  244.   # ● タイトルグラフィックの作成
  245.   #--------------------------------------------------------------------------
  246.   def create_title_graphic
  247.     @sprite = Sprite.new
  248.     @sprite.bitmap = Cache.system("Title")
  249.   end
  250.   #--------------------------------------------------------------------------
  251.   # ● タイトルグラフィックの解放
  252.   #--------------------------------------------------------------------------
  253.   def dispose_title_graphic
  254.     @sprite.bitmap.dispose
  255.     @sprite.dispose
  256.   end
  257.   #--------------------------------------------------------------------------
  258.   # ● 生成命令窗口
  259.   #--------------------------------------------------------------------------
  260.   def create_command_window
  261.     s1 = Vocab::new_game
  262.     s2 = Vocab::continue
  263.     s3 = "Boss Rush"
  264.     s4 = "小游戏"
  265.     s5 = Vocab::shutdown
  266.     @command_window = Window_Command.new(172, [s1, s2, s3, s4, s5])
  267.     @command_window.x = (544 - @command_window.width) / 2
  268.     @command_window.y = 416 - @command_window.height - 20

  269.     if @continue_enabled                    # 如果「继续」有效
  270.       @command_window.index = 1             # 将光标移至「继续游戏」
  271.     else                                    # 否则则将「继续游戏」半透明化
  272.       @command_window.draw_item(1, false)
  273.     end
  274.     @command_window.openness = 0
  275.     @command_window.open
  276.   end
  277.   #--------------------------------------------------------------------------
  278.   # ● コマンドウィンドウの解放
  279.   #--------------------------------------------------------------------------
  280.   def dispose_command_window
  281.     @command_window.dispose
  282.   end
  283.   #--------------------------------------------------------------------------
  284.   # ● コマンドウィンドウを開く
  285.   #--------------------------------------------------------------------------
  286.   def open_command_window
  287.     @command_window.open
  288.     begin
  289.       @command_window.update
  290.       Graphics.update
  291.     end until @command_window.openness == 255
  292.   end
  293.   #--------------------------------------------------------------------------
  294.   # ● コマンドウィンドウを閉じる
  295.   #--------------------------------------------------------------------------
  296.   def close_command_window
  297.     @command_window.close
  298.     begin
  299.       @command_window.update
  300.       Graphics.update
  301.     end until @command_window.openness == 0
  302.   end
  303.   #--------------------------------------------------------------------------
  304.   # ● タイトル画面の音楽演奏
  305.   #--------------------------------------------------------------------------
  306.   def play_title_music
  307.     $data_system.title_bgm.play
  308.     RPG::BGS.stop
  309.     RPG::ME.stop
  310.   end
  311.   #--------------------------------------------------------------------------
  312.   # ● プレイヤーの初期位置存在チェック
  313.   #--------------------------------------------------------------------------
  314.   def confirm_player_location
  315.     if $data_system.start_map_id == 0
  316.       print "主角初始位置未设定。"
  317.       exit
  318.     end
  319.   end
  320.   #--------------------------------------------------------------------------
  321.   # ● コマンド : ニューゲーム
  322.   #--------------------------------------------------------------------------
  323.   def command_new_game
  324.     confirm_player_location
  325.     Sound.play_decision
  326.     $game_party.setup_starting_members            # 初期パーティ
  327.     $game_map.setup($data_system.start_map_id)    # 初期位置のマップ
  328.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  329.     $game_player.refresh
  330.     $scene = Scene_Map.new
  331.     RPG::BGM.fade(1500)
  332.     close_command_window
  333.     Graphics.fadeout(60)
  334.     Graphics.wait(40)
  335.     Graphics.frame_count = 0
  336.     RPG::BGM.stop
  337.     $game_map.autoplay
  338.   end
  339.   #--------------------------------------------------------------------------
  340.   # ● コマンド : コンティニュー
  341.   #--------------------------------------------------------------------------
  342.   def command_continue
  343.     if @continue_enabled
  344.       Sound.play_decision
  345.       $scene = Scene_File.new(false, true, false)
  346.     else
  347.       Sound.play_buzzer
  348.     end
  349.   end
  350.   #--------------------------------------------------------------------------
  351.   # ● コマンド : シャットダウン
  352.   #--------------------------------------------------------------------------
  353.   def command_shutdown
  354.     Sound.play_decision
  355.     RPG::BGM.fade(800)
  356.     RPG::BGS.fade(800)
  357.     RPG::ME.fade(800)
  358.     $scene = nil
  359.   end
  360.   #--------------------------------------------------------------------------
  361.   # ● 戦闘テスト
  362.   #--------------------------------------------------------------------------
  363.   def battle_test
  364.     load_bt_database                  # 戦闘テスト用データベースをロード
  365.     create_game_objects               # ゲームオブジェクトを作成
  366.     Graphics.frame_count = 0          # プレイ時間を初期化
  367.     $game_party.setup_battle_test_members
  368.     $game_troop.setup($data_system.test_troop_id)
  369.     $game_troop.can_escape = true
  370.     $game_system.battle_bgm.play
  371.     snapshot_for_background
  372.     $scene = Scene_Battle.new
  373.   end
  374. end


  375. #==============================================================================
  376. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  377. #==============================================================================
复制代码

系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-27 04:53

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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