Artemis ECS 框架入门介绍文档提纲
本文最后更新于6 天前,其中的信息可能已经过时,如有错误请发送邮件到nanshaws360@gmail.com

1. 简介

  • 什么是ECS架构:介绍实体组件系统(ECS)架构的基本概念,强调它在游戏开发中的优势,如模块化、易扩展和性能优化。
  • 什么是Artemis:简述Artemis作为ECS框架的角色和特点,适合哪些场景。

2. 核心概念

  • 实体(Entity):解释实体是一个唯一的ID,用来关联组件的集合。
  • 组件(Component):介绍组件是纯数据结构,用于存储实体的属性和状态。
  • 系统(System):介绍系统是处理逻辑的地方,通过组件的组合来选择和处理实体。

3. Artemis中的World初始化

  • 什么是World:解释World是Artemis的核心管理类,负责所有实体、组件和系统的生命周期管理。
  • 初始化流程
    • 创建WorldConfiguration对象。
    • 注册系统到WorldConfiguration中。
    • 初始化World,系统的Mapper自动生成。

4. 实体的操作

  • 创建实体:如何通过World.createEntity()方法创建一个新实体。
  • 销毁实体:如何销毁实体,以及为什么销毁实体是必要的。

5. 组件的操作

  • 创建组件:定义和创建一个简单的组件。
  • 添加组件到实体:如何将组件添加到实体,addComponent()的使用。
  • 获取组件:通过MappergetComponent()方法从实体中获取组件。

6. 系统的操作

  • 创建系统:介绍如何创建一个简单的系统,例如EntityProcessingSystem
  • 系统中获取Mapper:使用@Wire注解注入Mapper,让系统能够获取组件。
  • 系统的执行流程World.process()如何调用系统,系统按顺序执行其处理逻辑。

7. 组件和系统的关系

  • 系统如何选择实体:解释系统根据特定的组件组合来选择要处理的实体。
  • 组件变化对系统的影响:如何通过添加或移除组件影响实体在系统中的处理逻辑。

8. 订阅组件

  • 订阅组件的概念:解释订阅组件是一种机制,可以让系统或实体对组件的添加、移除或变化作出响应。
  • 如何订阅组件:介绍如何使用ComponentMapperAspectSubscriptionManager来订阅组件的变化。
  • 订阅组件的实现
    • 创建一个系统,继承EntitySubscriptionListener接口。
    • 在系统中覆盖insertedremoved方法,以响应组件的添加和移除事件。
    • World配置中注册系统,并确保系统能正确地订阅到感兴趣的组件变化。
文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇