저는 여전히 as3과 어려움을 겪고 있습니다. 내 적들은 오른쪽에서 왼쪽으로 움직이지 않을 것이다. 다른면은 문제가되지 않습니다. 아무도 내가 뭘 잘못하고 있는거야? 추적 장갑은 작동합니다.왼쪽으로 적을 움직이십시오.
package {
import flash.display.MovieClip;
import flash.events.Event;
public class mcEnemy extends MovieClip {
public var sDirection:String;
private var nSpeed:Number;
public function mcEnemy()
{
addEventListener(Event.ADDED_TO_STAGE, onAdd);
}
private function onAdd (e:Event): void
{
removeEventListener(Event.ADDED_TO_STAGE, onAdd);
init();
}
//radom enemy's worden gekozen
private function init():void
{
// 3 frames
var nEnemies:Number = 3;
// pick random number between 1 and number of enemies
var nRandom:Number = randomNumber (1, nEnemies);
// Setup our playhead of this enemy clip to a random number
// Stop op frame 1,2 of 3
this.gotoAndStop(nRandom);
// Setup our enemys start position
setupStartPosition();
}
private function setupStartPosition(): void
{
// pick a random speed for the enemy
nSpeed = randomNumber (5,10);
// Pick random number for left or right, tussen 1 en 2, start position
var nLeftOrRight:Number = randomNumber (1,2);
// if our nLeftOrRight == 1 , enemy is on the left
if (nLeftOrRight == 1)
{
// start enemy on the left side
this.x = - (this.width/2);
sDirection = "R";
//trace ("right");
} else
{
// start enemy on the right side
this.x = stage.stageWidth + (this.width/2);
sDirection = "L";
//trace("left");
}
// set a random hoogte for our enemy
// set a 2 varibele for min and max hoogte
var nMinAltitude: Number = stage.stageHeight/2;
var nMaxAltitude: Number = 720 - (this.height/2);
// Setup our enemies altitude to a random point between our min and max altitudes
this.y = randomNumber (nMinAltitude, nMaxAltitude);
// move our enemy
startMoving();
}
private function startMoving(): void
{
addEventListener(Event.ENTER_FRAME, enemyLoop)
}
private function enemyLoop (e:Event): void
{
// test in what direction our enemy is moving
// if our enemy is moving right
if (sDirection == "R")
{
// move our enemy right
this.x += nSpeed;
//trace ("goright");
} else
{
// move our enemy left
this.x -= nSpeed;
//trace ("goleft");
}
}
// geeft random nummer tussen 0 en 1 en stuurt het terug
function randomNumber (low:Number=0, high:Number=1) : Number
{
return Math.floor (Math.random() * (1+high-low)) + low;
}
public function destroyEnemy(): void
{
// remove enemys from the stage
if (parent) {
parent.removeChild(this);
}
// remove any eventlisteners from enemy
removeEventListener(Event.ENTER_FRAME, enemyLoop);
}
}
}
누군가가 나를 도울 수 있기를 바랍니다. 내 하찮은 영어 실력에 죄송하다는 말씀을 드리고 싶습니다.
게임의 일부이다. 적들은 화면에서 왼쪽이나 오른쪽으로 가야합니다. 당신이 그들을 격추해야합니다. 그것은 무작위 적이기 때문에 나는 왼쪽으로 가려고 생각하는 사람이 전혀 움직이지 않는다고 생각합니다. – FaceMann