현재 빌더 패턴으로 내 wyz를 생성합니다
Entities
와이즈 비즈 때문에
클래스는 엔티티를 확장하는 다른 클래스로 엔티티를 캐스트하는 것을 지원하지 않았습니다. 예
PooledEngine engine = new PooledEngine();
...
CharacterComponent character = engine.createComponent(CharacterComponent.class);
TextureComponent texture = engine.createComponent(TextureComponent.class);
SizeComponent size = engine.createComponent(SizeComponent.class);
TransformComponent transform = engine.createComponent(TransformComponent.class);
PhysicsComponent physics = engine.createComponent(PhysicsComponent.class);
Entity entity = engine.createEntity();
entity.flag = Constants.CHARACTER;
entity.add(character);
entity.add(texture);
entity.add(size);
entity.add(transform);
entity.add(physics);
engine.addEntity(entity);
, 이러한 구성 요소를 단일 클래스로 어떻게 래핑해야하는지 열심히 생각하고 있습니다.
목표
PooledEngine
engine.createEntity(Character.class);
-
답변 # 1
캐릭터 클래스를 생성하여 Entity-Component-System을 사용하려는 목적을 완전히 물리 치고 있습니다. ECS 아키텍처의 기본 요소는 데이터 (구성 요소)와 논리 (시스템)의 분리/분리입니다. 해야 할 일은 공격 및 이동 논리를 처리 할 별도의 시스템을 만드는 것입니다.
이 두 기사를 읽으면 ECS 아키텍처와 사용 방법을 더 잘 이해하는 데 도움이됩니다.
게임 개발을위한 엔티티 시스템 프레임 워크 란 무엇입니까?
게임 개발에 엔티티 시스템 프레임 워크를 사용해야하는 이유