幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1766|回复: 6

关于自制菜单的问题

[复制链接]

8

主题

35

帖子

541

积分

⑤进阶

积分
541
发表于 2006-3-25 12:39:03 | 显示全部楼层 |阅读模式
我是一切都重新作的
把 Window_MenuStatus(选择人物的菜单框) 这条命令去掉后
不知道如何才能到这个界面
因为我都要自己重新做,所以我想从选择中触发
希望达人帮助 [s:6]
回复

使用道具 举报

113

主题

866

帖子

7004

积分

⑦老手

pliskin

积分
7004
发表于 2006-3-25 14:06:20 | 显示全部楼层
去掉了,新开个副本,找回来就好了。

实在不知道你到底是不是要重新写一个状态脚本
最近,迷上八云紫大婶了
回复 支持 反对

使用道具 举报

8

主题

35

帖子

541

积分

⑤进阶

积分
541
 楼主| 发表于 2006-3-25 14:31:29 | 显示全部楼层
楼上的有没有空帮忙看下我写的rgss。。
太菜鸟乐,现在遇到了严重的问题~
在东西多的地图上,自制菜单打开关闭再打开就直接跳出了游戏。。好郁闷。。
[s:6]
回复 支持 反对

使用道具 举报

113

主题

866

帖子

7004

积分

⑦老手

pliskin

积分
7004
发表于 2006-3-25 14:49:39 | 显示全部楼层
把你的脚本写上来,让大家看看。
最近,迷上八云紫大婶了
回复 支持 反对

使用道具 举报

8

主题

35

帖子

541

积分

⑤进阶

积分
541
 楼主| 发表于 2006-3-25 15:09:50 | 显示全部楼层
菜鸟写的很垃圾的脚本。。。
高手帮忙找错阿

#==============================================================================
# ■ Scene_Menu
#------------------------------------------------------------------------------
#  处理菜单画面的类。
#==============================================================================

class Scene_Menu
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #     menu_index : 命令光标的初期位置
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # ● 主处理
  #--------------------------------------------------------------------------
  def main
   
    @Spriteset = Spriteset_Map.new
   
    @MENU = [Sprite.new]
   
    @MENU[1] = Sprite.new
    @MENU[1].bitmap = RPG::Cache.title("YGG_4.png")
    @MENU[1].ox = 0
    @MENU[1].oy = 0
    @MENU[1].x = 0
    @MENU[1].y = 0
    @MENU[1].opacity = 200
    @MENU[1].visible = true
   
    @MENU[2] = Sprite.new
    @MENU[2].bitmap = RPG::Cache.title("YGG_5.PNG")
    @MENU[2].ox = 0
    @MENU[2].oy = 0
    @MENU[2].x = 205
    @MENU[2].y = 0
    @MENU[2].opacity = 200
    @MENU[2].visible = true
   
    @MENU[3] = Sprite.new
    @MENU[3].bitmap = RPG::Cache.title("Menu_1A.png")
    @MENU[3].ox = 0
    @MENU[3].oy = 0
    @MENU[3].x = 15
    @MENU[3].y = 190
    @MENU[3].opacity = 240
    @MENU[3].visible = true
   
    @MENU[4] = Sprite.new
    @MENU[4].bitmap = RPG::Cache.title("Menu_2A.png")
    @MENU[4].ox = 0
    @MENU[4].oy = 0
    @MENU[4].x = 27
    @MENU[4].y = 225
    @MENU[4].opacity = 240
    @MENU[4].visible = false
   
    @MENU[5] = Sprite.new
    @MENU[5].bitmap = RPG::Cache.title("Menu_3A.png")
    @MENU[5].ox = 0
    @MENU[5].oy = 0
    @MENU[5].x = 22
    @MENU[5].y = 260
    @MENU[5].opacity = 240
    @MENU[5].visible = false
   
    @MENU[6] = Sprite.new
    @MENU[6].bitmap = RPG::Cache.title("Menu_4A.png")
    @MENU[6].ox = 0
    @MENU[6].oy = 0
    @MENU[6].x = 22
    @MENU[6].y = 295
    @MENU[6].opacity = 240
    @MENU[6].visible = false
  
    @MENU[7] = Sprite.new
    @MENU[7].bitmap = RPG::Cache.title("Menu_5A.png")
    @MENU[7].ox = 0
    @MENU[7].oy = 0
    @MENU[7].x = 28
    @MENU[7].y = 330
    @MENU[7].opacity = 240
    @MENU[7].visible = false
   
    @MENU[8] = Sprite.new
    @MENU[8].bitmap = RPG::Cache.title("Menu_6A.png")
    @MENU[8].ox = 0
    @MENU[8].oy = 0
    @MENU[8].x = 30
    @MENU[8].y = 365
    @MENU[8].opacity = 240
    @MENU[8].visible = false
   
    @MENU[9] = Sprite.new
    @MENU[9].bitmap = RPG::Cache.title("Menu_7A.png")
    @MENU[9].ox = 0
    @MENU[9].oy = 0
    @MENU[9].x = 0
    @MENU[9].y = 400
    @MENU[9].opacity = 240
    @MENU[9].visible = false
   
    @MENU[10] = Sprite.new
    @MENU[10].bitmap = RPG::Cache.title("Menu_1B.png")
    @MENU[10].ox = 0
    @MENU[10].oy = 0
    @MENU[10].x = 15
    @MENU[10].y = 190
    @MENU[10].opacity = 240
    @MENU[10].visible = false
   
    @MENU[11] = Sprite.new
    @MENU[11].bitmap = RPG::Cache.title("Menu_2B.png")
    @MENU[11].ox = 0
    @MENU[11].oy = 0
    @MENU[11].x = 27
    @MENU[11].y = 225
    @MENU[11].opacity = 240
    @MENU[11].visible = true
   
    @MENU[12] = Sprite.new
    @MENU[12].bitmap = RPG::Cache.title("Menu_3B.png")
    @MENU[12].ox = 0
    @MENU[12].oy = 0
    @MENU[12].x = 22
    @MENU[12].y = 260
    @MENU[12].opacity = 240
    @MENU[12].visible = true
   
    @MENU[13] = Sprite.new
    @MENU[13].bitmap = RPG::Cache.title("Menu_4B.png")
    @MENU[13].ox = 0
    @MENU[13].oy = 0
    @MENU[13].x = 22
    @MENU[13].y = 295
    @MENU[13].opacity = 240
    @MENU[13].visible = true
   
    @MENU[14] = Sprite.new
    @MENU[14].bitmap = RPG::Cache.title("Menu_5B.png")
    @MENU[14].ox = 0
    @MENU[14].oy = 0
    @MENU[14].x = 28
    @MENU[14].y = 330
    @MENU[14].opacity = 240
    @MENU[14].visible = true
   
    @MENU[15] = Sprite.new
    @MENU[15].bitmap = RPG::Cache.title("Menu_6B.png")
    @MENU[15].ox = 0
    @MENU[15].oy = 0
    @MENU[15].x = 30
    @MENU[15].y = 365
    @MENU[15].opacity = 240
    @MENU[15].visible = true
   
    @MENU[16] = Sprite.new
    @MENU[16].bitmap = RPG::Cache.title("Menu_7B.png")
    @MENU[16].ox = 0
    @MENU[16].oy = 0
    @MENU[16].x = 0
    @MENU[16].y = 400
    @MENU[16].opacity = 240
    @MENU[16].visible = true
   
    @MENU[17] = Sprite.new
    @MENU[17].bitmap = RPG::Cache.title("BLACK.png")
    @MENU[17].ox = 0
    @MENU[17].oy = 0
    @MENU[17].x = 0
    @MENU[17].y = 0
    @MENU[17].opacity = 0
    @MENU[17].visible = true
   
    @MENU[18] = Sprite.new
    @MENU[18].bitmap = RPG::Cache.title("pass.jpg")
    @MENU[18].ox = 0
    @MENU[18].oy = 0
    @MENU[18].x = 0
    @MENU[18].y = 0
    @MENU[18].opacity = 0
    @MENU[18].visible = false
   
  
   
     
   
    Graphics.frame_rate = 50
    @PSELECT  = 1
    @FT = 0
   
    # 同伴人数为 0 的情况下
    if $game_party.actors.size == 0
      # 物品、特技、装备、状态无效化
      @command_window.disable_item(0)
      @command_window.disable_item(1)
      @command_window.disable_item(2)
      @command_window.disable_item(3)
    end
    # 禁止存档的情况下
    if $game_system.save_disabled
      # 存档无效
      @command_window.disable_item(4)
    end
   
   
    @playtime_window = Window_PlayTime.new
    @playtime_window.x = 40
    @playtime_window.y = 58
    @playtime_window.opacity = 0
    @playtime_window.back_opacity = 0
   
    @gold_window = Window_Gold.new
    @gold_window.x = 20
    @gold_window.y = 128
    @gold_window.opacity = 0
    @gold_window.back_opacity = 0
   
    # 执行过渡
    Graphics.transition
    # 主循环
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入信息
      Input.update
      # 刷新画面
      update
      # 如果切换画面就中断循环
      if $scene != self
        break
      end
    end
    # 准备过渡
    Graphics.freeze
    # 释放图片
   
    @MENU[1].dispose
    @MENU[1].bitmap.dispose
    @MENU[2].dispose
    @MENU[2].bitmap.dispose
    @MENU[3].dispose
    @MENU[3].bitmap.dispose
    @MENU[4].dispose
    @MENU[4].bitmap.dispose
    @MENU[5].dispose
    @MENU[5].bitmap.dispose
    @MENU[6].dispose
    @MENU[6].bitmap.dispose
    @MENU[7].dispose
    @MENU[7].bitmap.dispose
    @MENU[8].dispose
    @MENU[8].bitmap.dispose
    @MENU[9].dispose
    @MENU[9].bitmap.dispose
    @MENU[10].dispose
    @MENU[10].bitmap.dispose
    @MENU[11].dispose
    @MENU[11].bitmap.dispose
    @MENU[12].dispose
    @MENU[12].bitmap.dispose
    @MENU[13].dispose
    @MENU[13].bitmap.dispose
    @MENU[14].dispose
    @MENU[14].bitmap.dispose
    @MENU[15].dispose
    @MENU[15].bitmap.dispose
    @MENU[16].dispose
    @MENU[16].bitmap.dispose
   
    @playtime_window.dispose
    @gold_window.dispose
  end

#--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  def update
    # ウィンドウを更新
    @playtime_window.update
    @gold_window.update
  
    # コマンドウィンドウがアクティブの場合: update_command を呼ぶ
    if @FT = 0
      update_command
      return
    end
   end
   
   
   
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  def update_command
     
       if Input.trigger?(Input::B)
       # 演奏取消 SE
       $game_system.se_play($data_system.cancel_se)
       # 刷新输入信息
       $scene = Scene_Map.new
     return
    end
     
    if Input.trigger?(Input:OWN)
       Audio.se_play("Audio/SE/001-System01.ogg", 80, 100)
      if  @PSELECT < 7
      @PSELECT +=1
      elsif  @PSELECT == 7
      @PSELECT = 1
       end  
   
   
    elsif Input.trigger?(Input::UP)
       Audio.se_play("Audio/SE/001-System01.ogg", 80, 100)
   
      if   @PSELECT > 1
      @PSELECT -= 1
     elsif  @PSELECT == 1
      @PSELECT = 7
     end
   
  end
   
    case @PSELECT
    when 1
      @MENU[3].visible = true
      @MENU[4].visible = false
      @MENU[5].visible = false
      @MENU[6].visible = false
      @MENU[7].visible = false
      @MENU[8].visible = false
      @MENU[9].visible = false
      @MENU[10].visible = false
      @MENU[11].visible = true
      @MENU[12].visible = true
      @MENU[13].visible = true
      @MENU[14].visible = true
      @MENU[15].visible = true
      @MENU[16].visible = true
    when 2
      @MENU[3].visible = false
      @MENU[4].visible = true
      @MENU[5].visible = false
      @MENU[6].visible = false
      @MENU[7].visible = false
      @MENU[8].visible = false
      @MENU[9].visible = false
      @MENU[10].visible = true
      @MENU[11].visible = false
      @MENU[12].visible = true
      @MENU[13].visible = true
      @MENU[14].visible = true
      @MENU[15].visible = true
      @MENU[16].visible = true
    when 3
      @MENU[3].visible = false
      @MENU[4].visible = false
      @MENU[5].visible = true
      @MENU[6].visible = false
      @MENU[7].visible = false
      @MENU[8].visible = false
      @MENU[9].visible = false
      @MENU[10].visible = true
      @MENU[11].visible = true
      @MENU[12].visible = false
      @MENU[13].visible = true
      @MENU[14].visible = true
      @MENU[15].visible = true
      @MENU[16].visible = true
    when 4
      @MENU[3].visible = false
      @MENU[4].visible = false
      @MENU[5].visible = false
      @MENU[6].visible = true
      @MENU[7].visible = false
      @MENU[8].visible = false
      @MENU[9].visible = false
      @MENU[10].visible = true
      @MENU[11].visible = true
      @MENU[12].visible = true
      @MENU[13].visible = false
      @MENU[14].visible = true
      @MENU[15].visible = true
      @MENU[16].visible = true
    when 5
      @MENU[3].visible = false
      @MENU[4].visible = false
      @MENU[5].visible = false
      @MENU[6].visible = false
      @MENU[7].visible = true
      @MENU[8].visible = false
      @MENU[9].visible = false
      @MENU[10].visible = true
      @MENU[11].visible = true
      @MENU[12].visible = true
      @MENU[13].visible = true
      @MENU[14].visible = false
      @MENU[15].visible = true
      @MENU[16].visible = true
    when 6
      @MENU[3].visible = false
      @MENU[4].visible = false
      @MENU[5].visible = false
      @MENU[6].visible = false
      @MENU[7].visible = false
      @MENU[8].visible = true
      @MENU[9].visible = false
      @MENU[10].visible = true
      @MENU[11].visible = true
      @MENU[12].visible = true
      @MENU[13].visible = true
      @MENU[14].visible = true
      @MENU[15].visible = false
      @MENU[16].visible = true
    when 7
      @MENU[3].visible = false
      @MENU[4].visible = false
      @MENU[5].visible = false
      @MENU[6].visible = false
      @MENU[7].visible = false
      @MENU[8].visible = false
      @MENU[9].visible = true
      @MENU[10].visible = true
      @MENU[11].visible = true
      @MENU[12].visible = true
      @MENU[13].visible = true
      @MENU[14].visible = true
      @MENU[15].visible = true
      @MENU[16].visible = false
    end
   
   
    if Input.trigger?(Input::C)
      # 同伴人数为 0、存档、游戏结束以外的场合
      if $game_party.actors.size == 0 and @command_window.index < 4
        # 演奏冻结 SE
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # 命令窗口的光标位置分支
      
      case @PSELECT
      
      when 1 # 状态
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 激活状态窗口
        $scene = Scene_Status.new
      
      when 2 # 物品
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 切换到物品画面
        $scene = Scene_Item.new
      
      when 3 # 装备
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 激活状态窗口
        $scene = Scene_Equip.new
      
      when 4 # 卡片
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 切换到物品画面
        $scene = Scene_Item.new
      
      when 5  # 特技
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 激活状态窗口
        $scene = Scene_Skill.new
         
      when 6  # 存档
        # 禁止存档的情况下
        if $game_system.save_disabled
          # 演奏冻结 SE
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 切换到存档画面
        $scene = Scene_Save.new
      
      when 7 # 游戏结束
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        
      
       loop do
         Graphics.update
         
          @MENU[17].opacity += 10
          if @MENU[17].opacity == 60
             @playtime_window.visible = false
             @gold_window.visible = false
        elsif @MENU[17].opacity == 255
            @MENU[18].opacity += 10
          end
          if @MENU[18].opacity == 255
            
            Audio.bgm_fade(800)
            Audio.bgs_fade(800)
            Audio.me_fade(800)
            
            $scene = Scene_End.new
        break
        # 切换到游戏结束画面
        end
         return
        end
      end
    end  
  end
  end

肯定有问题,很多问题
但不知道出错在哪里。。。 [s:6]
回复 支持 反对

使用道具 举报

8

主题

35

帖子

541

积分

⑤进阶

积分
541
 楼主| 发表于 2006-3-25 15:16:04 | 显示全部楼层
图片是以上脚本的效果
但是取消后再按就跳出


@Spriteset = Spriteset_Map.new   
这句程序去掉后
就没有这个问题
但是去掉后背景是黑色的。。。
不是地图。。
[s:6]

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

17

主题

207

帖子

11万

积分

⑧专业

吐血ING~~

积分
113928
发表于 2006-5-9 00:18:53 | 显示全部楼层
@Spriteset = Spriteset_Map.new这段定义是你自己加上去的吗?如果是,就在取消的时候定义一个这个,或者是循环结束以后回到@Spriteset = Spriteset_Map.new这个部分
我的博客! http://blog.cnwing.net/blog.asp?name=pipilu19ll
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-27 10:19 , Processed in 0.012563 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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