어디에서나 검색 한 결과이 질문에 대한 답변을 찾을 수 없으므로 최대한 설명 드리겠습니다.AS3 Flash- 하나의 클래스에서 무비에 여러 개의 무비 클립 추가하기
내 라이브러리에 'Bluknife'및 'cat'(RPG 게임) 영화 클립 2 개가 있습니다. 두 무비 클립은 같은 이름의 as3 클래스에 연결됩니다.
은 내가 문서 클래스에 다음 코드를함으로써 무대에 이러한 항목을 모두 추가 할 수 있습니다 알고
var knife:BluKnife = new BluKnife();
stage.addChild(knife);
knife.x = stage.stageWidth/2;
knife.y = stage.stageHeight/2;
var ct:cat = new cat();
stage.addChild(ct);
ct.x = stage.stageWidth/2;
ct.y = stage.stageHeight/2;
그러나 나는이 모든 물건이 문서 클래스에 싶지 않아, 내 문서 클래스에서
callitems
클래스를 호출 가겠어요 어떻게 그냥 궁금 해서요
package
{
import flash.display.MovieClip;
import flash.display.MovieClip;
import flash.display.Stage;
public class callitems extends MovieClip
{
public function callitems()
{
var knife:BluKnife = new BluKnife();
stage.addChild(knife);
knife.x = stage.stageWidth/2;
knife.y = stage.stageHeight/2;
var ct:cat = new cat();
stage.addChild(ct);
ct.x = stage.stageWidth/2;
ct.y = stage.stageHeight/2;
}
}
}
: 그래서 내가 무대에이 물건의 모든 전화를 사용하고자하는 다른 클래스를 만들어 그것을 callitems
이름? callitems
의 인스턴스를 만들고 문서 클래스의 무대에 추가하는 등 몇 가지 시도를 해봤습니다 (놀랄 일도 아니 었습니다). 여기에 기능이있다 :
public function Engine()
{
var calling:callitems = new callitems();
stage.addChild(calling);
}
나는 다음과 같은 오류가 발생했습니다 : 형식 오류 : 오류 # 1009 : null 객체 참조의 속성이나 메서드에 액세스 할 수 없습니다. callitems() 엔진()
내 문서 클래스의 이름에서 에서 당신이 액션 스크립트 클래스 이름에 CallItems
(메모를 생성 할 때 낙타 케이스에 있어야한다는, 오해를 가지고 Engine
무비 클립을 무대에 올릴 수없는 이유는 추가 된 무비 클립이 다양하기 때문입니다. 변수에 저장된 값에 따라 추가됩니다. 나는 대답의 후반 부분을 이해하기 시작했다고 생각합니다. 'callItems'가 무대가 아닌 자체에 추가되어야한다고 말하고 있습니까? Amy에게 작은 코드 예제를 줄 수 있습니까? 감사합니다. -Mark –
PS입니다. 귀하의 도움을 주셔서 감사합니다 지금까지, 그것은 많이 감사합니다 –
당신은 새로운 연산자를 사용하는 한 클래스에 대한 참조가 있어야하고 그것은 모든 것을 모두 알고 있기 때문에 기본 클래스로 컴파일됩니다. 클래스가 사용하고있는 클래스가 사용 중이므로 변수에 있는지 여부는 중요하지 않습니다. 'Calling '에 항목을 추가하려면'stage'를'this'로 바꾸십시오. –