游戏制作者,游戏中的图像缩放问题



我和我的朋友们正在制作哪个物体朝着玩家靠近,玩家就让开。我们有一个物体,它会增加物体向你靠近的速度,所以我们必须增加图像缩放的速度。我们遇到的问题是,在两次加电后,图像大小停止增加,保持不变。

我们目前的代码是

if global.collision = 0 ///global.collision is raised when you hit a power up
{
    image_xscale = image_xscale +0.01;
    image_yscale = image_yscale +0.01;
}

此代码重复执行,每次global.collision增加一个。

对于初学者来说,您没有针对global.collision检查任何内容。您将其设置为零。要对其进行检查,您可以使用以下比较运算符之一(只有您可以将x替换为要检查的值):

//Greater Than
if (global.collision > x)
{
    //image_xscale += 0.01 does the same thing as saying image_xscale = image_xscale + 1
    image_xscale += 0.01;
    image_yscale += 0.01;
}
//Less Than
if (global.collision < x)
{
    image_xscale += 0.01;
    image_yscale += 0.01;
}
//Greater Than or Equal To
if (global.collision >= x)
{
    image_xscale += 0.01;
    image_yscale += 0.01;
}
//Less Than or Equal To
if (global.collision <= x)
{
    image_xscale += 0.01;
    image_yscale += 0.01;
}
//Is Equal To
if (global.collision == x)
{
    image_xscale += 0.01;
    image_yscale += 0.01;
}
//Is NOT Equal To
if (global.collision != x)
{
    image_xscale += 0.01;
    image_yscale += 0.01;
}

如果你想达到我认为的效果(使对象基于global.collision增长更快),你可能会想做以下两件事中的一件(它们做同样的事情):

image_xscale += 0.01 * global.collision;
image_yscale += 0.01 * global.collision;

image_yscale = image_xscale = (image_xscale + 0.01 * global.collision);

最新更新