查看: 1915|回复: 2

[已经解决] 帮我看看这个问题出在哪

[复制链接]
梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2016-4-6 13:35:36 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 yang1zhi 于 2016-4-6 13:37 编辑

1.png
2.png
[pre lang="ruby"]    # 通常キャラのパターン更新処理(デフォルトの処理をコピペしただけ)
      if @anime_count > 18 - @move_speed * 2
        # 停止時アニメが OFF かつ 停止中の場合
        if not @step_anime and @stop_count > 0
          # パターンをオリジナルに戻す
          @pattern = @original_pattern
        # 停止時アニメが ON または 移動中の場合
        else
          # パターンを更新
          @pattern = (@pattern + 1) % 4
        end
        # アニメカウントをクリア
        @anime_count = 0
      end
    end
[/pre]


他提示说是*号没定义,所以我想是@move_speed的问题。所以在事件里加了@move_speed

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

梦石
0
星屑
3293
在线时间
1463 小时
注册时间
2014-8-9
回帖
308
发表于 2016-4-6 16:46:17 | 显示全部楼层
能否试试@move_speed是什么?
还有,我为何感觉是括号不加的问题?
回复

使用道具 举报

梦石
0
星屑
56
在线时间
10 小时
注册时间
2015-10-8
回帖
21
发表于 2016-4-6 20:48:59 | 显示全部楼层
本帖最后由 众位坛友 于 2016-4-6 20:51 编辑

在Ruby中,运算符也被当作方法定义,也就是说:
class Integer
def +(x)
return self+x #这只是示范,请不要在意太多细节
end
end
因此,当算术函数前所跟对象(或其最终结果)不为某一种数据类型的实例对象或空时,就会出现没有定义"*"方法的提示。这个问题,是由数据为空造成的。
请检测在这个实例中,前面@move_speed是否被赋值,或张贴完整脚本

关于函数+不加括号,实际上是ruby普遍的语法现象,请参见技术区某个帖子

评分

参与人数 1星屑 +90 收起 理由
RyanBern + 90 我很赞同

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部