Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- As3 How to flip a movieclip to face movement direction?
- char.scaleX *= -1;
- if(!mazehit) {
- char.y += speed;
- char.scaleX *= -1;
- }
- var leftArrow, rightArrow, upArrow, downArrow:Boolean;
- var speed:Number = 4;
- var charRadius:Number = 10;
- stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
- stage.addEventListener(KeyboardEvent.KEY_UP, keyReleased);
- stage.addEventListener(Event.ENTER_FRAME, everyFrame);
- function keyPressed(event:KeyboardEvent):void {
- if (event.keyCode == Keyboard.LEFT) {
- leftArrow = true;
- }
- if (event.keyCode == Keyboard.RIGHT) {
- rightArrow = true;
- }
- if (event.keyCode == Keyboard.UP) {
- upArrow = true;
- }
- if (event.keyCode == Keyboard.DOWN) {
- downArrow = true;
- }
- }
- function keyReleased(event:KeyboardEvent):void {
- if (event.keyCode == Keyboard.LEFT) {
- leftArrow = false;
- }
- if (event.keyCode == Keyboard.RIGHT) {
- rightArrow = false;
- }
- if (event.keyCode == Keyboard.UP) {
- upArrow = false;
- }
- if (event.keyCode == Keyboard.DOWN) {
- downArrow = false;
- }
- }
- function everyFrame(event:Event):void {
- var mazehit:Boolean = false;
- if (leftArrow) {
- for(var i:int = 0; i < speed; i++) {
- if(bounds.hitTestPoint(char.x - charRadius - i, char.y, true)) {
- mazehit = true;
- break;
- }
- }
- if(!mazehit) {
- char.x -= speed;
- }
- } else if (rightArrow) {
- for(var j:int = 0; j < speed; j++) {
- if(bounds.hitTestPoint(char.x + charRadius + j, char.y, true)) {
- mazehit = true;
- break;
- }
- }
- if(!mazehit) {
- char.x += speed;
- }
- } else if (upArrow) {
- for(var k:int = 0; k < speed; k++) {
- if(bounds.hitTestPoint(char.x, char.y - charRadius - k, true)) {
- mazehit = true;
- break;
- }
- }
- if(!mazehit) {
- char.y -= speed;
- }
- } else if (downArrow) {
- for(var m:int = 0; m < speed; m++) {
- if(bounds.hitTestPoint(char.x, char.y + charRadius + m, true)) {
- mazehit = true;
- break;
- }
- }
- if(!mazehit) {
- char.y += speed;
- }
- }
- }
- char.scaleX = (speed > 0) ? 1 : -1;
- if(keyLeft && !keyRight)
- {
- char.scaleX = -1;
- }
- else if(keyRight && !keyLeft)
- {
- char.scaleX = 1;
- }
- else
- {
- // keep current direction
- }
Add Comment
Please, Sign In to add comment