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

Project1

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

[有事请教] 用了图片菜单,不管点什么都是开始游戏

[复制链接]

Lv2.观梦者

梦石
0
星屑
846
在线时间
87 小时
注册时间
2020-9-5
帖子
78
跳转到指定楼层
1
发表于 2020-9-12 16:25:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
8星屑
我用了图片菜单的脚本,但是无论点什么都是开始游戏,就是我点了退出游戏,他开始了一个新游戏 ┭┮﹏┭┮
RUBY 代码复制
  1. #==============================================================================
  2. # ■ Scene_Title
  3. #------------------------------------------------------------------------------
  4. #  タイトル画面の処理を行うクラスです。
  5. #==============================================================================
  6.  
  7. class Scene_Title < Scene_Base
  8.   #--------------------------------------------------------------------------
  9.   # ● メイン処理
  10.   #--------------------------------------------------------------------------
  11.   def main
  12.     if $BTEST                         # 戦闘テストの場合
  13.       battle_test                     # 戦闘テストの開始処理
  14.     else                              # 通常のプレイの場合
  15.       super                           # 本来のメイン処理
  16.     end
  17.   end
  18.   #--------------------------------------------------------------------------
  19.   # ● 開始処理
  20.   #--------------------------------------------------------------------------
  21.   def start
  22.     super
  23.     load_database                     # データベースをロード
  24.     create_game_objects               # ゲームオブジェクトを作成
  25.     check_continue                    # コンティニュー有効判定
  26.     create_title_graphic              # タイトルグラフィックを作成
  27.     #create_command_window             # コマンドウィンドウを作成
  28.     new_command
  29.     play_title_music                  # タイトル画面の音楽を演奏
  30.   end
  31.   #--------------------------------------------------------------------------
  32.   # ● トランジション実行
  33.   #--------------------------------------------------------------------------
  34.   def perform_transition
  35.     Graphics.transition(20)
  36.   end
  37.   #--------------------------------------------------------------------------
  38.   # ● 開始後処理
  39.   #--------------------------------------------------------------------------
  40.   def post_start
  41.     super
  42.     #open_command_window
  43.   end
  44.   #--------------------------------------------------------------------------
  45.   # ● 終了前処理
  46.   #--------------------------------------------------------------------------
  47.   def pre_terminate
  48.     super
  49.  
  50.     #close_command_window
  51.   end
  52.   #--------------------------------------------------------------------------
  53.   # ● 終了処理
  54.   #--------------------------------------------------------------------------
  55.   def terminate
  56.     super
  57.     #dispose_command_window
  58.     snapshot_for_background
  59.     dispose_title_graphic
  60.   end
  61.   #--------------------------------------------------------------------------
  62.   # ● フレーム更新
  63.   #--------------------------------------------------------------------------
  64.   def update
  65.     super
  66.     #@command_window.update
  67.     new_inputupdate
  68.     if Input.trigger?(Input::C)
  69.       case @command_index
  70.       when 0    # ニューゲーム
  71.         command_new_game
  72.       when 1    # コンティニュー
  73.         command_continue
  74.       when 2    # シャットダウン
  75.         command_shutdown
  76.       end
  77.     end
  78.   end
  79.   #--------------------------------------------------------------------------
  80.   # ● データベースのロード
  81.   #--------------------------------------------------------------------------
  82.   def load_database
  83.     $data_actors        = load_data("Data/Actors.rvdata")
  84.     $data_classes       = load_data("Data/Classes.rvdata")
  85.     $data_skills        = load_data("Data/Skills.rvdata")
  86.     $data_items         = load_data("Data/Items.rvdata")
  87.     $data_weapons       = load_data("Data/Weapons.rvdata")
  88.     $data_armors        = load_data("Data/Armors.rvdata")
  89.     $data_enemies       = load_data("Data/Enemies.rvdata")
  90.     $data_troops        = load_data("Data/Troops.rvdata")
  91.     $data_states        = load_data("Data/States.rvdata")
  92.     $data_animations    = load_data("Data/Animations.rvdata")
  93.     $data_common_events = load_data("Data/CommonEvents.rvdata")
  94.     $data_system        = load_data("Data/System.rvdata")
  95.     $data_areas         = load_data("Data/Areas.rvdata")
  96.   end
  97.   #--------------------------------------------------------------------------
  98.   # ● 戦闘テスト用データベースのロード
  99.   #--------------------------------------------------------------------------
  100.   def load_bt_database
  101.     $data_actors        = load_data("Data/BT_Actors.rvdata")
  102.     $data_classes       = load_data("Data/BT_Classes.rvdata")
  103.     $data_skills        = load_data("Data/BT_Skills.rvdata")
  104.     $data_items         = load_data("Data/BT_Items.rvdata")
  105.     $data_weapons       = load_data("Data/BT_Weapons.rvdata")
  106.     $data_armors        = load_data("Data/BT_Armors.rvdata")
  107.     $data_enemies       = load_data("Data/BT_Enemies.rvdata")
  108.     $data_troops        = load_data("Data/BT_Troops.rvdata")
  109.     $data_states        = load_data("Data/BT_States.rvdata")
  110.     $data_animations    = load_data("Data/BT_Animations.rvdata")
  111.     $data_common_events = load_data("Data/BT_CommonEvents.rvdata")
  112.     $data_system        = load_data("Data/BT_System.rvdata")
  113.   end
  114.   #--------------------------------------------------------------------------
  115.   # ● 各種ゲームオブジェクトの作成
  116.   #--------------------------------------------------------------------------
  117.   def create_game_objects
  118.     $game_temp          = Game_Temp.new
  119.     $game_message       = Game_Message.new
  120.     $game_system        = Game_System.new
  121.     $game_switches      = Game_Switches.new
  122.     $game_variables     = Game_Variables.new
  123.     $game_self_switches = Game_SelfSwitches.new
  124.     $game_actors        = Game_Actors.new
  125.     $game_party         = Game_Party.new
  126.     $game_troop         = Game_Troop.new
  127.     $game_map           = Game_Map.new
  128.     $game_player        = Game_Player.new
  129.   end
  130.   #--------------------------------------------------------------------------
  131.   # ● コンティニュー有効判定
  132.   #--------------------------------------------------------------------------
  133.   def check_continue
  134.     @continue_enabled = (Dir.glob('Save*.rvdata').size > 0)
  135.   end
  136.   #--------------------------------------------------------------------------
  137.   # ● タイトルグラフィックの作成
  138.   #--------------------------------------------------------------------------
  139.   def create_title_graphic
  140.     @sprite_1 = Sprite.new
  141.     @sprite_1.bitmap = Cache.system("Title")
  142.   end
  143.   #--------------------------------------------------------------------------
  144.   # ● タイトルグラフィックの解放
  145.   #--------------------------------------------------------------------------
  146.   def dispose_title_graphic
  147.     @sprite_1.bitmap.dispose
  148.     @sprite_1.dispose
  149.     for i in 0..5
  150.       @sprite[i].bitmap.dispose
  151.       @sprite[i].dispose
  152.     end  
  153.   end
  154.      #--------------------------------------------------------------------------
  155.   # ● タイトル画面の音楽演奏
  156.   #--------------------------------------------------------------------------
  157.   def play_title_music
  158.     $data_system.title_bgm.play
  159.     RPG::BGS.stop
  160.     RPG::ME.stop
  161.   end
  162.   #--------------------------------------------------------------------------
  163.   # ● プレイヤーの初期位置存在チェック
  164.   #--------------------------------------------------------------------------
  165.   def confirm_player_location
  166.     if $data_system.start_map_id == 0
  167.       print "プレイヤーの初期位置が設定されていません。"
  168.       exit
  169.     end
  170.   end
  171.   #--------------------------------------------------------------------------
  172.   # ● コマンド : ニューゲーム
  173.   #--------------------------------------------------------------------------
  174.   def command_new_game
  175.     confirm_player_location
  176.     Sound.play_decision
  177.     $game_party.setup_starting_members            # 初期パーティ
  178.     $game_map.setup($data_system.start_map_id)    # 初期位置のマップ
  179.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  180.     $game_player.refresh
  181.     $scene = Scene_Map.new
  182.     RPG::BGM.fade(1500)
  183.     #close_command_window
  184.     Graphics.fadeout(60)
  185.     Graphics.wait(40)
  186.     Graphics.frame_count = 0
  187.     RPG::BGM.stop
  188.     $game_map.autoplay
  189.   end
  190.   #--------------------------------------------------------------------------
  191.   # ● コマンド : コンティニュー
  192.   #--------------------------------------------------------------------------
  193.   def command_continue
  194.     if @continue_enabled
  195.       Sound.play_decision
  196.       $scene = Scene_File.new(false, true, false)
  197.     else
  198.       Sound.play_buzzer
  199.     end
  200.   end
  201.   #--------------------------------------------------------------------------
  202.   # ● コマンド : シャットダウン
  203.   #--------------------------------------------------------------------------
  204.   def command_shutdown
  205.     Sound.play_decision
  206.     RPG::BGM.fade(800)
  207.     RPG::BGS.fade(800)
  208.     RPG::ME.fade(800)
  209.     $scene = nil
  210.   end
  211.   #--------------------------------------------------------------------------
  212.   # ● 戦闘テスト
  213.   #--------------------------------------------------------------------------
  214.   def battle_test
  215.     load_bt_database                  # 戦闘テスト用データベースをロード
  216.     create_game_objects               # ゲームオブジェクトを作成
  217.     Graphics.frame_count = 0          # プレイ時間を初期化
  218.     $game_party.setup_battle_test_members
  219.     $game_troop.setup($data_system.test_troop_id)
  220.     $game_troop.can_escape = true
  221.     $game_system.battle_bgm.play
  222.     snapshot_for_background
  223.     $scene = Scene_Battle.new
  224.   end
  225.   #=========================================================================
  226.   #★定义新的标题选择菜单
  227.   #=========================================================================
  228.  
  229.   def new_command
  230.   @sprite = [Sprite.new]
  231.   for i in 0..5
  232.     @sprite[i]= Sprite.new
  233.     @sprite[i].opacity = 0
  234.     @sprite[i].x = 75
  235.     @sprite[i].y = 255+i/2*45-(i)%2*10
  236.     end
  237.     @sprite[0].bitmap = Bitmap.new("Graphics/Pictures/newgame_1")
  238.     @sprite[1].bitmap = Bitmap.new("Graphics/Pictures/newgame_2")
  239.     @sprite[2].bitmap = Bitmap.new("Graphics/Pictures/loadgame_1")
  240.     @sprite[3].bitmap = Bitmap.new("Graphics/Pictures/loadgame_2")
  241.     @sprite[4].bitmap = Bitmap.new("Graphics/Pictures/quitgame_1")
  242.     @sprite[5].bitmap = Bitmap.new("Graphics/Pictures/quitgame_2")
  243.     @command_index = 0
  244.      if @continue_enabled
  245.        @command_index=1
  246.      else
  247.        @sprite[2].tone = Tone.new(0,0,0,255)
  248.        @sprite[3].tone = Tone.new(0,0,0,255)
  249.      end  
  250.  
  251.   end
  252. #==========================================================================
  253. #★new_iputupdate
  254. #==========================================================================
  255.   def new_inputupdate
  256.     if Input.trigger?(Input::UP)
  257.  
  258.       @command_index -= 1
  259.       if @command_index < 0
  260.         @command_index = 2
  261.       end
  262.       $data_system.sounds[0].play
  263.     end
  264.     if Input.trigger?(Input::DOWN)
  265.       @command_index += 1
  266.       if @command_index > 2
  267.         @command_index = 0
  268.       end
  269.        $data_system.sounds[0].play
  270.     end
  271.     case @command_index
  272.     when 0
  273.       if @sprite[0].opacity >= 0
  274.         @sprite[0].opacity -= 30
  275.       end
  276.       if @sprite[1].opacity <= 240
  277.         @sprite[1].opacity += 30
  278.       end
  279.       if @sprite[2].opacity <= 210
  280.         @sprite[2].opacity += 30
  281.       end
  282.       if @sprite[3].opacity >= 0
  283.         @sprite[3].opacity -= 30
  284.       end
  285.       if @sprite[4].opacity <= 210
  286.         @sprite[4].opacity += 30
  287.       end
  288.       if @sprite[5].opacity >= 0
  289.         @sprite[5].opacity -= 30
  290.       end
  291.     when 1
  292.       if @sprite[0].opacity <= 210
  293.         @sprite[0].opacity += 30
  294.       end
  295.       if @sprite[1].opacity >= 0
  296.         @sprite[1].opacity -= 30
  297.       end
  298.       if @sprite[2].opacity >= 0
  299.         @sprite[2].opacity -= 30
  300.       end
  301.       if @sprite[3].opacity <= 240
  302.         @sprite[3].opacity += 30
  303.       end
  304.       if @sprite[4].opacity <= 210
  305.         @sprite[4].opacity += 30
  306.       end
  307.       if @sprite[5].opacity >= 0
  308.         @sprite[5].opacity -= 30
  309.       end
  310.     when 2
  311.       if @sprite[0].opacity <= 210
  312.         @sprite[0].opacity += 30
  313.       end
  314.       if @sprite[1].opacity >= 0
  315.         @sprite[1].opacity -= 30
  316.       end
  317.       if @sprite[2].opacity <= 210
  318.         @sprite[2].opacity += 30
  319.       end
  320.       if @sprite[3].opacity >= 0
  321.         @sprite[3].opacity -= 30
  322.       end
  323.       if @sprite[4].opacity >= 0
  324.         @sprite[4].opacity -= 30
  325.       end
  326.       if @sprite[5].opacity <= 240
  327.         @sprite[5].opacity += 30
  328.       end
  329.     end
  330.   end
  331.  
  332. end

Lv3.寻梦者

梦石
0
星屑
1354
在线时间
185 小时
注册时间
2012-8-26
帖子
110
2
发表于 2020-9-12 20:31:10 | 只看该作者
单看这段脚本我感觉没有问题,可能是和其他脚本发生了冲突?
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
846
在线时间
87 小时
注册时间
2020-9-5
帖子
78
3
 楼主| 发表于 2020-9-16 18:52:06 | 只看该作者
多啦A户 发表于 2020-9-12 20:31
单看这段脚本我感觉没有问题,可能是和其他脚本发生了冲突?

不知道呀!
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-24 07:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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