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

Project1

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

[已经过期] 菜单脚本

[复制链接]

Lv2.观梦者

梦石
0
星屑
380
在线时间
602 小时
注册时间
2014-5-8
帖子
699
跳转到指定楼层
1
发表于 2014-6-2 20:06:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

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

x
本帖最后由 布罗利 于 2014-6-2 20:07 编辑

谁帮我改个菜单的脚本,试了好几遍都是错的,脚本如下:
RUBY 代码复制
  1. #==============================================================================
  2. # ■ Scene_菜单系统
  3. #------------------------------------------------------------------------------
  4. #  处理菜单画面的类。
  5. #==============================================================================
  6.  
  7. class Scene_menu
  8.   #--------------------------------------------------------------------------
  9.   # ● 初始化对像
  10.   #     menu_index : 命令光标的初期位置
  11.   #--------------------------------------------------------------------------
  12.   def initialize(menu_index = 0)
  13.     @menu_index = menu_index
  14.   end
  15.   #--------------------------------------------------------------------------
  16.   # ● 主处理
  17.   #--------------------------------------------------------------------------
  18.   def main
  19.     # 生成活动块
  20.     @spriteset = Spriteset_Map.new
  21.     # 生成命令窗口
  22.     s1 = "对话"
  23.     @command_window = Window_窗口命令.new(200, [s1],2)
  24.     @command_window.index = 0
  25.     # 执行过渡
  26.     Graphics.transition
  27.     # 主循环
  28.     loop do
  29.       # 刷新游戏画面
  30.       Graphics.update
  31.       # 刷新输入信息
  32.       Input.update
  33.       # 刷新画面
  34.       update
  35.       # 如果切换画面就中断循环
  36.       if $scene != self
  37.         if map_load_move_can? == false
  38.           $game_switches[19] = true
  39.         else
  40.           $game_switches[19] = false
  41.         end
  42.         break
  43.       end
  44.     end
  45.     # 准备过渡
  46.     Graphics.freeze
  47.     # 释放窗口
  48.     @command_window.dispose
  49.   #--------------------------------------------------------------------------
  50.   # ● 刷新画面
  51.   #--------------------------------------------------------------------------
  52.   def update
  53.     # 刷新窗口
  54.     @command_window.update   
  55.     # 命令窗口被激活的情况下: 调用 update_command
  56.     if @command_window.active
  57.       update_command
  58.       return
  59.     end
  60.   #--------------------------------------------------------------------------
  61.   # ● 刷新画面 (命令窗口被激活的情况下)
  62.   #--------------------------------------------------------------------------
  63.   def update_command
  64.     # 按下 B 键的情况下
  65.     if Input.trigger?(Input::B)
  66.       # 演奏取消 SE
  67.       $game_system.se_play($data_system.cancel_se)
  68.       # 切换的地图画面
  69.       $scene = Scene_Map.new
  70.       return
  71.     end
  72.     # 按下 C 键的情况下
  73.     if Input.trigger?(Input::C)
  74.       when 0  # 对话
  75.         $game_system.se_play($data_system.decision_se)
  76.         check_event_trigger_here([0])
  77.         check_event_trigger_there([0,1,2])
  78.         $scene = Scene_Map.new
  79.       end
  80.       return
  81.     end
  82.   end
  83.   #--------------------------------------------------------------------------
  84.   # ● 同位置的事件启动判定
  85.   #--------------------------------------------------------------------------
  86.   def check_event_trigger_here(triggers)
  87.     result = false
  88.     # 事件执行中的情况下
  89.     if $game_system.map_interpreter.running?
  90.       return result
  91.     end
  92.     # 全部事件的循环
  93.     for event in $game_map.events.values
  94.       # 事件坐标与目标一致的情况下
  95.       if event.x == @x and event.y == @y and triggers.include?(event.trigger)
  96.         # 跳跃中以外的情况下、启动判定是同位置的事件
  97.         if not event.jumping? and event.over_trigger?
  98.           event.start
  99.           result = true
  100.         end
  101.       end
  102.     end
  103.     return result
  104.   end
  105.   #--------------------------------------------------------------------------
  106.   # ● 正面事件的启动判定
  107.   #--------------------------------------------------------------------------
  108.   def check_event_trigger_there(triggers)
  109.     result = false
  110.     # 事件执行中的情况下
  111.     if $game_system.map_interpreter.running?
  112.       return result
  113.     end
  114.     # 计算正面坐标
  115.     new_x = @x + (@direction == 6 ? 1 : @direction == 4 ? -1 : 0)
  116.     new_y = @y + (@direction == 2 ? 1 : @direction == 8 ? -1 : 0)
  117.     # 全部事件的循环
  118.     for event in $game_map.events.values
  119.       # 事件坐标与目标一致的情况下
  120.       if event.x == new_x and event.y == new_y and
  121.          triggers.include?(event.trigger)
  122.         # 跳跃中以外的情况下、启动判定是正面的事件
  123.         if not event.jumping? and not event.over_trigger?
  124.           event.start
  125.           result = true
  126.         end
  127.       end
  128.     end
  129.     # 找不到符合条件的事件的情况下
  130.     if result == false
  131.       # 正面的元件是计数器的情况下
  132.       if $game_map.counter?(new_x, new_y)
  133.         # 计算 1 元件里侧的坐标
  134.         new_x += (@direction == 6 ? 1 : @direction == 4 ? -1 : 0)
  135.         new_y += (@direction == 2 ? 1 : @direction == 8 ? -1 : 0)
  136.         # 全事件的循环
  137.         for event in $game_map.events.values
  138.           # 事件坐标与目标一致的情况下
  139.           if event.x == new_x and event.y == new_y and
  140.              triggers.include?(event.trigger)
  141.             # 跳跃中以外的情况下、启动判定是正面的事件
  142.             if not event.jumping? and not event.over_trigger?
  143.               event.start
  144.               result = true
  145.             end
  146.           end
  147.         end
  148.       end
  149.     end
  150.     return result
  151.   end

Lv3.寻梦者

○赛

梦石
0
星屑
1249
在线时间
1276 小时
注册时间
2013-1-22
帖子
2246

贵宾

2
发表于 2014-6-2 20:38:19 | 只看该作者
有了when怎么没有case!
还有,我认出你了!

点评

什么认出我了?  发表于 2014-6-3 08:34
回复 支持 反对

使用道具 举报

Lv2.观梦者

无节操

梦石
0
星屑
607
在线时间
795 小时
注册时间
2009-2-6
帖子
3939

开拓者贵宾

3
发表于 2014-6-2 20:38:31 | 只看该作者
  1. # 命令窗口的光标位置分支
  2.       case @command_window.index
复制代码
你多删了一句话,插在74行when 0上面就好了吧

点评

到底应该怎么改啊?  发表于 2014-6-3 08:33
moy
万万没想到233,我就看了报错行就没往下翻了  发表于 2014-6-3 01:10
楼主删了这句话之后又把class对应的end删了……  发表于 2014-6-2 23:21
Brandnew day, Brandnew Life
                              实在  中
暂为素材区版主,版其  琢磨
应援一下~
RPG制作大师授权素材推广计划
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2749
在线时间
2630 小时
注册时间
2013-1-16
帖子
5657

贵宾

4
发表于 2014-6-3 14:26:05 | 只看该作者
在74行之前加上楼上的那句话之后再到最后一行加一个end试试看
(Created by @喵kano)


施工现场:hotege.github.io
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-25 00:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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