게임에 카드를 설정하는 다음 기능이 있습니다. 나는 종류의 카드를 보관할 하나의 배열을 만들고 카드의 위치를 잡을 다른 배열을 만들었습니다. 내가 카드 번호를 설정하려면Actionscript 3 : 문서 클래스의 배열 범위
private function setPlayerCard(cardNumber:int, cardPos:int):void{
for (var i:int = 1; i < _CardGridInstance.numChildren+1; i++) {
var _position:MovieClip = MovieClip(_CardGridInstance.getChildByName("Position_" + i));
cardPositions[i] = _position;
cardPositions[i].pos_name.text = "position" + i;
cardPositions[i].id = ["pos"+i];
}
for (var j:int = 1; j < numCards+1; j++) {
var _c:Class = getDefinitionByName("Card_" + j) as Class;
var _cardInstance:MovieClip = new _c();
cards[j] = _cardInstance;
}
cards[cardNumber].x = _CardGridInstance.x + cardPositions[cardPos].x - 1;
cards[cardNumber].y = _CardGridInstance.y + cardPositions[cardPos].y;
addChild(cards[cardNumber]);
}
그래서 "3"위치에 "5"난 그냥 쓰기 :
setPlayerCard(3,5);
을 내가 볼 수있는 문제는 때마다 내가 배치하고 싶습니다이다 카드, 나는 매번 두 개의 배열을 만들고있다. 배열을 "전역"(즉, 내 문서 클래스의 생성자에서 생성)하고 "setPlayerCard"함수에서 재사용하고 싶습니다. 그렇게하려고하면 오류가 발생합니다.
제안 사항?
좋은 아이디어! 지금 Singleton 클래스를 구현하려고합니다. 내 질문은 ... Singleton 클래스를 구현하는 방법에 대한 몇 가지 문서를 살펴본 후 두 클래스간에 표시 목록 개체를 참조하는 방법에 대해 조금 확신하지 못합니다. 예를 들어, 만들고 싶은 배열은 다른 클래스의 표시 목록에 추가 한 MovieClip을 기반으로합니다. 클래스 1 : 표시 목록에 MovieClip을 추가하고 "foo"라고합니다. Singleton "foo"안에있는 항목의 배열을 만듭니다. 결과 : 싱글 톤 클래스 내부에서 "foo"를 참조하는 오류를 가져옵니다. 다른 클래스. – redconservatory