주 루프를 하나 사용하고 스테이지에서 개별 개체를 제어하는 데있어 주 클래스가 갖는 장점과 단점은 무엇입니까? 그 자체로해야 할 일을하는 책임. 가장 좋은 방법은 무엇입니까?여러 루프가있는 장점과 단점
답변
"루프"가 반드시 여기에 적합한 용어인지는 잘 모릅니다.
많은 클래스 (대부분의 주요 시각적 요소는 자체 내부 논리로 고유 한 클래스를 가짐)가있는 것과 달리 모든 것을 제어하는 단일 DocumentClass를 갖는 것에 대해 이야기하고 있다면 어느 정도는 개인의 취향. 그러나 일반적으로 가능한 한 우려를 분리하는 것이 좋습니다.
주 문서가있는 경우 플레이어와 적 몬스터라는 두 개의 문자가있는 경우 문서에 코드를 모두 쓰고 싶지는 않습니다. 대신 플레이어와 몬스터가 각각 자신의 내부 코드를 갖기를 원합니다. 그런 식으로 나중에 다른 괴물을 추가하는 것은 쉽습니다. 예를 들어 말이 되겠습니까?
각 몬스터에 대해 복잡한 로직을 모두 두 번 쓰는 대신 몬스터 클래스를 만든 다음 무대에 백만 개를 놓아도 항상 같은 방식으로 반응한다는 것을 알게됩니다. 코드를 한 번만 작성하면됩니다.
의미가 있습니까? 그것은 일종의 모호한 질문이지만, "프로그래머의"접근법을 원한다면 가능한 한 적은 양의 코드를 작성하는 것이 가장 좋습니다. 플래시 아키텍처의 경우, 이는 코드를 가장 효율적으로 재사용 할 수있는 곳에서 코드를 사용하게하는 것을 의미합니다.
도움이 되길 바랍니다!
C# 용 XNA 프레임 워크에서 사용되는 모델을 복사하는 경향이 있습니다. 즉, 하나의 주요 업데이트 루프가있는 클래스가 있습니다. 그런 다음 모든 엔티티를 반복하고 업데이트 루프를 호출합니다.
단일 메인 루프를 사용하면 일시 중지/일시 중지 해제 기능을 쉽게 추가 할 수 있습니다. 일반적으로 비 - 플래시 게임 엔진은 단일 메인 게임 루프를 갖는다. 개별 객체는 메인 루프에서 호출되는 update()
및 draw()
함수를가집니다.
다음은 Flash의 개념에 대한 설명입니다. Pause Your Game in Flash AS3.
- 1. 웹 서비스의 장점과 단점
- 2. gwt + grail .. 장점과 단점
- 3. Phonegap의 장점과 단점
- 4. DFC와 DFS의 장점과 단점?
- 5. WCF를 통한 Axis2의 장점과 단점
- 6. 파이썬 : _mysql과 MySQLdb의 장점과 단점?
- 7. 장점과 단점 ASP.NET 로그인 컨트롤?
- 8. Java EE와 서블릿의 장점과 단점
- 9. 체인 가능한 방법의 장점과 단점?
- 10. 다중 값 데이터베이스의 장점과 단점
- 11. 엔터프라이즈 라이브러리를 사용할 때의 장점과 단점
- 12. MySQL 아카이브 스토리지 엔진의 장점과 단점?
- 13. Ruby on Rails 다형성 관계의 장점과 단점
- 14. 컨트롤에 DoubleBuffer를 사용할 때의 장점과 단점
- 15. 컨테이너 관리 EJB를 사용할 때의 장점과 단점
- 16. Socket.io 모듈과 Node.js 대 XMPP - 장점과 단점
- 17. XML 구문 분석기 및 장점과 단점
- 18. 장점과 C#에서이 키워드를 사용하는 단점
- 19. 장점과
- 20. 끈끈한 세션/세션의 장점과 단점 친밀로드 blancing 전략?
- 21. Slick 대 Sizzle - CSS 선택기 엔진의 장점과 단점
- 22. 웹 응용 프로그램에서 응용 프로그램 변수를 사용할 때의 장점과 단점
- 23. Oracle 씬 드라이버 대 OCI 드라이버. 장점과 단점?
- 24. 닷넷/C 번호 -를 GAC를 사용하여 장점과 단점
- 25. MVC 디자인 패턴 (모델 뷰 컨트롤러)의 장점과 단점
- 26. 선택 어린이 애플 리케이션 엔진 데이터 스토어에서 가지 - 장점과 단점
- 27. C에서 한 번 더 문자열 구현 : 장점과 단점
- 28. 장점과 DAL
- 29. 단점
- 30. 애니메이션에 raphaeljs 루프가있는 문제
나는 당신의 말을 보았습니다. 그러나 나는 모든 논리를 주 수업에 붙이지 않을 것이다. 나는 각 객체의 모든 행동을 자신의 클래스에 넣을 것이다. 그러나 나는 하나의 중앙 집중식 루프에서 그들의 행동을 호출하는 것이 더 쉬울 것이라고 생각했습니다. 이렇게하면 게임을 중지하거나 일시 중지하거나 재설정 할 수 있습니다. 모든 것이 한 번에 중단됩니다. 루프가 개별 표시 객체 안에 모두 캡슐화되어있을 때 루프를 추적하는 것은 매우 어렵습니다. – numerical25
제가 생각하기에, 당신이 사용할 수있는 한 가지 방법은 LoopManager 클래스를 작성하고이를 Singleton으로 구현하는 것입니다. 즉, LoopManager의 인스턴스는 하나 뿐이며 다양한 객체 모두에 대한 참조가 있습니다. 그런 다음 루프가 시작되면 LoopManager에 루프를 등록 할 수 있습니다. 루프를 중지해야하는 경우 LoopManager.pauseAll()과 같은 작업을 수행하면 설정됩니다. 그 방법은 하나뿐입니다. 당신이하는 일에 따라 가장 좋은 방법과는 거리가 멀 수도 있습니다. Google "AS3 Singleton Pattern"에 익숙하지 않은 경우 – Myk
그건 의미가 있습니다. 확실히 영리합니다. 나는 그것을 조사해야 할 것이다. 루프를 위해 싱글 톤을 만드는 누군가는 들어 보지 못했습니다. 하지만 똑똑해 보인다. – numerical25