Project1

标题: 【TypeError】connot iterate from Float [打印本页]

作者: f26401004    时间: 2013-8-20 20:16
标题: 【TypeError】connot iterate from Float
本帖最后由 f26401004 于 2013-8-21 11:26 编辑

【TypeError】connot iterate from Float
錯誤類行照著英文直接翻貌似是指 Float 類不能重複循環
但是我搞不懂我**重複循環了{:2_253:}
腳本是寫跑步系統,不過我設定的跑步速度是有小數點的,
我有試著自己判定了一下是不是 Float 和 Integer 不能交叉賦值(因為我行走的速度是 Integer)
寫成如下的腳本
      # 如果按下跑步按鍵
      if Input.press?(Follower_Set::Input_Run) and $game_system.run_switch
        # 如果設定的數為小數點
        if !Follower_Set::Follow_Run_Speed[$game_party.actors[0].name].integer?
          # 將速度轉成浮點數
          @move_speed.to_f
        else
          # 將速度轉成整數
          @move_speed.to_i
        end
        # 切換到跑步速度
        @move_speed = Follower_Set::Follow_Run_Speed[$game_party.actors[0].name]
        # 設定變量
        @running = true
      else
        # 如果設定的數為小數點
        if !Follower_Set::Follow_Walk_Speed[$game_party.actors[0].name].integer?
          @move_speed.to_f
        else
          # 將速度轉成整數
          @move_speed.to_i
        end
        # 切換到行走速度
        @move_speed = Follower_Set::Follow_Walk_Speed[$game_party.actors[0].name]
        # 設定變量
        @running = false
      end
寫成這樣之後變成交叉賦值 9 次之後跑出這問題,
求解

不好意思我是台灣人,所以用繁體字來發問,煩請看不懂的人稍為翻譯一下






作者: bbaugle    时间: 2013-8-21 08:15
本帖最后由 bbaugle 于 2013-8-21 08:22 编辑

具体在几行?
话说根本不明白你这段脚本在干嘛= =
顺带一提,@move_speed又不是不能带小数点。

RUBY 代码复制
  1. if Input.press?(Follower_Set::Input_Run) and $game_system.run_switch
  2.         @move_speed = Follower_Set::Follow_Run_Speed[$game_party.actors[0].name]
  3.         @running = true
  4. else
  5.         @move_speed = Follower_Set::Follow_Walk_Speed[$game_party.actors[0].name]
  6.         @running = false
  7. end



直接这样不就行了呗
作者: Algalon    时间: 2013-8-21 09:10
lz还是重头看下ruby比较好。。不太明白这边为何要重复那么多to_f和to_i,不过这么写肯定是要出错的




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1