-1
var xpos = 0;
var ypos = 0; 
xpos = obj_magnet.x; 
ypos = obj_magnet.y;
if (xpos > 435 && xpos < 704 && ypos > 350 && ypos < 640)
{
    with(obj_lamp)
    {
        instance_change(obj_lamp_light, true);
    }
    if obj_lamp_light.image_index == 5
    {
        obj_lamp_light.image_speed = 0;
    }
    with(obj_arrow)
    {
        instance_change(obj_arrow_move_one_direction, true);
    }
    if obj_arrow_move_one_direction.image_index == 4
    {
        obj_arrow_move_one_direction.image_speed = 0;
    }
    with(obj_arrow_move_opposite_direction)
    {
        instance_change(obj_arrow, true);
    }
    exit;
}
else
{
    with(obj_lamp_light)
    {
        instance_change(obj_lamp, true);
    }
    with(obj_arrow_move_one_direction)
    {
        instance_change(obj_arrow_move_opposite_direction, true);
        if obj_arrow_move_opposite_direction.image_index == 4
        {
            obj_arrow_move_opposite_direction.image_speed = 0;
        }
    }
    exit;
}

这是我正在尝试创建的游戏,其中 obj_arrow_move_opposite_direction 和 obj_arrow_move_one_direction 包含 5 个子图像,而 obj_lamp_light 包含 5 个子图像。

4

1 回答 1

0

您说每个对象包含 5 个子图像,对吗?看起来您正在寻找第 7 行不存在的子图像 (5)。

这似乎是一个简单的错字,但如果不是,请务必注意 image_index 从 0 开始。所以 5 个图像将是 0-4,而不是 1-5。

var xpos=0;
var ypos=0; 
xpos=obj_magnet.x; 
ypos=obj_magnet.y;
if(xpos>435&&xpos<704&&ypos>350&&ypos<640) { with(obj_lamp){
instance_change(obj_lamp_light,true);} if
obj_lamp_light.image_index==5{ obj_lamp_light.image_speed=0;} // should be object_lamp_light.image_index == 4
with(obj_arrow){
instance_change(obj_arrow_move_one_direction,true);}
if obj_arrow_move_one_direction.image_index==4{
obj_arrow_move_one_direction.image_speed=0;}
with(obj_arrow_move_opposite_direction){
instance_change(obj_arrow,true);}
exit;
}
else{
with(obj_lamp_light){
instance_change(obj_lamp,true);}
with(obj_arrow_move_one_direction){
instance_change(obj_arrow_move_opposite_direction,true);
if obj_arrow_move_opposite_direction.image_index==4{
obj_arrow_move_opposite_direction.image_speed=0;}}
exit;
}

更好的是,如果您正在检查以确保对象的 image_indexes 等于最后一个子图像,您可以使用 image_number 并减一。这样,如果您添加更多子图像,您可以确保您的代码仍在检查最后一帧。

于 2016-05-01T03:01:01.610 回答