독립적 인 클래스 간 통신을위한 가장 간단한 방법은 무엇입니까? 2 일 동안 검색했지만 아무 것도 찾을 수 없습니다. 은 하나의 클래스에 dispatchEvent가 있고 다른 하나에는 custom Event 이벤트가있는 addEventListener가있는 방식이 아닙니까? 부모 클래스 관계가있는 동일한 클래스 o 내에서 솔루션을 찾을 수는 있지만 찾고자하는 것은 "형제"관계와 비슷합니다. 감사합니다.플래시 AS3 독립적 인 수업을 전달하는 가장 좋은 방법은 무엇입니까?
0
A
답변
0
그래서 ChildClass1, ChildClass2 및 ParentClass가있는 경우 ChildClass1과 ChildClass2는 모두 ParenClass의 자식입니다.
ChildClass1은 이벤트를 전달합니다. ParentClass는이 이벤트를 수신하고 처리기가 ChildClass2를 업데이트합니다.
0
ParentClass가없는 경우 Childs를 등록하고 그에 따라 알리는 ChildManagerClass를 사용할 수도 있습니다.
2
일반적으로 이벤트를 전달하는 클래스를 EventDispatcher
으로 확장하거나 IEventDispatcher
으로 구현하려고합니다. (수업이 DisplayObject
들 경우 모든 DisplayObject
들, 그래서, 당신은 여분의 작업을 수행 할 필요가 없습니다 않습니다.)
을 파견 클래스에서 :
class ListeningClass {
function startListening(dispatcher:DispatchingClass) {
dispatcher.addEventListener("FOO", handleFoo);
}
function handleFoo(evt:Event) {
// do stuff
}
}
: 청취 클래스에서
class DispatchingClass extends Event Dispatcher {
function doSomething() {
// do stuff
dispatchEvent(new Event("FOO"));
}
}
을
EventDispatcher는 맞춤 이벤트와 잘 작동합니다. 어떤 이유로 청취 클래스가없는 당신의 파견 클래스의 인스턴스를 얻을 수없는 경우
, 당신은 글로벌 이벤트 방송을 할 수 있습니다. 기본적으로
EventDispatcher
(또는
IEventDispatcher
을 구현하는) 보편적으로 액세스 할 수있는 클래스를 만들고 이벤트를 수신하고 전달하는 모든 것에 이벤트를 전달합니다.
import flash.events.EventDispatcher;
public class EventBroadcaster extends EventDispatcher {
private static var _instance:EventBroadcaster = new EventBroadcaster();
public function EventBroadcaster() {
if (_instance != null) {
trace ("Error: an instance of EventBroadcaster() already exists.");
}
}
public static function getInstance():EventBroadcaster {
return EventBroadcaster._instance;
}
}
당신은 거의 같은 방법을 사용합니다 :
class DispatchingClass {
function doSomething() {
// do something
EventBroadcaster.getInstance().dispatchEvent(new Event("FOO"));
}
}
class ListeningClass {
function startListening() {
EventBroadcaster.getInstance().addEventListener("FOO", handleFoo);
}
function handleFoo(evt:Event) {
// do stuff
}
}
dispatchEvent()
및 addEventListener()
가 내장에서 불과 기능입니다을 여기
EventDispatcher
에 있습니다.
Event Broadcaster - Simple events solution...에는 이벤트 브로드 캐스터를 만드는 방법과 유용한 기능을 추가하는 방법에 대한 토론이 있습니다. 기사 Centralized Event Management in Actionscript 2.0에는 개념에 대한 좋은 소개가 있습니다.
관련 문제
- 1. 개인적이고 독립적 인 파이썬 환경을 만드는 가장 좋은 방법은 무엇입니까?
- 2. 독립적 인 프로젝트로 클라우드와 함께 플레이하는 가장 좋은 방법은 무엇입니까?
- 3. 수업을 전문화하는 방법에있어 가장 좋은 방법은 무엇입니까?
- 4. 플래시 (AS3)에 맞춤지도를 표시하는 가장 좋은 방법은 무엇입니까?
- 5. 아키텍처 설계를 전달하는 가장 좋은 방법은 무엇입니까?
- 6. 이미지를 서버로 전달하는 가장 좋은 방법은 무엇입니까?
- 7. 자원을 전달하는 가장 좋은 방법은 무엇입니까?
- 8. AS3 - 나는이 개 수업을
- 9. 플래시 CS4에 수업을 추가하려면 어떻게해야합니까?
- 10. SBO에 액세스하는 플랫폼 독립적 인 방법은 무엇입니까?
- 11. 독립적 인 복제 TADODataSet을 달성하는 방법은 무엇입니까?
- 12. 가장 좋은 방법은 파일을 함수에 전달하는 것입니다.
- 13. 두 개의 독립적 인 UIView간에 메시지 전달
- 14. 플래시 as3, 페이드 인/아웃 레이어링 문제
- 15. iPhone 앱에서 웹 사이트로 데이터를 전달하는 가장 좋은 방법은 무엇입니까?
- 16. 해상도 독립적 인 GWT 애플리케이션을 코딩하는 방법은 무엇입니까?
- 17. 데이터 독립적 인 UI로드 방법
- 18. 내 플래시 AS3 응용 프로그램을 데스크탑 응용 프로그램으로 만드는 가장 좋은 방법은 무엇입니까?
- 19. 일련의 독립적 인 일련의 코드 병렬화
- 20. 데이터베이스 개체를 turbogears WidgetList에 전달하는 가장 좋은 방법은 무엇입니까?
- 21. 마지막 오류를 맞춤 오류 리디렉션에 전달하는 가장 좋은 방법은 무엇입니까?
- 22. NavigationControllers간에 값/매개 변수를 전달하는 가장 좋은 방법은 무엇입니까?
- 23. 버튼 onClick을 주요 활동으로 다시 전달하는 가장 좋은 방법은 무엇입니까?
- 24. PHP에서 JavaScript로 2 차원 배열을 전달하는 가장 좋은 방법은 무엇입니까?
- 25. 함수에 대한 참조를 전달하는 가장 좋은 방법은 무엇입니까?
- 26. C 윈도우에서 스레드에 인수를 전달하는 가장 좋은 방법은 무엇입니까?
- 27. jQuery, DOM에서 변수를 전달하는 가장 좋은 방법은 무엇입니까?
- 28. 자바 스크립트에 서버 측 변수를 전달하는 가장 좋은 방법은 무엇입니까?
- 29. 이 일반적인 Solr 오류를 전달하는 가장 좋은 방법은 무엇입니까?
- 30. C에서 자식 개체를 부모 개체로 전달하는 가장 좋은 방법은 무엇입니까?
예를 들어 조금 더 설명 할 수 있었습니까 ?? 감사합니다 –
네, 가능하다면 설명해주십시오. 저도 관심사입니다. 감사합니다 - Katax –