33## 初始化框架
44
55``` typescript
6- // 参数为false则开启debug模式
7- es .Core .create (false );
6+ // 创建调试模式下的`Core`实例
7+ const core = es .Core .create ();
8+
9+ // 创建非调试模式下的`Core`实例
10+ const core = es .Core .create (false );
811```
912
1013## 分发帧事件
1114
1215``` typescript
13- // 放置于引擎每帧更新处
14- // dt为可选参数,传入引擎的deltaTime代替框架内的es.Time.deltaTime
16+ // dt 是一个可选参数,如果传入了 es.Time.deltaTime或者不传入参数,则代表使用框架的内置的时间差来更新游戏状态;
17+ // 如果传入了游戏引擎自带的 deltaTime,则代表使用该值来更新游戏状态。
18+ // 在 es.Core.update 方法中,会根据 dt 的值来计算时间戳信息,并更新全局管理器和当前场景的状态
1519es .Core .emitter .emit (es .CoreEvents .frameUpdated , dt );
1620```
1721
@@ -24,35 +28,47 @@ es.Core.emitter.emit(es.CoreEvents.frameUpdated, dt);
2428场景类需要继承框架中的 ` es.Scene `
2529
2630``` typescript
27- export class MainScene extends es .Scene {
28- /**
29- * 可重写方法,从contructor中调用这个函数
30- */
31- initialize() {
32- console .log (' initialize' );
31+ /** 示例场景 */
32+ export class MainScene extends Scene {
33+ constructor () {
34+ super ();
3335 }
3436
3537 /**
36- * 可重写方法。当Core将这个场景设置为活动场景时调用
37- */
38- onStart() {
39- console .log (' onStart' );
38+ * 初始化场景,添加实体和组件
39+ *
40+ * 这个方法会在场景被创建时被调用。我们在这个方法中创建了一个实体,
41+ * 并向它添加了一个SpriteRender组件和一个TransformMove组件。
42+ */
43+ public initialize() {
44+ // 创建一个实体
45+ let entity = this .createEntity (" Player" );
46+
47+ // 添加一个SpriteRender组件,用于显示实体的图像
48+ let spriteRender = entity .addComponent (new SpriteRender ());
49+ spriteRender .sprite = new es .Sprite (new es .Texture (" player.png" ));
50+
51+ // 添加一个TransformMove组件,用于移动实体
52+ let transformMove = entity .addComponent (new TransformMove ());
53+ transformMove .speed = 50 ;
4054 }
4155
4256 /**
43- * 可重写方法。当Core把这个场景从活动槽中移除时调用。
44- */
45- unload() {
46- console .log (' unload' );
57+ * 场景开始运行时执行的操作
58+ *
59+ * 这个方法会在场景开始运行时被调用。我们在这个方法中输出一条消息表示场景已经开始运行。
60+ */
61+ public onStart() {
62+ console .log (" MainScene has started!" );
4763 }
4864
4965 /**
50- * 可重写方法。
51- */
52- update() {
53- // 如果重写update方法 一定要调用该方法
54- // 不调用将导致实体无法加入/组件无法更新
55- super . update ( );
66+ * 场景被销毁时执行的操作
67+ *
68+ * 这个方法会在场景被销毁时被调用。我们在这个方法中输出一条消息表示场景已经被卸载。
69+ */
70+ public unload() {
71+ console . log ( " MainScene has been unloaded! " );
5672 }
5773}
5874```
0 commit comments