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

Project1

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

[已经解决] 鼠标整合中can't convert String into Tone

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
201
在线时间
779 小时
注册时间
2009-9-15
帖子
354
跳转到指定楼层
1
发表于 2011-11-29 00:00:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 雁行疏 于 2011-11-29 22:55 编辑

脚本‘鼠标整合’的57行(下面脚本12行)发生了TypeError.can't convert String into Tone 大概是个什么问题??
  1.     #--------------------------------------------------------------------------
  2.   # ● 检查鼠标处是否有自定义的事件并返回类型
  3.   #--------------------------------------------------------------------------
  4.   def check_event_custom(mouse_x, mouse_y)
  5.     for event in $game_map.events.values #循环所有事件检查
  6.       rate =  show_rate(event)
  7.       event_width = (RPG::Cache.character(event.character_name,event.character_hue).width / $c3_每一步的帧数) * rate
  8.       event_height = (RPG::Cache.character(event.character_name,event.character_hue).height / 8) * rate
  9.       if mouse_x > event.screen_x - event_width / 2  and mouse_x < event.screen_x + event_width / 2 and mouse_y+50  > event.screen_y + 32 - event_height and mouse_y+50  < event.screen_y + 32
  10.        if event.list !=nil
  11.         for i in 0...event.list.size
  12.           if event.list[i].parameters[0] == "Item" #类型判断
  13.             event.flag = 1
  14.           elsif event.list[i].parameters[0] == "Npc" #类型判断
  15.             event.flag = 2
  16.           else
  17.             event.flag = 0 if $game_player.get_mouse_sta != 2 #无标志
  18.           end
  19.           return event.flag #返回事件类型标志
  20.         end
  21.       end
  22.       end
  23.     end
  24.     return 0 if $game_player.get_mouse_sta != 2 #如果不是在跟随鼠标状态,则返回无标志
  25.     return $mouse_icon_id #使鼠标图不变化
  26.   end
复制代码
巨型潜水艇

Lv2.观梦者

梦石
0
星屑
260
在线时间
227 小时
注册时间
2009-7-26
帖子
216
2
发表于 2011-11-29 00:16:21 | 只看该作者
变量的类不同⋯⋯
如果是12行的话⋯⋯那我估计是parameters[0]那个东西由于某些原因不是String类⋯⋯而是Tone类⋯⋯

我猜,楼主是不是有个事件没有在最上面一行设置注释?
因为这个脚本貌似需要每个事件都在第一行注释下,物品写 Item ,NPC 则是 Npc
不要吐槽我⋯⋯
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
201
在线时间
779 小时
注册时间
2009-9-15
帖子
354
3
 楼主| 发表于 2011-11-29 00:52:05 | 只看该作者
本帖最后由 雁行疏 于 2011-11-29 12:16 编辑
darkscout3000 发表于 2011-11-29 00:16
变量的类不同⋯⋯
如果是12行的话⋯⋯那我估计是parameters[0]那个东西由于某些原因不是String类⋯⋯而是 ...


后边有else 的呀,应该不用每个都注释吧。。。还有别的事件,比如场所移动之类的不用注释吧

可以第一个if 前加若类型不是string返回标示0么?这个怎么写呀?
巨型潜水艇
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
260
在线时间
227 小时
注册时间
2009-7-26
帖子
216
4
发表于 2011-11-29 23:26:10 | 只看该作者
雁行疏 发表于 2011-11-28 11:52
后边有else 的呀,应该不用每个都注释吧。。。还有别的事件,比如场所移动之类的不用注释吧

可以第一个i ...

嗯,因为第一个事件项的类不是string,所以第一次判断的时候出现类错误,根本到不到else那儿

判断是不是string用以下代码
  1. if event.list[i].parameters[0].is_a?(String) then
  2.   是String的情况
  3. else
  4.   不是String的情况
  5. end
复制代码
不要吐槽我⋯⋯
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 23:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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