2
미로 게임에 대한 작업. 왼쪽 키를 누르면 동영상 클립 (문자)이 왼쪽으로 90도 회전해야합니다.As3 동영상 방향을 바꾸려면 동영상 클립을 뒤집는 방법은 무엇입니까?
내가 틀렸다면 정정 해주세요.하지만이 코드를 사용할 수 있다고 생각합니다.
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;
}
}
}
는 시간 내 주셔서 감사합니다
나는 방향이 속도에 따라 업데이트 할
감사 : 누르면 한 키에 의해,
또는 당신은 답을 위해서 몇 가지를 시도했지만, 전체 코드가 if 문으로 가득차 있다는 것을 알기 때문에, part go go – Opoe
모든 것이 계산되면 EnterFrame 함수의 끝에 넣으십시오. – Mattias
감사합니다. Mattias – Opoe