查看: 2286|回复: 4

[已经解决] 一个隐身的小脚本,时间倒数结束就出错

[复制链接]
梦石
0
星屑
50
在线时间
200 小时
注册时间
2008-3-1
回帖
258
发表于 2013-3-6 16:18:00 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 木许许 于 2013-3-6 21:17 编辑

这个脚本的功能是:当主角附加12号状态时就变成半透明,并且行走速度变快,问题是当主角变成半透明时间开始倒数的时候如果按ESC调出主菜单再退出,那么时间倒数结束就会出错,求解决方法
  1. class Game_Character
  2.   attr_accessor :x
  3.   attr_accessor :y
  4.   attr_accessor :move_speed
  5.   attr_accessor   :opacity
  6. end
  7. class Scene_Map
  8.   Mspeed = 5  
  9.   Fid = 12   #变隐身的状态编号假设12
  10.   alias update_abc update
  11.   def update
  12.     update_abc
  13.     @states2 = $game_actors[1].state?(Fid) #获得1号角色是否有FID编号状态
  14.     if @states2 and @opacity != $game_player.opacity
  15.       $game_player.opacity = 100
  16.       @opacity = $game_player.opacity
  17.       if $game_system.timer_working != true
  18.         $game_system.timer_working = true   
  19.         @movespeed = $game_player.move_speed
  20.         $game_player.move_speed = Mspeed
  21.         $game_system.timer = 3 * Graphics.frame_rate
  22.       end
  23.     elsif @states2 !=true and $game_player.opacity != 255
  24.       $game_player.opacity = 255
  25.     end
  26.     if $game_system.timer_working and $game_system.timer == 0  #时间到
  27.       $game_player.move_speed = @movespeed #恢复速度
  28.       $game_actors[1].remove_state(Fid)  #消除状态
  29.       $game_system.timer_working = false #停止计时
  30.       @states2 = false
  31.     end
  32.   end  
  33. end
复制代码

万兽

梦石
0
星屑
602
在线时间
2271 小时
注册时间
2006-11-4
回帖
4701

贵宾

发表于 2013-3-6 19:13:48 | 显示全部楼层
报错的不是这个脚本,是LZ的其它脚本引起的,附上报错截图,最好有范例。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
200 小时
注册时间
2008-3-1
回帖
258
 楼主| 发表于 2013-3-6 19:51:20 | 显示全部楼层
本帖最后由 木许许 于 2013-3-6 19:53 编辑
弗雷德 发表于 2013-3-6 19:13
报错的不是这个脚本,是LZ的其它脚本引起的,附上报错截图,最好有范例。 ...


附件在这里,新开一工程,插入以上脚本,主角变透明的倒数时段内按ESC调出主菜单然后再退出,等待时间倒数一结束就出错,如果不调出主菜单就没事

Project2.rar (187.02 KB, 下载次数: 8)

111.jpg
回复

使用道具 举报

万兽

梦石
0
星屑
602
在线时间
2271 小时
注册时间
2006-11-4
回帖
4701

贵宾

发表于 2013-3-6 20:10:02 | 显示全部楼层
原因找到了,一个未定义的实例变量@movespeed 引起的,俺给你改成用变量了。
Project2.rar (187.04 KB, 下载次数: 16)
搜索万兽熊最高……
回复

使用道具 举报

梦石
0
星屑
50
在线时间
200 小时
注册时间
2008-3-1
回帖
258
 楼主| 发表于 2013-3-6 21:17:15 | 显示全部楼层
谢谢了,似乎把@movespeed 改成 $movespeed 也可以吧

点评

嗯,全局变量也行。  发表于 2013-3-6 21:19
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部