在你的code中,错误主要出现在以下几点:
-
缺少自定义对象定义。这是因为你使用了
OBJ_Walls这个变量,但是没有定义这个对象。 -
没有定义
ground这个变量之前就使用了它。 -
使用了未定义的
h,v等变量。
你可以先定义这些变量,然后再使用它们。例如:
/// 创建事件
对象定义 ground = false;
变量 _x, _y;
/// limits
如果 (hspeed > hspeedl) 然后 hspeed = hspeedl;
如果 (hspeed < Neghspeedl) 然后 hspeed = Neghspeedl;
如果 (vspeed > vspeedl) 然后 vspeed = vspeedl;
如果 (vspeed < Negvspeedl) 然后 vspeed = Negvspeedl;
// h movement
如果 (hspeed > 0)
{
不会冲突(_x, _y);
_x += 1;
// 不会冲突检查
}
如果 (hspeed < 0)
{
不会冲突(_x, _y);
_x -= 1;
// 不会冲突检查
}
// v movement
如果 (vspeed > 0)
{
不会冲突(_x, _y);
_y += 1;
// 不会冲突检查
}
如果 (vspeed < 0)
{
// 不会冲突检查
_y -= 1;
// 不会冲突检查
}
// 等待冲突
会不会 (_x, _y);
不会冲突(_x, _y);
// 降落
如果 (vspeed>=0 && !ground 和 会不会 (_x, _y+16))
{
vspeed = 0;
ground = true;
}
// 离开 地面
如果 (!会不会 (_x-16, _y) 且 ground)
{
ground = false;
}
// 重力
如果 (!ground) 然后 vspeed += grv;
定义自定义对象和变量:
/// 对象事件
// walls
_实例变量 _x, _y;
_属性 _width = 16, _height = 16;
_实例变量 ground = false;
/// walls
如果 (_instance == object_walls)
{
// wall
}
定义重力相关变量:
/// 速度
变量 hspeed = 0;
变量 vspeed = 0;
变量 hspeedl = 16;
变量 Neghspeedl = -16;
变量 vspeedl = 16;
变量 Negvspeedl = -16;
变量 acc = 0.046875;
变量 dcc = 0.5;
变量 frc = 0.046875;
变量 grv = 0.21875;
评论 (0)