Так что я немного новичок в ActionScript 3, и если мне не хватает чего-то важного для решения, просто скажите мне, и я опубликую это, но в любом случае ...
Итак, у меня есть 2 слоя. Верхний слой - это контент, а нижний - as3 (для ActionScript). В моем содержании у меня есть маленький синий шар, который составляет ок. в центре сцены. И в моем слое as3 у меня есть следующий код:
//Add the event listeners...
stage.addEventListener(Event.ENTER_FRAME, moveBall);
stage.addEventListener(KeyboardEvent.KEY_DOWN, keypress);
stage.addEventListener(KeyboardEvent.KEY_UP, keyrelease);
//Movement variables...
var velY;
var velX;
var power = 5;
var friction = 0.95;
//Key variables...
var right;
var left;
var up;
var down;
function keyrelease(event:KeyboardEvent) {
right = false;
left = false;
down = false;
up = false;
}
function keypress(event:KeyboardEvent) {
if (event.keyCode == 39) {
right = true;
}
if (event.keyCode == 37) {
left = true;
}
if (event.keyCode == 38) {
up = true;
}
if (event.keyCode == 40) {
down = true;
}
}
function moveBall(event:Event) {
if (right == true) {
velX += power;
}
if (left == true) {
velX -= power;
}
if (up == true) {
velY += power;
}
if (down == true) {
velY -= power;
}
character.x += velX;
character.y += velY;
velY *= friction;
velX *= friction;
}
Где в основном то, что я делаю, это проверяю, нажата ли клавиша, и если да, я делаю velY или velX равными значениям Powe, которые будут увеличивать маленький синий шарик определенным образом, а velY и velX будут уменьшаться до (из-за ошибок округления) оно становится равным нулю, и синий шар останавливается. Но с клавишами ничего не работает, и по какой-то причине мой маленький синий кружочек находится в левом верхнем углу экрана.