대화
ZG_.BC군[5]님의 글에서 이어진 답글 0개
카인님보셈 미사일액션onClipEvent (load) { // 탱크를 좌우로 움직이는 함수 function move(deltax){ this._x += deltax; _root.tank._x += deltax; } // 미사일을 위 아래로 조절하는 함수 function rotateMissile(delta){ this.angle += delta; this._rotation = -this.angle; } // 대포가 날아가는지 여부를 판단하는 변수, isFire가 true면 대포가 날아감 isFire = false; // 중력가속도 g를 5로 설정 g = 5; // 초기 각도 angle을 60으로 초기화 angle = 60; // angle에 해당하는 각도로 미사일을 회전시킴 this._rotation = -angle; } onClipEvent (enterFrame) { // Up 키를 누르면 미사일을 2도만큼 위로 회전시킴 if(Key.isDown(Key.UP)==true){ rotateMissile(2); } // Down 키를 누르면 미사일을 2도만큼 아래로 회전시킴 if(Key.isDown(Key.DOWN)==true){ rotateMissile(-2); } // Right 키를 누르면, x 축으로 5만큼 이동하는 move 함수를 호출 if(Key.isDown(Key.RIGHT)==true){ move(5); } // Left 키를 누르면, x 축으로 -5만큼 이동하는 move 함수를 호출 if(Key.isDown(Key.LEFT)==true){ move(-5); } // isFire가 true면 미사일을 발사시킴 if (isFire == true) { // 위치가 700보다 작을 경우에는 계속 포물선 운동을 시킴 if (this._y < 700) { // y축 이동속도를 중력가속도 g 만큼 증가시킴 vy = vy + g; this._x = this._x + vx; this._y = this._y + vy; // 미사일이 진행방향을 향하도록 함 this._rotation = Math.atan(vy/vx)*180/Math.PI ; } else { // 스테이지에서 완전히 사라지면 (y값이 700보다 커지면) // 미사일을 처음 위치로 이동시키고, isFire를 false로 설정 this._x =_root.tank._x; this._y = _root.tank._y - 20; this._rotation = -angle; isFire = false; } } // isPress 변수가 true일 경우에는 power를 나타내는 막대기의 가로길이를 증가시킴 // 막대기의 최대 길이는 400, 400이 넘어가면 다시 0부터 시작함 if(isPress == true){ _root.bar._width += 5; _root.bar._width = _root.bar._width % 400; } } // 마우스 버튼을 누르면, isPress를 true로 설정해서 power 막대기를 증가시킴 onClipEvent(mouseDown){ isPress = true; } // 마우스 버튼을 놓으면, 미사일을 발사함 onClipEvent(mouseUp){ isPress = false; this.play(); // bar 무비클립의 가로길이를 5로 나눈 값으로 초기 속도를 설정 v = _root.bar._width/5; // 초기 속도 v로 부터 x 및 y축 방향 속도를 구함 vx = v*Math.cos(angle*Math.PI/180); vy = -v*Math.sin(angle*Math.PI/180); isFire = true; _root.bar._width = 1; }
하면 이 대화에 답할 수 있어요.