@safe-engine/cocos 2.1.2 → 2.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/app.js CHANGED
@@ -34,7 +34,7 @@ export async function startGame(defaultFont, { width, height }, option) {
34
34
  showFPS: false,
35
35
  frameRate: 60,
36
36
  id: 'gameCanvas',
37
- renderMode: 0,
37
+ renderMode: 2,
38
38
  ...(option || {}),
39
39
  }, function onStart() {
40
40
  // Pass true to enable retina display, disabled by default to improve performance
@@ -36,7 +36,7 @@ export declare class CircleCollider extends Collider<ColliderProps & CircleColli
36
36
  update(dt: any, draw: cc.DrawNode): void;
37
37
  }
38
38
  interface PolygonColliderProps extends BaseComponentProps<PolygonCollider> {
39
- points: Array<Vec2>;
39
+ points: Array<Vec2> | [number, number][];
40
40
  }
41
41
  export declare class PolygonCollider extends Collider<ColliderProps & PolygonColliderProps> {
42
42
  get points(): Vec2[];
@@ -1 +1 @@
1
- {"version":3,"file":"CollideComponent.d.ts","sourceRoot":"","sources":["../../src/collider/CollideComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAYnC,UAAU,aAAc,SAAQ,kBAAkB,CAAC,QAAQ,CAAC;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzB,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC5C,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC3C,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;CAC5C;AACD,qBAAa,QAAQ,CAAC,CAAC,GAAG,aAAa,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;IAC5D,YAAY,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAK;IACzC,cAAc,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,KAAK,CAAA;IAClC,YAAY,MAAA;IACZ,KAAK,EAAE,EAAE,CAAC,IAAI,CAAsB;IACpC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAsB;IAGvC,OAAO;IAKP,IAAI,KAAK;;;MAKR;CACF;AAED,UAAU,gBAAiB,SAAQ,kBAAkB,CAAC,WAAW,CAAC;IAChE,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AACD,qBAAa,WAAY,SAAQ,QAAQ,CAAC,aAAa,GAAG,gBAAgB,CAAC;IACzE,IAAI,IAAI,IAII,EAAE,CAAC,IAAI,CAFlB;IAED,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAGlB;IAED,MAAM,CAAC,EAAE,KAAA,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ;CA6B7B;AAED,UAAU,mBAAoB,SAAQ,kBAAkB,CAAC,cAAc,CAAC;IACtE,MAAM,EAAE,MAAM,CAAA;CACf;AACD,qBAAa,cAAe,SAAQ,QAAQ,CAAC,aAAa,GAAG,mBAAmB,CAAC;IAC/E,MAAM,CAAC,EAAE,KAAA,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ;CAuB7B;AAED,UAAU,oBAAqB,SAAQ,kBAAkB,CAAC,eAAe,CAAC;IACxE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;CACpB;AAED,qBAAa,eAAgB,SAAQ,QAAQ,CAAC,aAAa,GAAG,oBAAoB,CAAC;IACjF,IAAI,MAAM,IAAI,IAAI,EAAE,CAInB;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,EAExB;IAED,MAAM,CAAC,EAAE,KAAA,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ;CAqB7B;AAED,oBAAY,aAAa;IACvB,IAAI,IAAA;IACJ,KAAK,IAAA;IACL,IAAI,IAAA;IACJ,IAAI,IAAA;CACL;AASD,qBAAa,QAAQ;IACnB,UAAU,EAAE,QAAQ,CAAA;IACpB,UAAU,EAAE,QAAQ,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;IAClB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,eAAe,EAAE,OAAO,CAAA;IACxB,gBAAgB,EAAE,OAAO,CAAA;gBAEb,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ;IAsBpD,WAAW;IAeX,IAAI;CAyBL"}
1
+ {"version":3,"file":"CollideComponent.d.ts","sourceRoot":"","sources":["../../src/collider/CollideComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAYnC,UAAU,aAAc,SAAQ,kBAAkB,CAAC,QAAQ,CAAC;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzB,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC5C,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC3C,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;CAC5C;AACD,qBAAa,QAAQ,CAAC,CAAC,GAAG,aAAa,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;IAC5D,YAAY,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAK;IACzC,cAAc,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,KAAK,CAAA;IAClC,YAAY,MAAA;IACZ,KAAK,EAAE,EAAE,CAAC,IAAI,CAAsB;IACpC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAsB;IAGvC,OAAO;IAKP,IAAI,KAAK;;;MAKR;CACF;AAED,UAAU,gBAAiB,SAAQ,kBAAkB,CAAC,WAAW,CAAC;IAChE,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AACD,qBAAa,WAAY,SAAQ,QAAQ,CAAC,aAAa,GAAG,gBAAgB,CAAC;IACzE,IAAI,IAAI,IAII,EAAE,CAAC,IAAI,CAFlB;IAED,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAGlB;IAED,MAAM,CAAC,EAAE,KAAA,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ;CA6B7B;AAED,UAAU,mBAAoB,SAAQ,kBAAkB,CAAC,cAAc,CAAC;IACtE,MAAM,EAAE,MAAM,CAAA;CACf;AACD,qBAAa,cAAe,SAAQ,QAAQ,CAAC,aAAa,GAAG,mBAAmB,CAAC;IAC/E,MAAM,CAAC,EAAE,KAAA,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ;CAuB7B;AAED,UAAU,oBAAqB,SAAQ,kBAAkB,CAAC,eAAe,CAAC;IACxE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;CACzC;AAED,qBAAa,eAAgB,SAAQ,QAAQ,CAAC,aAAa,GAAG,oBAAoB,CAAC;IACjF,IAAI,MAAM,IAAI,IAAI,EAAE,CAUnB;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,EAExB;IAED,MAAM,CAAC,EAAE,KAAA,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ;CAoB7B;AAED,oBAAY,aAAa;IACvB,IAAI,IAAA;IACJ,KAAK,IAAA;IACL,IAAI,IAAA;IACJ,IAAI,IAAA;CACL;AASD,qBAAa,QAAQ;IACnB,UAAU,EAAE,QAAQ,CAAA;IACpB,UAAU,EAAE,QAAQ,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;IAClB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,eAAe,EAAE,OAAO,CAAA;IACxB,gBAAgB,EAAE,OAAO,CAAA;gBAEb,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ;IAsBpD,WAAW;IAeX,IAAI;CAyBL"}
@@ -94,9 +94,16 @@ export class CircleCollider extends Collider {
94
94
  }
95
95
  export class PolygonCollider extends Collider {
96
96
  get points() {
97
- const [x, y] = this.props.offset || [0, 0];
98
- const pointsList = this.props.points.map((p) => Vec2(p.x + x, p.y + y));
99
- return pointsList;
97
+ const { points = [], offset = [0, 0] } = this.props;
98
+ const [x, y] = offset || [0, 0];
99
+ const { width, height } = this.node.contentSize;
100
+ const { scaleX, scaleY, anchorX, anchorY } = this.node;
101
+ const fixedPoints = points.map((p) => {
102
+ if (p.x)
103
+ return Vec2(p.x + x - width * anchorX * scaleX, -p.y + y + height * scaleY * anchorY);
104
+ return Vec2(p[0] + x - width * anchorX * scaleX, -p[1] + y + height * scaleY * anchorY);
105
+ });
106
+ return fixedPoints;
100
107
  }
101
108
  set points(points) {
102
109
  this.props.points = points;
@@ -120,7 +127,6 @@ export class PolygonCollider extends Collider {
120
127
  this._AABB.width = getMax(listX) - this._AABB.x;
121
128
  this._AABB.height = getMax(listY) - this._AABB.y;
122
129
  // draw.drawRect(cc.p(this._AABB.x, this._AABB.y), cc.p(max(listX), max(listY)),
123
- // cc.Color.WHITE, 3, cc.Color.DEBUG_BORDER_COLOR);
124
130
  }
125
131
  }
126
132
  export var CollisionType;
@@ -1 +1 @@
1
- {"version":3,"file":"CollideSystem.d.ts","sourceRoot":"","sources":["../../src/collider/CollideSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAc,MAAM,EAAE,MAAM,YAAY,CAAA;AAI5E,OAAO,EAA+B,QAAQ,EAAiB,QAAQ,EAAmB,MAAM,oBAAoB,CAAA;AAEpH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,WAQ5D;AAED,qBAAa,aAAc,YAAW,MAAM;IAC1C,aAAa,EAAE,QAAQ,EAAE,CAAK;IAC9B,UAAU,EAAE,QAAQ,EAAE,CAAK;IAC3B,eAAe,QAAK;IACpB,aAAa,EAAE,EAAE,CAAC,QAAQ,CAAA;IAC1B,gBAAgB,UAAQ;IACxB,OAAO,UAAO;IACd,cAAc,cAAW;IAEzB,SAAS,CAAC,aAAa,EAAE,YAAY;IASrC,OAAO,CAAC,aAAa,CASpB;IAED,OAAO,CAAC,gBAAgB,CAEvB;IAED,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM;IA2GhE,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAS9B,cAAc,CAAC,QAAQ,EAAE,QAAQ;IAIjC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK;IAK3B,eAAe,CAAC,MAAM,UAAO;CAI9B"}
1
+ {"version":3,"file":"CollideSystem.d.ts","sourceRoot":"","sources":["../../src/collider/CollideSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAc,MAAM,EAAE,MAAM,YAAY,CAAA;AAI5E,OAAO,EAA+B,QAAQ,EAAiB,QAAQ,EAAmB,MAAM,oBAAoB,CAAA;AAEpH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,WAQ5D;AAED,qBAAa,aAAc,YAAW,MAAM;IAC1C,aAAa,EAAE,QAAQ,EAAE,CAAK;IAC9B,UAAU,EAAE,QAAQ,EAAE,CAAK;IAC3B,eAAe,QAAK;IACpB,aAAa,EAAE,EAAE,CAAC,QAAQ,CAAA;IAC1B,gBAAgB,UAAQ;IACxB,OAAO,UAAO;IACd,cAAc,cAAW;IAEzB,SAAS,CAAC,aAAa,EAAE,YAAY;IASrC,OAAO,CAAC,aAAa,CASpB;IAED,OAAO,CAAC,gBAAgB,CAEvB;IAED,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM;IA2GhE,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAS9B,cAAc,CAAC,QAAQ,EAAE,QAAQ;IAIjC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK;IAI3B,eAAe,CAAC,MAAM,UAAO;CAI9B"}
@@ -157,8 +157,7 @@ export class CollideSystem {
157
157
  }
158
158
  addDebugNode(root) {
159
159
  this.debugGraphics = new cc.DrawNode();
160
- this.debugGraphics.zIndex = 1000;
161
- root.addChild(this.debugGraphics);
160
+ root.addChild(this.debugGraphics, 1000);
162
161
  }
163
162
  toggleDebugDraw(enable = true) {
164
163
  this.enabledDebugDraw = enable;
@@ -48,6 +48,10 @@ export type Size = _Size;
48
48
  export declare function Size(x?: number, y?: number): Size;
49
49
  export declare class Touch extends cc.Touch {
50
50
  getLocation: () => Vec2;
51
+ getDelta: () => Vec2;
52
+ getPreviousLocation: () => Vec2;
53
+ getStartLocation: () => Vec2;
54
+ getLocationInView: () => Vec2;
51
55
  }
52
56
  export declare function getWinSize(): Size;
53
57
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"polyfills.d.ts","sourceRoot":"","sources":["../src/polyfills.ts"],"names":[],"mappings":"AAOA,cAAM,KAAK;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,MAAM,CAAC,IAAI,MAAA;gBACC,CAAC,GAAE,MAAM,GAAG,MAAU,EAAE,CAAC,SAAI;IAazC,MAAM,CAAC,KAAK,EAAE,KAAK;IAInB,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK;IAIlC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK;IAOtC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK;IAIlC,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK;IAI5B,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK;IAOhC,GAAG,IAAI,MAAM;IAIb,aAAa,IAAI,KAAK;IAOtB,SAAS,IAAI,KAAK;IAIX,KAAK,CAAC,KAAK,EAAE,IAAI;IAGjB,SAAS,CAAC,KAAK,EAAE,IAAI;IAIrB,SAAS;IAGT,GAAG,CAAC,KAAK,EAAE,IAAI;IAGf,KAAK,CAAC,KAAK,EAAE,IAAI;IAcjB,QAAQ,CAAC,KAAK,EAAE,KAAK;CAG7B;AACD,MAAM,MAAM,IAAI,GAAG,KAAK,CAAA;AACxB,wBAAgB,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAE1D;yBAFe,IAAI;;;AAMpB,oBAAY,UAAU;IACpB,MAAM,IAAA;IACN,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,IAAI,IAAA;CACL;AAED,eAAO,MAAM,GAAG,UAA0B,CAAA;AAC1C,eAAO,MAAM,KAAK,UAAwB,CAAA;AAC1C,eAAO,MAAM,KAAK,UAA8B,CAAA;AAChD,eAAO,MAAM,KAAK,UAA0B,CAAA;AAC5C,eAAO,MAAM,IAAI,UAA0B,CAAA;AAY3C,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,YAEjE;AACD,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAA;AAEhD,cAAM,KAAK;IACT,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,IAAI,MAAA;gBACC,KAAK,SAAI,EAAE,MAAM,SAAI;CAWlC;AAED,MAAM,MAAM,IAAI,GAAG,KAAK,CAAA;AACxB,wBAAgB,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAEjD;AAED,qBAAa,KAAM,SAAQ,EAAE,CAAC,KAAK;IACzB,WAAW,EAAE,MAAM,IAAI,CAAA;CAChC;AAED,wBAAgB,UAAU,IAAI,IAAI,CAEjC"}
1
+ {"version":3,"file":"polyfills.d.ts","sourceRoot":"","sources":["../src/polyfills.ts"],"names":[],"mappings":"AAOA,cAAM,KAAK;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,MAAM,CAAC,IAAI,MAAA;gBACC,CAAC,GAAE,MAAM,GAAG,MAAU,EAAE,CAAC,SAAI;IAazC,MAAM,CAAC,KAAK,EAAE,KAAK;IAInB,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK;IAIlC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK;IAOtC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK;IAIlC,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK;IAI5B,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK;IAOhC,GAAG,IAAI,MAAM;IAIb,aAAa,IAAI,KAAK;IAOtB,SAAS,IAAI,KAAK;IAIX,KAAK,CAAC,KAAK,EAAE,IAAI;IAGjB,SAAS,CAAC,KAAK,EAAE,IAAI;IAIrB,SAAS;IAGT,GAAG,CAAC,KAAK,EAAE,IAAI;IAGf,KAAK,CAAC,KAAK,EAAE,IAAI;IAcjB,QAAQ,CAAC,KAAK,EAAE,KAAK;CAG7B;AACD,MAAM,MAAM,IAAI,GAAG,KAAK,CAAA;AACxB,wBAAgB,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAE1D;yBAFe,IAAI;;;AAMpB,oBAAY,UAAU;IACpB,MAAM,IAAA;IACN,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,IAAI,IAAA;CACL;AAED,eAAO,MAAM,GAAG,UAA0B,CAAA;AAC1C,eAAO,MAAM,KAAK,UAAwB,CAAA;AAC1C,eAAO,MAAM,KAAK,UAA8B,CAAA;AAChD,eAAO,MAAM,KAAK,UAA0B,CAAA;AAC5C,eAAO,MAAM,IAAI,UAA0B,CAAA;AAY3C,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,YAEjE;AACD,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAA;AAEhD,cAAM,KAAK;IACT,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,IAAI,MAAA;gBACC,KAAK,SAAI,EAAE,MAAM,SAAI;CAWlC;AAED,MAAM,MAAM,IAAI,GAAG,KAAK,CAAA;AACxB,wBAAgB,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAEjD;AAED,qBAAa,KAAM,SAAQ,EAAE,CAAC,KAAK;IACzB,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,mBAAmB,EAAE,MAAM,IAAI,CAAA;IAC/B,gBAAgB,EAAE,MAAM,IAAI,CAAA;IAC5B,iBAAiB,EAAE,MAAM,IAAI,CAAA;CACtC;AAED,wBAAgB,UAAU,IAAI,IAAI,CAEjC"}
package/dist/polyfills.js CHANGED
@@ -102,7 +102,7 @@ export const BLACK = Color4B(0, 0, 0, 255);
102
102
  export const WHITE = Color4B(255, 255, 255, 255);
103
103
  export const GREEN = Color4B(0, 255, 0, 255);
104
104
  export const BLUE = Color4B(0, 0, 255, 255);
105
- cc.Color.DEBUG_FILL_COLOR = cc.color(255, 255, 0, 150);
105
+ cc.Color.DEBUG_FILL_COLOR = cc.color(255, 255, 0, 48);
106
106
  cc.Color.DEBUG_BORDER_COLOR = cc.color(255, 0, 0, 255);
107
107
  cc.Color.prototype.fromHEX = cc.hexToColor;
108
108
  cc.Intersection = {
@@ -4,14 +4,24 @@ import { BaseComponentProps, ColorSource } from '../safex';
4
4
  export declare class NodeRender extends ComponentX {
5
5
  nodeName: string;
6
6
  }
7
+ declare enum SpriteTypes {
8
+ SIMPLE = 0,
9
+ SLICED = 1,
10
+ TILED = 2,
11
+ FILLED = 3,
12
+ MESH = 4,
13
+ ANIMATION = 5
14
+ }
7
15
  interface SpriteRenderProps {
8
16
  spriteFrame: string;
9
17
  texType?: number;
10
- type?: number;
18
+ type?: SpriteTypes;
19
+ capInsets: cc.Rect;
11
20
  }
12
21
  export declare class SpriteRender extends ComponentX<SpriteRenderProps & BaseComponentProps<SpriteRender>, cc.Sprite> {
13
22
  get spriteFrame(): string;
14
23
  set spriteFrame(frame: string);
24
+ updateTiled(): void;
15
25
  }
16
26
  interface MaskRenderProps {
17
27
  type?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"RenderComponent.d.ts","sourceRoot":"","sources":["../../src/render/RenderComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAU,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE1D,qBAAa,UAAW,SAAQ,UAAU;IACxC,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,iBAAiB;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,qBAAa,YAAa,SAAQ,UAAU,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC;IAC3G,IAAI,WAAW,WAEd;IAED,IAAI,WAAW,CAAC,KAAK,QAAA,EAepB;CACF;AACD,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AACD,qBAAa,UAAW,SAAQ,UAAU,CAAC,eAAe,EAAE,EAAE,CAAC,YAAY,CAAC;CAAG;AAE/E,UAAU,iBAAiB;IACzB,SAAS,EAAE,MAAM,CAAA;CAClB;AACD,qBAAa,YAAa,SAAQ,UAAU,CAAC,iBAAiB,EAAE,EAAE,CAAC,cAAc,CAAC;CAAG;AAErF,UAAU,mBAAmB;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,SAAS,CAAC,EAAE,WAAW,CAAA;CACxB;AAED,qBAAa,cAAe,SAAQ,UAAU,CAAC,mBAAmB,GAAG,kBAAkB,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC;IACnH,OAAO,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,CAAC,KAAA;IASf,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,OAAO;IAG5E,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO;IAMzD,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,SAAI,EAAE,QAAQ,SAAK,EAAE,gBAAgB,UAAO,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,OAAO;IAyB7H,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,KAAK;IAe3D,KAAK;CAKN;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,QAAS,SAAQ,UAAU,CAAC,aAAa,GAAG;IAAE,IAAI,CAAC,EAAE,QAAQ,CAAA;CAAE,EAAE,EAAE,CAAC,WAAW,CAAC;CAAG"}
1
+ {"version":3,"file":"RenderComponent.d.ts","sourceRoot":"","sources":["../../src/render/RenderComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAU,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE1D,qBAAa,UAAW,SAAQ,UAAU;IACxC,QAAQ,EAAE,MAAM,CAAA;CACjB;AACD,aAAK,WAAW;IACd,MAAM,IAAA;IACN,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,IAAI,IAAA;IACJ,SAAS,IAAA;CACV;AACD,UAAU,iBAAiB;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,SAAS,EAAE,EAAE,CAAC,IAAI,CAAA;CACnB;AAED,qBAAa,YAAa,SAAQ,UAAU,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC;IAC3G,IAAI,WAAW,WAEd;IAED,IAAI,WAAW,CAAC,KAAK,QAAA,EAKpB;IACD,WAAW;CAGZ;AACD,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AACD,qBAAa,UAAW,SAAQ,UAAU,CAAC,eAAe,EAAE,EAAE,CAAC,YAAY,CAAC;CAAG;AAE/E,UAAU,iBAAiB;IACzB,SAAS,EAAE,MAAM,CAAA;CAClB;AACD,qBAAa,YAAa,SAAQ,UAAU,CAAC,iBAAiB,EAAE,EAAE,CAAC,cAAc,CAAC;CAAG;AAErF,UAAU,mBAAmB;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,SAAS,CAAC,EAAE,WAAW,CAAA;CACxB;AAED,qBAAa,cAAe,SAAQ,UAAU,CAAC,mBAAmB,GAAG,kBAAkB,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC;IACnH,OAAO,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,CAAC,KAAA;IASf,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,OAAO;IAG5E,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO;IAMzD,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,SAAI,EAAE,QAAQ,SAAK,EAAE,gBAAgB,UAAO,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,OAAO;IAyB7H,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,KAAK;IAe3D,KAAK;CAKN;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,QAAS,SAAQ,UAAU,CAAC,aAAa,GAAG;IAAE,IAAI,CAAC,EAAE,QAAQ,CAAA;CAAE,EAAE,EAAE,CAAC,WAAW,CAAC;CAAG"}
@@ -2,6 +2,15 @@ import { ComponentX, render } from '../core/decorator';
2
2
  export class NodeRender extends ComponentX {
3
3
  nodeName;
4
4
  }
5
+ var SpriteTypes;
6
+ (function (SpriteTypes) {
7
+ SpriteTypes[SpriteTypes["SIMPLE"] = 0] = "SIMPLE";
8
+ SpriteTypes[SpriteTypes["SLICED"] = 1] = "SLICED";
9
+ SpriteTypes[SpriteTypes["TILED"] = 2] = "TILED";
10
+ SpriteTypes[SpriteTypes["FILLED"] = 3] = "FILLED";
11
+ SpriteTypes[SpriteTypes["MESH"] = 4] = "MESH";
12
+ SpriteTypes[SpriteTypes["ANIMATION"] = 5] = "ANIMATION";
13
+ })(SpriteTypes || (SpriteTypes = {}));
5
14
  export class SpriteRender extends ComponentX {
6
15
  get spriteFrame() {
7
16
  return this.props.spriteFrame;
@@ -11,16 +20,9 @@ export class SpriteRender extends ComponentX {
11
20
  if (this.node && this.node.instance instanceof cc.Sprite) {
12
21
  this.node.instance.setTexture(frame);
13
22
  }
14
- // } else if (this.node.instance instanceof ccui.ImageView) {
15
- // if (this.texType) {
16
- // this.node.instance.loadTexture(frame, this.texType)
17
- // } else {
18
- // this.node.instance.loadTexture(frame)
19
- // }
20
- // const sprite = new cc.Sprite(frame)
21
- // this.node.setContentSize(sprite.getContentSize())
22
- // } else if (this.node.instance instanceof ccui.Button) {
23
- // this.node.instance.loadTextureNormal(frame)
23
+ }
24
+ updateTiled() {
25
+ // effect to native only
24
26
  }
25
27
  }
26
28
  export class MaskRender extends ComponentX {
@@ -1 +1 @@
1
- {"version":3,"file":"RenderSystem.d.ts","sourceRoot":"","sources":["../../src/render/RenderSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAoC,MAAM,EAAE,MAAM,YAAY,CAAA;AAMlG,oBAAY,WAAW;IACrB,MAAM,IAAA;IACN,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,IAAI,IAAA;IACJ,SAAS,IAAA;CACV;AAED,qBAAa,YAAa,YAAW,MAAM;IACzC,SAAS,CAAC,aAAa,EAAE,YAAY;IAUrC,OAAO,CAAC,eAAe,CAKtB;IAED,OAAO,CAAC,iBAAiB,CAOxB;IAED,OAAO,CAAC,eAAe,CAKtB;IAED,OAAO,CAAC,mBAAmB,CAQ1B;IAED,OAAO,CAAC,iBAAiB,CAKxB;IAED,OAAO,CAAC,aAAa,CAKpB;IAED,OAAO,CAAC,iBAAiB,CAKxB;IAED,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM;CAIjE"}
1
+ {"version":3,"file":"RenderSystem.d.ts","sourceRoot":"","sources":["../../src/render/RenderSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAoC,MAAM,EAAE,MAAM,YAAY,CAAA;AAOlG,oBAAY,WAAW;IACrB,MAAM,IAAA;IACN,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,IAAI,IAAA;IACJ,SAAS,IAAA;CACV;AAED,qBAAa,YAAa,YAAW,MAAM;IACzC,SAAS,CAAC,aAAa,EAAE,YAAY;IAUrC,OAAO,CAAC,eAAe,CAKtB;IAED,OAAO,CAAC,iBAAiB,CAOxB;IAED,OAAO,CAAC,eAAe,CAKtB;IAED,OAAO,CAAC,mBAAmB,CAQ1B;IAED,OAAO,CAAC,iBAAiB,CAKxB;IAED,OAAO,CAAC,aAAa,CAKpB;IAED,OAAO,CAAC,iBAAiB,CAKxB;IAED,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM;CAIjE"}
@@ -2,6 +2,7 @@ import { EventTypes } from 'entityx-ts';
2
2
  import { NodeComp } from '../core/NodeComp';
3
3
  import { BLUE, RED } from '../polyfills';
4
4
  import { GraphicsRender, MaskRender, NodeRender, ParticleComp, SpriteRender, TiledMap } from './RenderComponent';
5
+ import { TiledSprite } from './TiledSprite';
5
6
  export var SpriteTypes;
6
7
  (function (SpriteTypes) {
7
8
  SpriteTypes[SpriteTypes["SIMPLE"] = 0] = "SIMPLE";
@@ -28,10 +29,10 @@ export class RenderSystem {
28
29
  nodeRenderComp.node = ett.assign(new NodeComp(node, ett));
29
30
  };
30
31
  onAddSpriteRender = ({ entity, component: spriteComp }) => {
31
- const { spriteFrame } = spriteComp.props;
32
+ const { spriteFrame, type } = spriteComp.props;
32
33
  const frame = cc.spriteFrameCache.getSpriteFrame(spriteFrame);
33
34
  // console.log('frame', spriteFrame, frame)
34
- const node = new cc.Sprite(frame || spriteFrame);
35
+ const node = type === SpriteTypes.TILED ? new TiledSprite({ texture: spriteFrame }) : new cc.Sprite(frame || spriteFrame);
35
36
  const ett = entity;
36
37
  spriteComp.node = ett.assign(new NodeComp(node, ett));
37
38
  };
@@ -0,0 +1,7 @@
1
+ export declare const SharedSpritesManager: {
2
+ isLoaded: boolean;
3
+ assets: {};
4
+ loadAssetsOnce: (texPngUrl: any) => Promise<unknown>;
5
+ };
6
+ export declare const TiledSprite: any;
7
+ //# sourceMappingURL=TiledSprite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TiledSprite.d.ts","sourceRoot":"","sources":["../../src/render/TiledSprite.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;CAgBhC,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,GAgExB,CAAA"}
@@ -0,0 +1,74 @@
1
+ export const SharedSpritesManager = {
2
+ isLoaded: false,
3
+ assets: {},
4
+ loadAssetsOnce: function (texPngUrl) {
5
+ if (this.assets[texPngUrl]) {
6
+ return;
7
+ }
8
+ return new Promise((resolve) => {
9
+ const loader = new PIXI.Loader();
10
+ loader.add(texPngUrl).load((loader, resources) => {
11
+ this.assets[texPngUrl] = resources[texPngUrl].texture;
12
+ resolve(this.assets[texPngUrl]);
13
+ });
14
+ });
15
+ },
16
+ };
17
+ export const TiledSprite = cc.Sprite.extend({
18
+ _tilingSprite: null,
19
+ ctor: function (config) {
20
+ this._super();
21
+ this._canvas = document.createElement('canvas');
22
+ this._canvas.width = config.width || 1024;
23
+ this._canvas.height = config.height || 1024;
24
+ this._pixiApp = new PIXI.Application({
25
+ view: this._canvas,
26
+ width: this._canvas.width,
27
+ height: this._canvas.height,
28
+ backgroundAlpha: 0, // nền trong suốt
29
+ transparent: true, // bắt buộc để alpha hoạt động
30
+ clearBeforeRender: true, // xoá trước khi vẽ frame mới
31
+ preserveDrawingBuffer: true, // giúp lấy ảnh từ canvas
32
+ antialias: true,
33
+ });
34
+ this._texture = new cc.Texture2D();
35
+ this._texture.initWithElement(this._canvas);
36
+ this._texture.handleLoadedTexture();
37
+ this.initWithTexture(this._texture);
38
+ this._config = config;
39
+ this._tilingSprite = null;
40
+ SharedSpritesManager.loadAssetsOnce(config.texture).then(() => {
41
+ const texture = PIXI.Texture.from(config.texture);
42
+ this._tilingSprite = new PIXI.TilingSprite(texture, config.width, config.height);
43
+ this._pixiApp.stage.addChild(this._tilingSprite);
44
+ this._updateRepeat();
45
+ });
46
+ // this.schedule(this._updateRepeat, 1)
47
+ },
48
+ setContentSize: function (size, height) {
49
+ // console.log('setContentSize', size, height)
50
+ this._super(size, height);
51
+ this._updateRepeat();
52
+ },
53
+ setScale: function (scaleX, scaleY) {
54
+ this._super(scaleX, scaleY);
55
+ this._updateRepeat();
56
+ },
57
+ _updateRepeat: function () {
58
+ if (this._tilingSprite) {
59
+ this._tilingSprite.width = this.width;
60
+ this._tilingSprite.height = this.height;
61
+ this._pixiApp.renderer.render(this._pixiApp.stage);
62
+ this._texture.initWithElement(this._canvas);
63
+ this._texture.handleLoadedTexture();
64
+ // console.log('_texture', this._texture)
65
+ this.setTexture(this._texture);
66
+ }
67
+ },
68
+ onExit: function () {
69
+ // this.unschedule(this.updateTexture);
70
+ this._pixiApp.destroy(true, { children: true });
71
+ this._canvas.remove();
72
+ this._super();
73
+ },
74
+ });
@@ -9,7 +9,7 @@ export class RichTextComp extends ComponentX {
9
9
  this.props.string = val;
10
10
  if (this.node.instance instanceof ccui.RichText) {
11
11
  const newTextArray = _htmlTextParser.parse(val);
12
- console.log(newTextArray);
12
+ // console.log(newTextArray)
13
13
  this.node.instance._richElements = [];
14
14
  this.node.instance._formatTextDirty = true;
15
15
  this.node.instance.formatText();
@@ -19,7 +19,7 @@ export class RichTextComp extends ComponentX {
19
19
  const fontName = cc.path.basename(this.props.font, '.ttf');
20
20
  const richText = ccui.RichElementText.create(index, color, 255, text, fontName, this.props.size || 64);
21
21
  // if (style && style.newline) {
22
- console.log('richText', richText);
22
+ // console.log('richText', richText)
23
23
  // this.node.instance._addNewLine()
24
24
  // }
25
25
  this.node.instance.pushBackElement(richText);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@safe-engine/cocos",
3
- "version": "2.1.2",
3
+ "version": "2.1.4",
4
4
  "description": "safe-engine with cocos renderer support",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",