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

Project1

 找回密码
 注册会员
搜索
123
返回列表 发新帖
楼主: djj41010
打印 上一主题 下一主题

菜单栏(脚本问题)

 关闭 [复制链接]

Lv1.梦旅人

查无此人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2006-5-8
帖子
1399
21
发表于 2007-7-27 22:29:10 | 只看该作者
想显示文字, 用窗口方法. 不过自由度太低, 所以我这里用显示图片方法. 直接在pictures里放名字为2的图片(上面写好字)

用以下脚本替换Scene_Menu, Scene_Save搜索$scene = Scene_Menu.new(4), 把4换成1, Scene_End搜索 $scene = Scene_Menu.new(5), 把5换成2

这样应该比较全了.

  1. #==============================================================================
  2. # ■ Scene_Menu
  3. #------------------------------------------------------------------------------
  4. #  メニュー画面の処理を行うクラスです。
  5. #==============================================================================

  6. class Scene_Menu
  7.   #--------------------------------------------------------------------------
  8.   # ● オブジェクト初期化
  9.   #     menu_index : コマンドのカーソル初期位置
  10.   #--------------------------------------------------------------------------
  11.   def initialize(menu_index = 0)
  12.     @menu_index = menu_index
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # ● メイン処理
  16.   #--------------------------------------------------------------------------
  17.   def main
  18.     # コマンドウィンドウを作成
  19.     s1 = $data_system.words.item
  20.     s2 = "Save"
  21.     s3 = "Exit"
  22.     @command_window = Window_Command.new(160, [s1, s2, s3],true)
  23.     @command_window.index = @menu_index
  24.     # パーティ人数が 0 人の場合
  25.     if $game_party.actors.size == 0
  26.       # アイテム、スキル、装備、ステータスを無効化
  27.       @command_window.disable_item(0)
  28.     end
  29.     # セーブ禁止の場合
  30.     if $game_system.save_disabled
  31.       # セーブを無効にする
  32.       @command_window.disable_item(1)
  33.     end
  34.     # 图片
  35.     @dummy_window = Window_Base.new(0, 0, 640, 480)
  36.     @dummy_window.back_opacity = 0
  37.     @dummy_sprite = Sprite.new(Viewport.new(0, 0, 640, 480))
  38.     @dummy_sprite.bitmap = Bitmap.new("Graphics/Pictures/2")
  39.     # プレイ時間ウィンドウを作成
  40.     @playtime_window = Window_PlayTime.new
  41.     @playtime_window.x = 0
  42.     @playtime_window.y = 224
  43.     # 歩数ウィンドウを作成
  44.     @steps_window = Window_Steps.new
  45.     @steps_window.x = 0
  46.     @steps_window.y = 320
  47.     # ゴールドウィンドウを作成
  48.     @gold_window = Window_Gold.new
  49.     @gold_window.x = 0
  50.     @gold_window.y = 416
  51.     # ステータスウィンドウを作成
  52.     # トランジション実行
  53.     Graphics.transition
  54.     # メインループ
  55.     loop do
  56.       # ゲーム画面を更新
  57.       Graphics.update
  58.       # 入力情報を更新
  59.       Input.update
  60.       # フレーム更新
  61.       update
  62.       # 画面が切り替わったらループを中断
  63.       if $scene != self
  64.         break
  65.       end
  66.     end
  67.     # トランジション準備
  68.     Graphics.freeze
  69.     # ウィンドウを解放
  70.     @command_window.dispose
  71.     @playtime_window.dispose
  72.     @steps_window.dispose
  73.     @gold_window.dispose
  74.     @dummy_window.dispose
  75.     @dummy_sprite.dispose
  76.   end
  77.   #--------------------------------------------------------------------------
  78.   # ● フレーム更新
  79.   #--------------------------------------------------------------------------
  80.   def update
  81.     # ウィンドウを更新
  82.     @command_window.update
  83.     @playtime_window.update
  84.     @steps_window.update
  85.     @gold_window.update
  86.     # コマンドウィンドウがアクティブの場合: update_command を呼ぶ
  87.     if @command_window.active
  88.       update_command
  89.       return
  90.     end
  91.     # ステータスウィンドウがアクティブの場合: update_status を呼ぶ
  92.     if @status_window.active
  93.       update_status
  94.       return
  95.     end
  96.   end
  97.   #--------------------------------------------------------------------------
  98.   # ● フレーム更新 (コマンドウィンドウがアクティブの場合)
  99.   #--------------------------------------------------------------------------
  100.   def update_command
  101.     # B ボタンが押された場合
  102.     if Input.trigger?(Input::B)
  103.       # キャンセル SE を演奏
  104.       $game_system.se_play($data_system.cancel_se)
  105.       # マップ画面に切り替え
  106.       $scene = Scene_Map.new
  107.       return
  108.     end
  109.     # C ボタンが押された場合
  110.     if Input.trigger?(Input::C)
  111.       # パーティ人数が 0 人で、セーブ、ゲーム終了以外のコマンドの場合
  112.       if $game_party.actors.size == 0 and @command_window.index < 4
  113.         # ブザー SE を演奏
  114.         $game_system.se_play($data_system.buzzer_se)
  115.         return
  116.       end
  117.       # コマンドウィンドウのカーソル位置で分岐
  118.       case @command_window.index
  119.       when 0  # アイテム
  120.         # 決定  SE を演奏
  121.         $game_system.se_play($data_system.decision_se)
  122.         # アイテム画面に切り替え
  123.         $scene = Scene_Item.new
  124.       when 1  # セーブ
  125.         # セーブ禁止の場合
  126.         if $game_system.save_disabled
  127.           # ブザー SE を演奏
  128.           $game_system.se_play($data_system.buzzer_se)
  129.           return
  130.         end
  131.         # 決定 SE を演奏
  132.         $game_system.se_play($data_system.decision_se)
  133.         # セーブ画面に切り替え
  134.         $scene = Scene_Save.new
  135.       when 2  # ゲーム終了
  136.         # 決定 SE を演奏
  137.         $game_system.se_play($data_system.decision_se)
  138.         # ゲーム終了画面に切り替え
  139.         $scene = Scene_End.new
  140.       end
  141.       return
  142.     end
  143.   end
  144.   #--------------------------------------------------------------------------
  145.   # ● フレーム更新 (ステータスウィンドウがアクティブの場合)
  146.   #--------------------------------------------------------------------------

  147. end
复制代码
KRKR + NS 学习中..........
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-7-25
帖子
31
22
发表于 2007-7-27 22:33:56 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-2-7
帖子
95
23
发表于 2007-7-27 23:25:04 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-7-3 19:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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