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

Project1

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

[已经解决] 请问下这个脚本的BUG怎么解决~!

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
49 小时
注册时间
2007-3-31
帖子
122
跳转到指定楼层
1
发表于 2010-10-23 21:27:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 358552588 于 2010-10-24 10:04 编辑

这个应该是脚本的BUG选择人物的时候按着下和左或者右就会出现这样的BUG~!
第二副是正常的~!

Lv1.梦旅人

梦石
0
星屑
50
在线时间
49 小时
注册时间
2007-3-31
帖子
122
2
 楼主| 发表于 2010-10-23 22:07:26 | 只看该作者
我已经不去动脚本了~!但是游戏做着做着就会出问题~!本来想一心的画素材~!做着做着就又出问题了我的天啊~!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
336 小时
注册时间
2010-8-26
帖子
428
3
发表于 2010-10-23 22:12:14 | 只看该作者
回复 358552588 的帖子

你这种问题不发     错误附件    没人能回答得出啊得先发上来
   
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
49 小时
注册时间
2007-3-31
帖子
122
4
 楼主| 发表于 2010-10-23 22:18:26 | 只看该作者
回复

你这种问题不发     错误附件    没人能回答得出啊得先发上来
     ...
巧克力猫咪 发表于 2010-10-23 22:12

我把游戏范例发上来吗好~!
  1. #==============================================================================
  2. # VX菜单重新排版 by 仲秋启明
  3. #------------------------------------------------------------------------------
  4. #同伴窗口可以使用左右键
  5. #如插入菜单背景音,可在第247行插入
  6. #更改图标在第118行
  7. #金钱图标在第203行定义
  8. class Window_Base < Window
  9.   #--------------------------------------------------------------------------
  10.   # ● HP的描画
  11.   #     actor : 角色
  12.   #     x     : 描画目标 X 坐标
  13.   #     y     : 描画目标 Y 坐标
  14.   #     width : 宽
  15.   #--------------------------------------------------------------------------
  16.   def draw_actor_hp(actor, x, y, width = 90)
  17.     draw_actor_hp_gauge(actor, x, y, width)
  18.     self.contents.font.color = system_color
  19.     self.contents.draw_text(x, y, 30, WLH, Vocab::hp_a)
  20.     self.contents.font.color = hp_color(actor)
  21.     xr = x + width
  22.     if width < 120
  23.       self.contents.draw_text(xr - 40, y, 40, WLH, actor.hp, 2)
  24.     else
  25.       self.contents.draw_text(xr - 90, y, 40, WLH, actor.hp, 2)
  26.       self.contents.font.color = normal_color
  27.       self.contents.draw_text(xr - 50, y, 10, WLH, "/", 2)
  28.       self.contents.draw_text(xr - 40, y, 40, WLH, actor.maxhp, 2)
  29.     end
  30.   end
  31.   #--------------------------------------------------------------------------
  32.   # ● HP矩形的描画
  33.   #     actor : 角色
  34.   #     x     : 描画目标 X 坐标
  35.   #     y     : 描画目标 Y 坐标
  36.   #     width : 宽
  37.   #--------------------------------------------------------------------------
  38.   def draw_actor_hp_gauge(actor, x, y, width = 90)
  39.     gw = width * actor.hp / actor.maxhp
  40.     gc1 = hp_gauge_color1
  41.     gc2 = hp_gauge_color2
  42.     self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
  43.     self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
  44.   end
  45.   #--------------------------------------------------------------------------
  46.   # ● SP的描画
  47.   #     actor : 角色
  48.   #     x     : 描画目标 X 坐标
  49.   #     y     : 描画目标 Y 坐标
  50.   #     width : 宽
  51.   #--------------------------------------------------------------------------
  52.   def draw_actor_mp(actor, x, y, width = 90)
  53.     draw_actor_mp_gauge(actor, x, y, width)
  54.     self.contents.font.color = system_color
  55.     self.contents.draw_text(x, y, 30, WLH, Vocab::mp_a)
  56.     self.contents.font.color = mp_color(actor)
  57.     xr = x + width
  58.     if width < 120
  59.       self.contents.draw_text(xr - 40, y, 40, WLH, actor.mp, 2)
  60.     else
  61.       self.contents.draw_text(xr - 90, y, 40, WLH, actor.mp, 2)
  62.       self.contents.font.color = normal_color
  63.       self.contents.draw_text(xr - 50, y, 10, WLH, "/", 2)
  64.       self.contents.draw_text(xr - 40, y, 40, WLH, actor.maxmp, 2)
  65.     end
  66.   end
  67.   #--------------------------------------------------------------------------
  68.   # ● MP矩形的描画
  69.   #     actor : 角色
  70.   #     x     : 描画目标 X 坐标
  71.   #     y     : 描画目标 Y 坐标
  72.   #     width : 宽
  73.   #--------------------------------------------------------------------------
  74.   def draw_actor_mp_gauge(actor, x, y, width = 90)
  75.     gw = width * actor.mp / [actor.maxmp, 1].max
  76.     gc1 = mp_gauge_color1
  77.     gc2 = mp_gauge_color2
  78.     self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
  79.     self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
  80.   end
  81. end
  82. #==============================================================================
  83. # ■ Window_ActorCommand
  84. #------------------------------------------------------------------------------
  85. #  菜单画面显示角色指令的窗口。
  86. #==============================================================================

  87. class Window_MenuCommand < Window_Selectable
  88.   #--------------------------------------------------------------------------
  89.   # ● 定义实例变量
  90.   #--------------------------------------------------------------------------  
  91.   attr_reader   :commands                 # 命令  
  92.   WLH = 28
  93.   #--------------------------------------------------------------------------
  94.   # ● 初始化对象
  95.   #     width      : 窗口的宽
  96.   #     commands   : 命令字符串序列
  97.   #     column_max : 行数 (2 行以上时选择)
  98.   #     row_max    : 列数 (0:列数加起来)
  99.   #     spacing : 选项横向排列时间隔空白宽度
  100.   #--------------------------------------------------------------------------
  101.   def initialize(width = 128, commands = [], column_max = 1, row_max = 8, spacing = 32)
  102.     if row_max == 0
  103.       row_max = (commands.size + column_max - 1) / column_max
  104.     end
  105.     super(0, 0, width, row_max * 32 + 32, spacing)
  106.     @commands = commands
  107.     @item_max = commands.size
  108.     @column_max = column_max
  109.     @remember_index = -1
  110.     self.index = 0
  111.     self.y = (Graphics.height - self.height) / 2 - 8
  112.     update
  113.   end
  114.   #--------------------------------------------------------------------------
  115.   # ● 刷新
  116.   #--------------------------------------------------------------------------
  117.   def refresh
  118.     self.contents.clear
  119.       @icon_list = [144, 128, 52, 137, 158, 189]
  120.     for i in 0...@item_max
  121.       draw_item(i)
  122.     end
  123.   end
  124.   
  125.   #--------------------------------------------------------------------------
  126.   # ● 描绘项目
  127.   #     index : 项目编号
  128.   #     enabled : 有效标记录。是false 的时候半透明绘画
  129.   #--------------------------------------------------------------------------
  130.   def draw_item(index, enabled = true)
  131.     rect = item_rect(index)
  132.     rect.x += 4
  133.     rect.width -= 8
  134.     self.contents.clear_rect(rect)
  135.     draw_icon(@icon_list[index], rect.x, rect.y, true) if index == self.index
  136.     self.contents.font.color = normal_color   
  137.     if !enabled or self.index != index
  138.       self.contents.font.color.alpha =  64
  139.     else
  140.       self.contents.font.color.alpha =  255
  141.     end
  142.     rect.x += 26
  143.     self.contents.draw_text(rect, @commands[index])
  144.   end
  145.   #--------------------------------------------------------------------------
  146.   # ● 获取项目描画矩形
  147.   #     index : 项目编号
  148.   #--------------------------------------------------------------------------
  149.   def item_rect(index)
  150.     rect = Rect.new(0, 0, 0, 0)
  151.     rect.width = (contents.width + @spacing) / @column_max - @spacing
  152.     rect.height = WLH
  153.     rect.x = index % @column_max * (rect.width + @spacing)
  154.     rect.y = index / @column_max * WLH
  155.     return rect
  156.   end
  157.   #--------------------------------------------------------------------------
  158.   # ● 刷新类型
  159.   #--------------------------------------------------------------------------
  160.   def update
  161.     super
  162.     @remember_index = self.index if self.index == -1
  163.     if @remember_index != self.index
  164.       @remember_index = self.index
  165.       refresh
  166.     end
  167.   end
  168. end
  169. #==============================================================================
  170. # ■ Window_MenuStatus
  171. #------------------------------------------------------------------------------
  172. #  显示菜单画面和同伴状态的窗口。
  173. #==============================================================================

  174. class Window_MenuStatus < Window_Selectable
  175.   #--------------------------------------------------------------------------
  176.   # ● 初始化对象
  177.   #     x : 窗口的 X 坐标
  178.   #     y : 窗口的 Y 坐标
  179.   #--------------------------------------------------------------------------
  180.   def initialize(x, y)
  181.     super(x, y, 544, 416)
  182.     refresh
  183.     self.active = false
  184.     self.index = -1
  185.   end
  186.   #--------------------------------------------------------------------------
  187.   # ● 刷新
  188.   #--------------------------------------------------------------------------
  189.   def refresh
  190.     self.contents.clear
  191.     @item_max = $game_party.members.size
  192.     for actor in $game_party.members
  193.       draw_actor_face(actor,actor.index * 96 + 2,42, 92)
  194.       x = actor.index * 96 + WLH / 2
  195.       y = 144
  196.       draw_actor_name(actor, x, y)
  197.       draw_actor_class(actor, x , y+60)
  198.       draw_actor_level(actor, x, y + WLH * 1)
  199.       draw_actor_state(actor, x , y )
  200.       draw_actor_hp(actor, x -10, y +60+ WLH*1)
  201.       draw_actor_mp(actor, x -10, y +60+ WLH*2)
  202.     end
  203.     draw_icon(252 - 58, 384+5, 284-32)
  204.   end
  205.   #--------------------------------------------------------------------------
  206.   # ● 更新光标
  207.   #--------------------------------------------------------------------------
  208.   def update_cursor
  209.     if @index < 0               # 没有光标
  210.       self.cursor_rect.empty
  211.     elsif @index < @item_max    # 普通
  212.       self.cursor_rect.set(@index * 96,30, 96,264)
  213.     elsif @index >= 100         # 自己
  214.       self.cursor_rect.set((@index - 100) * 96,30,96,264)
  215.     else                        # 全体
  216.       self.cursor_rect.set(0, 3, @item_max * 96, 264)
  217.     end
  218.     if Input.trigger?(Input::LEFT)
  219.       @index-=1
  220.     else
  221.       if Input.trigger?(Input::RIGHT)
  222.       @index+=1
  223.     end
  224.     if @index>3
  225.       return @index=0
  226.     else
  227.      if @index<-1
  228.       return @index=3
  229.     end
  230.   end
  231. end
  232. end
  233. end
  234. #==============================================================================
  235. # ■ Scene_Menu
  236. #------------------------------------------------------------------------------
  237. #  处理菜单画面的类。
  238. #==============================================================================

  239. class Scene_Menu < Scene_Base
  240.   #--------------------------------------------------------------------------
  241.   # ● 初始化对象
  242.   #     menu_index : 指令光标初期位置
  243.   #--------------------------------------------------------------------------
  244.   def initialize(menu_index = 0)
  245.     @menu_index = menu_index
  246.   end
  247.   #--------------------------------------------------------------------------
  248.   # ● 开始处理
  249.   #--------------------------------------------------------------------------
  250.   def start
  251.     super
  252.     create_menu_background
  253.     create_command_window
  254.     @gold_window = Window_Gold.new(384, 284-32)
  255.     @status_window = Window_MenuStatus.new(0, 0)
  256.     @status_window.opacity = 0
  257.     @gold_window.opacity = 0
  258.     @command_window.opacity = 0
  259.   end
  260.   #--------------------------------------------------------------------------
  261.   # ● 结束处理
  262.   #--------------------------------------------------------------------------
  263.   def terminate
  264.     super
  265.     dispose_menu_background
  266.     @command_window.dispose
  267.     @gold_window.dispose
  268.     @status_window.dispose
  269.   end
  270.   #--------------------------------------------------------------------------
  271.   # ● 更新画面
  272.   #--------------------------------------------------------------------------
  273.   def update
  274.     super
  275.     update_menu_background
  276.     @command_window.update
  277.     @gold_window.update
  278.     @status_window.update
  279.     if @command_window.active
  280.       update_command_selection
  281.     elsif @status_window.active
  282.       update_actor_selection
  283.     end
  284.   end
  285.   #--------------------------------------------------------------------------
  286.   # ● 生成指令窗口
  287.   #--------------------------------------------------------------------------
  288.   def create_command_window
  289.     s1 = "查看物品"
  290.     s2 = "使用特技"
  291.     s3 = "更换装备"
  292.     s4 = "查看状态"
  293.     s5 = "存储档案"
  294.     s6 = "结束游戏"
  295.     @command_window = Window_MenuCommand.new(160, [s1, s2, s3, s4, s5, s6])
  296.     @command_window.index = @menu_index
  297.     @command_window.x = 384
  298.     @command_window.y = 40
  299.     if $game_party.members.size == 0          # 同伴人数为 0 的情况下
  300.       @command_window.draw_item(0, false)     # 物品无效化
  301.       @command_window.draw_item(1, false)     # 特技无效化
  302.       @command_window.draw_item(2, false)     # 装备无效化
  303.       @command_window.draw_item(3, false)     # 状态无效化
  304.     end
  305.     if $game_system.save_disabled             # 禁止存档的情况下
  306.       @command_window.draw_item(5, false)     # 存档无效化
  307.     end
  308.   end
  309.   #--------------------------------------------------------------------------
  310.   # ● 更新指令选择
  311.   #--------------------------------------------------------------------------
  312.   def update_command_selection
  313.     if Input.trigger?(Input::B)
  314.       Sound.play_cancel
  315.       $scene = Scene_Map.new
  316.     elsif Input.trigger?(Input::C)
  317.       if $game_party.members.size == 0 and @command_window.index < 4
  318.         Sound.play_buzzer
  319.         return
  320.       elsif $game_system.save_disabled and @command_window.index == 4
  321.         Sound.play_buzzer
  322.         return
  323.       end
  324.       Sound.play_decision
  325.       case @command_window.index
  326.       when 0      # 物品
  327.         $scene = Scene_Item.new
  328.       when 1,2,3  # 特技、装备、状态
  329.         start_actor_selection
  330.       when 4      # 存档
  331.         $scene = Scene_File.new(true, false, false)
  332.       when 5      # 游戏结束
  333.         $scene = Scene_End.new
  334.       end
  335.     end
  336.   end
  337.   #--------------------------------------------------------------------------
  338.   # ● アクター選択の開始
  339.   #--------------------------------------------------------------------------
  340.   def start_actor_selection
  341.     @command_window.active = false
  342.     @status_window.active = true
  343.     if $game_party.last_actor_index < @status_window.item_max
  344.       @status_window.index = $game_party.last_actor_index
  345.     else
  346.       @status_window.index = 0
  347.     end
  348.   end
  349.   #--------------------------------------------------------------------------
  350.   # ● アクター選択の終了
  351.   #--------------------------------------------------------------------------
  352.   def end_actor_selection
  353.     @command_window.active = true
  354.     @status_window.active = false
  355.     @status_window.index = -1
  356.   end
  357.   #--------------------------------------------------------------------------
  358.   # ● アクター選択の更新
  359.   #--------------------------------------------------------------------------
  360.   def update_actor_selection
  361.     if Input.trigger?(Input::B)
  362.       Sound.play_cancel
  363.       end_actor_selection
  364.     elsif Input.trigger?(Input::C)
  365.       $game_party.last_actor_index = @status_window.index
  366.       Sound.play_decision
  367.       case @command_window.index
  368.       when 1  # スキル
  369.         $scene = Scene_Skill.new(@status_window.index)
  370.       when 2  # 装備
  371.         $scene = Scene_Equip.new(@status_window.index)
  372.       when 3  # ステータス
  373.         $scene = Scene_Status.new(@status_window.index)
  374.       end
  375.     end
  376.   end
  377. end
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
336 小时
注册时间
2010-8-26
帖子
428
5
发表于 2010-10-23 22:24:42 | 只看该作者
回复 358552588 的帖子
我像说的是,你这脚本我试了下,没问题,是你的工程里应该有其他的需要按键的脚本,有冲突了我想,不是这脚本的问题
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
49 小时
注册时间
2007-3-31
帖子
122
6
 楼主| 发表于 2010-10-23 22:25:47 | 只看该作者
本帖最后由 358552588 于 2010-10-23 22:29 编辑

不是的你把初始人物设置成1个人然后再试试如果是4个人不会有错误~!但是四个人不是我要的效果我要一开始1个人~!我试了下创建3个空属性人物是可以~!!但是进入战斗的时候就要多按3个人而且扰乱了游戏难度~!怪会攻击空属性人物~!
这样就不会出问题了但是空位会参加战斗~!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
336 小时
注册时间
2010-8-26
帖子
428
7
发表于 2010-10-23 22:29:35 | 只看该作者
Project1.rar (240.71 KB, 下载次数: 41) 你自己看看吧,一个人也没问题啊
[
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
49 小时
注册时间
2007-3-31
帖子
122
8
 楼主| 发表于 2010-10-23 22:34:27 | 只看该作者
本帖最后由 358552588 于 2010-10-23 22:35 编辑

我发范例发上来我重新建立个也没问题也许冲突了~!你等下我压缩

时光穿梭机-古代篇.rar

439.91 KB, 下载次数: 32

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
336 小时
注册时间
2010-8-26
帖子
428
9
发表于 2010-10-23 22:50:33 | 只看该作者
回复 358552588 的帖子


    你这个我这测试什么毛病都没有,汗。。。。应该是你前面有过出错了,然后删了个脚本还是出现BUG的缘故吧,重新建个工程就行了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
49 小时
注册时间
2007-3-31
帖子
122
10
 楼主| 发表于 2010-10-23 22:52:08 | 只看该作者
回复


    你这个我这测试什么毛病都没有,汗。。。。应该是你前面有过出错了,然后删了个脚本还是出现BU ...
巧克力猫咪 发表于 2010-10-23 22:50



哦好吧谢谢你了~!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 01:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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