내 마음에 문제가 생겼습니다. 게임에서 라이브러리의 적들을 인스턴스화하여 무대에 올려야합니다. 그래서 EnemySpawner 클래스를 만들고 그 클래스의 인스턴스를 무대에 올려 놓습니다. (라이브러리에서 드래그 앤 드롭하여 인스턴스 이름을 지정하십시오). 그래서 여기 EnemySpawner 클래스의 코드입니다 :ActionScript 3.0의 적 스폰하기
package scripts {
import flash.display.MovieClip;
public class EnemySpawner extends MovieClip {
var positions: Array = new Array(); // clockwise spawn positions
var enemies : Array = new Array();
var spwan:Boolean=false;
public function EnemySpawner() {
positions.push(MovieClip(root).rightPos);
positions.push(MovieClip(root).leftPos);
enemies.push("Enemy1");// here is the problem
}
public function tick(): void {
}
public function doSpwan():void{
}
}
}
그래서 여기에 문제의 문제는, 내가 무작위로 무대에 라이브러리 및 인스턴스를에서 원수를로드 할이, 디자인 환경은 다음과 같이이다 :
나는 D : 같은 블라스 클래스 라이브러리의 diffrent 적 무비 클립이 있습니다
각 적을 새로운 클래스에 할당하고 싶지 않습니다. 예를 들어 EnemyA 클래스를 Enemy1 MovieClip 객체에 할당하고 EnemyB 클래스를 Enemy2 MovieClip에 할당하지 않으려합니다. 나는 모든 Enemy MovieClip이 같은 클래스의 적 (Enemy)을 공유하고 싶다. 그래서 이것을 사용하여 인스턴스화하는 것은 어려운 작업입니다.이 방법을 사용하여 적을 인스턴스화하는 방법을 모르겠습니다.
var e1 : Enemy1 = new Enemy1();
var e2 : Enemy2 = new Enemy2();
...
var e3 : Enemy3 = new Enemy3();
을하지만 이런 식으로 뭔가 할 원하는 : 사전에
//Pseudocode:
//Instantiate form library (Name Of Enemy1); //base class is enemy 1
//Instantiate form library (Name Of Enemy1); //base class is enemy 1
//Instantiate form library (Name Of Enemy1); //base class is enemy 1
덕분에 나는이 작업을 수행 할 수있는 각 적의에 대해 별도의 클래스가있는 경우
나는 알고있다.
감사합니다, 원수에 대해 다른 클래스를 지정하지 할 수있는 방법이
,이 모든 적들이 단지 하나의 클래스를 사용한다는 모노 행동 클래스이므로 논리는 모두 동일합니다. –@ S.A.Parkhid 여러 가지 방법이 있지만 라이브러리 항목에 고유 한 클래스를 할당하는 것은 피할 수없는 방법입니다. – Organis
"라이브러리 항목에 고유 한 클래스를 할당하는 것은 피할 수 없습니다."액션 스크립트에 대한 흥미로운 문제는 아니지만 어쨌든 나는 당신의 대답을 받아들입니다. 고마워요! –