如何阻止可移动对象(通过箭头键移动)离开 Adobe Flash Professional CS6 Action Script 3.0 中的舞台
How to stop a movable object (which moves via the arrow keys) from going off the stage in Adobe Flash Professional CS6 Action Script 3.0
您好,我目前正在使用 Adobe Flash Professional CS6 创建游戏。我有一个角色,实例名称为 "alien"。
到目前为止,我只能编写我的游戏代码,使外星人不能离开舞台的顶部或左侧。我不知道如何编写代码,这样外星人就不会离开舞台的底部或右侧。我的编码如下:
if((alien.x) < (alien.width/2)){
alien.x += 10;
}
if((alien.y) < (alien.width/2)){
alien.y += 10;
}
感谢您的宝贵时间。
使用stage.stageWidth和stage.stageHeight值来确定舞台区域的大小。使用 矩形 不是强制性的,但我喜欢它的自解释性。
import flash.geom.Rectangle;
// new Rectangle(left, top, width, height)
var aBounds:Rectangle = new Rectangle(
alien.width / 2,
alien.height / 2,
stage.stageWidth - alien.width,
stage.stageHeight - alien.height
);
if (alien.y < aBounds.top) alien.y = aBounds.top;
if (alien.x < aBounds.left) alien.x = aBounds.left;
if (alien.x > aBounds.right) alien.x = aBounds.right;
if (alien.y > aBounds.bottom) alien.y = aBounds.bottom;
您好,我目前正在使用 Adobe Flash Professional CS6 创建游戏。我有一个角色,实例名称为 "alien"。 到目前为止,我只能编写我的游戏代码,使外星人不能离开舞台的顶部或左侧。我不知道如何编写代码,这样外星人就不会离开舞台的底部或右侧。我的编码如下:
if((alien.x) < (alien.width/2)){
alien.x += 10;
}
if((alien.y) < (alien.width/2)){
alien.y += 10;
}
感谢您的宝贵时间。
使用stage.stageWidth和stage.stageHeight值来确定舞台区域的大小。使用 矩形 不是强制性的,但我喜欢它的自解释性。
import flash.geom.Rectangle;
// new Rectangle(left, top, width, height)
var aBounds:Rectangle = new Rectangle(
alien.width / 2,
alien.height / 2,
stage.stageWidth - alien.width,
stage.stageHeight - alien.height
);
if (alien.y < aBounds.top) alien.y = aBounds.top;
if (alien.x < aBounds.left) alien.x = aBounds.left;
if (alien.x > aBounds.right) alien.x = aBounds.right;
if (alien.y > aBounds.bottom) alien.y = aBounds.bottom;