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

Project1

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

[已经解决] 【我是猹】修改战斗场景出现了奇怪的错误

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
84 小时
注册时间
2009-1-30
帖子
175
跳转到指定楼层
1
发表于 2015-1-11 17:12:25 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
刚会写精灵场景,就来写了一发,结果出现了奇怪的错误求指点
现在碰到的问题是
1、那个奇怪的错误
2、怎么调用插进去的这个东西
RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Scene_Test
  4. #------------------------------------------------------------------------------
  5. #  插入战斗场景的
  6. #==============================================================================
  7.  
  8. class Scene_Battle
  9.   #--------------------------------------------------------------------------
  10.   # ● 准备
  11.   #--------------------------------------------------------------------------
  12.   def prepare(data)
  13.     @data=data
  14.     @time_max=data.size * 60
  15.     @time=data.size * 60
  16.   end
  17.   #--------------------------------------------------------------------------
  18.   # ● 开始处理
  19.   #--------------------------------------------------------------------------
  20.   def start
  21.     super
  22.     # * 逻辑数据初始化
  23.     @index=0
  24.     # * 渲染部分初始化
  25.     #背景
  26.     create_background
  27.      # 时间条精灵
  28.     @sp_time = Sprite.new
  29.     @sp_time.x = (Graphics.width-300)/2
  30.     @sp_time.y = 60
  31.     @sp_time.z = 5000
  32.     @sp_time.bitmap = Bitmap.new(300,20)
  33.     #时间条皮肤
  34.     @sp_time_skin = Sprite.new
  35.     @sp_time_skin.x = @sp_time.x - 10
  36.     @sp_time_skin.y = @sp_time.y
  37.     @sp_time_skin.z = @sp_time.z + 1
  38.     @sp_time_skin.bitmap = Bitmap.new("Graphics/System/jindutiao")
  39.  
  40.  
  41.     # 字母精灵组
  42.     @data=[] if @data.nil?
  43.     @sp_data=[]
  44.     @data.size.times{|i|
  45.       @sp_data[i]=Sprite.new
  46.       @sp_data[i].x=(Graphics.width-400)/2+i*32
  47.       @sp_data[i].y=100
  48.       @sp_data[i].bitmap=Bitmap.new(32,35)
  49.       @sp_data[i].bitmap.draw_text(0,0,50,50,@data[i],1)
  50.       @sp_data[i].z=500
  51.     }
  52.     # 指针精灵
  53.     @sp_index=Sprite.new
  54.     @sp_index.x=80
  55.     @sp_index.y=150
  56.     @sp_index.z=500
  57.     @sp_index.bitmap=Bitmap.new("Graphics/System/zhizhen")
  58.    # @sp_index.bitmap.fill_rect(0,0,50,50,Color.new(255,0,0))
  59.   end
  60.    #--------------------------------------------------------------------------
  61.   # ● 生成背景
  62.   #--------------------------------------------------------------------------
  63.   def create_background
  64.     @background_sprite = Sprite.new
  65.     @background_sprite.bitmap = SceneManager.background_bitmap
  66.     @background_sprite.color.set(16, 16, 16, 64)
  67.   end
  68.   #-------------------------------------------------------------------
  69.   # ● 刷新
  70.   #--------------------------------------------------------------------------
  71.   alias :old_update :update
  72.  
  73.   def update
  74.     old_update
  75.     # 判断按键
  76.     # 循环判断所有键是否被按下
  77.     Kboard::KEYS.each{|k,v|
  78.     if Kboard.keyboard(v)# 如果有键被按下
  79.       if v==Kboard::KEYS[@data[@index]]#判断是否是正确的
  80.         @index+=1
  81.       else
  82.         @index=0
  83.       end
  84.     end
  85.     }
  86.     [url=home.php?mod=space&uid=134219]@Time[/url] -= 1 # 一秒-60
  87.     # 判断超时
  88.     $game_switches[1] = true if @index == @data.size
  89.     return_scene if @index >= @data.size
  90.     return_scene if @time <= 0
  91.     # 渲染刷新
  92.     # 时间
  93.     rate =  @time.to_f / @time_max
  94.     #p rate
  95.     @sp_time.bitmap.fill_rect(0,0,300,30,Color.new(255,0,255))
  96.     @sp_time.bitmap.fill_rect(0,0,300*rate,30,Color.new(0,255,255))
  97.     # 指针
  98.     #@sp_data.x= @sp_data.x - @index*32
  99.     @sp_index.x=(Graphics.width-400)/2+[@index,@data.size-1].min*32 + 8
  100.     # 刷新一下
  101.     @sp_time.update
  102.     @sp_index.update
  103.     @sp_data.each{|i|i.update}
  104.   end
  105. end


默认脚本中的Scene_Battle出错的几行是
[pre lang="ruby" line="94" file="默认的"]  #--------------------------------------------------------------------------
  # ● 等待信息显示的结束
  #--------------------------------------------------------------------------
  def wait_for_message
    @message_window.update
    update_for_wait while $game_message.visible
  end[/pre]

错.png (2.13 KB, 下载次数: 21)

错.png

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
10074
在线时间
5020 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

3
发表于 2015-1-11 17:23:22 | 只看该作者
本帖最后由 VIPArcher 于 2015-1-11 17:35 编辑

start 这么公厕的方法你不 alias 一下?

另外prepare方法你定义了没看到你调用它。

顺便我觉得你这个可以自己写一个类/模块去管理他,然后给个建议不要用old_xxx 这么低级的别名
然后我没测试

点评

已解决,确实是start的问题。。。谢谢版主大大~~~  发表于 2015-1-12 10:51
战斗场景都被你动成这样了,你居然告诉我你没动=_=  发表于 2015-1-11 18:30
alias后还是不行,我都没动战斗场景怎么也出问题。。。。  发表于 2015-1-11 18:05

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
84 小时
注册时间
2009-1-30
帖子
175
2
 楼主| 发表于 2015-1-11 17:15:46 | 只看该作者
另附工程,有需要的话自行下载喔~~对了,是测试战斗时候出的错。

打字母.rar

1.43 MB, 下载次数: 65

点评

我不过就是想在战斗时满足某个条件就暂停战斗然后弹出一个东西来让你按。。。结果好坑啊QAQ,一开始战斗就弹出来了  发表于 2015-1-11 18:41
prepared在输入数据的地方调用了。。。  发表于 2015-1-11 18:13
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 13:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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