(single) REDIGERET 1 July 2009 • by admin

Keyboard – lang men flydende

Alle de keys man har brug for i form af booleans

var rightArrow:Boolean=false;
var leftArrow:Boolean=false;
var upArrow:Boolean=false;
var downArrow:Boolean=false;

KEY_DOWN listeneren sætter dem til true

stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
function keyPressed(e:KeyboardEvent) {
	if (e.keyCode == Keyboard.RIGHT) {
		rightArrow = true;
	}
	if (e.keyCode == Keyboard.LEFT) {
		leftArrow = true;
	}
	if (e.keyCode == Keyboard.UP) {
		upArrow = true;
	}
	if (e.keyCode == Keyboard.DOWN) {
		downArrow = true;
	}
}

KEY_UP listeneren sætter dem til false

stage.addEventListener(KeyboardEvent.KEY_UP, keyReleased);
function keyReleased(e:KeyboardEvent) {
	if (e.keyCode == Keyboard.RIGHT) {
		rightArrow = false;
	}
	if (e.keyCode == Keyboard.LEFT) {
		leftArrow = false;
	}
	if (e.keyCode == Keyboard.UP) {
		upArrow = false;
	}
	if (e.keyCode == Keyboard.DOWN) {
		downArrow = false;
	}
}

ENTER_FRAME listeneren reagerer på dem prompte

stage.addEventListener(Event.ENTER_FRAME, MOVE);
function MOVE(e:Event) {
	if (rightArrow) {
		mc.x += 5;
		mc.play();
	}
	if (leftArrow) {
		mc.x -= 5;
		mc.play();
	}
	if (upArrow) {
		mc.y -= 5;
		mc.play();
	}
	if (downArrow) {
		mc.y += 5;
		mc.play();
	}
	if (!rightArrow && !leftArrow && !upArrow && !downArrow) {
		mc.stop();
	}
}

Se også: Keyboard – kort men hakkende