【问题标题】:Game Maker:DoAdd:2:undefined valueGame Maker:DoAdd:2:undefined value
【发布时间】:2021-10-31 05:07:25
【问题描述】:

步骤中的代码:

If (keyboard_check(ord("W"))) {   phy_position_y -= 4;
}
If (keyboard_check(ord("A"))) {   phy_position_x -= 4; 
}
If (keyboard_check(ord("S"))) {   phy_position_y += 4;
}
If (keyboard_check(ord("D"))) {   phy_position_x += 4;
}

按任何 WASD 键都会产生上述错误。

【问题讨论】:

    标签: undefined game-maker game-maker-studio-2


    【解决方案1】:

    phy_position_xphy_position_y 只能在为对象检查Uses physics 标志时使用。要么启用它,要么按照 Steven 的建议使用常规的 xy

    【讨论】:

      【解决方案2】:

      检查 phy_position_yphy_position_x 之前是否已初始化。

      它试图将 4 添加到它的值,但它不能这样做,因为它不知道它自己的值。 (即使是0,也要初始化为0)

      例如,您可以将其放入您的创建事件中:

      phy_position_x = 0;
      phy_position_y = 0;
      

      或者,假设您决定对象的当前位置,您也可以使用内置变量xy

      If (keyboard_check(ord("W"))) {   y -= 4;
      }
      If (keyboard_check(ord("A"))) {   x -= 4; 
      }
      If (keyboard_check(ord("S"))) {   y += 4;
      }
      If (keyboard_check(ord("D"))) {   x += 4;
      }
      

      我认为最终,如果您想移动对象,则无论如何都需要定义 xy,但了解自定义变量并首先定义它们是关键。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-13
        • 2022-11-24
        • 1970-01-01
        • 2019-04-06
        • 2017-08-27
        • 2018-07-14
        相关资源
        最近更新 更多