melonjs 10.3.0 → 10.5.1
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/README.md +6 -6
- package/dist/melonjs.js +3147 -3293
- package/dist/melonjs.min.js +4 -4
- package/dist/melonjs.module.d.ts +3411 -3852
- package/dist/melonjs.module.js +3448 -3210
- package/package.json +18 -17
- package/src/audio/audio.js +29 -30
- package/src/camera/camera2d.js +46 -56
- package/src/entity/entity.js +30 -36
- package/src/game.js +21 -22
- package/src/geometries/ellipse.js +40 -46
- package/src/geometries/line.js +9 -11
- package/src/geometries/poly.js +53 -53
- package/src/geometries/rectangle.js +42 -44
- package/src/index.js +9 -26
- package/src/input/gamepad.js +11 -10
- package/src/input/input.js +2 -3
- package/src/input/keyboard.js +113 -113
- package/src/input/pointer.js +30 -31
- package/src/input/pointerevent.js +26 -26
- package/src/lang/deprecated.js +65 -6
- package/src/level/level.js +23 -24
- package/src/level/tiled/TMXGroup.js +7 -8
- package/src/level/tiled/TMXLayer.js +30 -32
- package/src/level/tiled/TMXObject.js +21 -21
- package/src/level/tiled/TMXTile.js +18 -18
- package/src/level/tiled/TMXTileMap.js +39 -44
- package/src/level/tiled/TMXTileset.js +12 -15
- package/src/level/tiled/TMXTilesetGroup.js +9 -9
- package/src/level/tiled/renderer/TMXHexagonalRenderer.js +7 -8
- package/src/level/tiled/renderer/TMXIsometricRenderer.js +7 -8
- package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +4 -5
- package/src/level/tiled/renderer/TMXRenderer.js +24 -25
- package/src/level/tiled/renderer/TMXStaggeredRenderer.js +1 -4
- package/src/loader/loader.js +14 -15
- package/src/loader/loadingscreen.js +2 -4
- package/src/math/color.js +47 -66
- package/src/math/math.js +15 -16
- package/src/math/matrix2.js +53 -58
- package/src/math/matrix3.js +56 -62
- package/src/math/observable_vector2.js +75 -76
- package/src/math/observable_vector3.js +79 -80
- package/src/math/vector2.js +91 -92
- package/src/math/vector3.js +94 -96
- package/src/particles/emitter.js +38 -40
- package/src/particles/particle.js +4 -5
- package/src/particles/particlecontainer.js +2 -3
- package/src/physics/body.js +46 -143
- package/src/physics/bounds.js +47 -47
- package/src/physics/collision.js +13 -14
- package/src/physics/detector.js +18 -17
- package/src/physics/quadtree.js +17 -19
- package/src/physics/sat.js +26 -26
- package/src/physics/world.js +24 -28
- package/src/plugin/plugin.js +11 -14
- package/src/renderable/GUI.js +41 -46
- package/src/renderable/collectable.js +4 -8
- package/src/renderable/colorlayer.js +6 -10
- package/src/renderable/container.js +87 -72
- package/src/renderable/dragndrop.js +224 -0
- package/src/renderable/imagelayer.js +25 -31
- package/src/renderable/nineslicesprite.js +41 -41
- package/src/renderable/renderable.js +114 -125
- package/src/renderable/sprite.js +62 -68
- package/src/renderable/trigger.js +25 -30
- package/src/state/stage.js +13 -17
- package/src/state/state.js +26 -27
- package/src/system/device.js +74 -75
- package/src/system/event.js +71 -72
- package/src/system/pooling.js +11 -12
- package/src/system/save.js +3 -4
- package/src/system/timer.js +19 -20
- package/src/text/bitmaptext.js +57 -54
- package/src/text/bitmaptextdata.js +10 -10
- package/src/text/glyph.js +3 -0
- package/src/text/text.js +44 -49
- package/src/tweens/easing.js +1 -1
- package/src/tweens/interpolation.js +1 -1
- package/src/tweens/tween.js +43 -44
- package/src/utils/agent.js +3 -4
- package/src/utils/array.js +4 -5
- package/src/utils/file.js +3 -4
- package/src/utils/function.js +4 -5
- package/src/utils/string.js +7 -9
- package/src/utils/utils.js +4 -5
- package/src/video/canvas/canvas_renderer.js +58 -59
- package/src/video/renderer.js +49 -53
- package/src/video/texture.js +98 -111
- package/src/video/texture_cache.js +24 -6
- package/src/video/video.js +16 -17
- package/src/video/webgl/glshader.js +37 -38
- package/src/video/webgl/webgl_compositor.js +31 -32
- package/src/video/webgl/webgl_renderer.js +79 -80
- package/src/entity/draggable.js +0 -130
- package/src/entity/droptarget.js +0 -101
|
@@ -103,19 +103,17 @@ function readObjectGroup(map, data, z) {
|
|
|
103
103
|
* @classdesc
|
|
104
104
|
* a TMX Tile Map Object
|
|
105
105
|
* Tiled QT +0.7.x format
|
|
106
|
-
* @class TMXTileMap
|
|
107
|
-
* @memberof me
|
|
108
|
-
* @param {string} levelId name of TMX map
|
|
109
|
-
* @param {object} data TMX map in JSON format
|
|
110
|
-
* @example
|
|
111
|
-
* // create a new level object based on the TMX JSON object
|
|
112
|
-
* var level = new me.TMXTileMap(levelId, me.loader.getTMX(levelId));
|
|
113
|
-
* // add the level to the game world container
|
|
114
|
-
* level.addTo(me.game.world, true);
|
|
115
106
|
*/
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
107
|
+
class TMXTileMap {
|
|
108
|
+
/**
|
|
109
|
+
* @param {string} levelId name of TMX map
|
|
110
|
+
* @param {object} data TMX map in JSON format
|
|
111
|
+
* @example
|
|
112
|
+
* // create a new level object based on the TMX JSON object
|
|
113
|
+
* var level = new me.TMXTileMap(levelId, me.loader.getTMX(levelId));
|
|
114
|
+
* // add the level to the game world container
|
|
115
|
+
* level.addTo(me.game.world, true);
|
|
116
|
+
*/
|
|
119
117
|
constructor(levelId, data) {
|
|
120
118
|
|
|
121
119
|
/**
|
|
@@ -128,7 +126,7 @@ export default class TMXTileMap {
|
|
|
128
126
|
* name of the tilemap
|
|
129
127
|
* @public
|
|
130
128
|
* @type {string}
|
|
131
|
-
* @name
|
|
129
|
+
* @name TMXTileMap#name
|
|
132
130
|
*/
|
|
133
131
|
this.name = levelId;
|
|
134
132
|
|
|
@@ -136,14 +134,14 @@ export default class TMXTileMap {
|
|
|
136
134
|
* width of the tilemap in tiles
|
|
137
135
|
* @public
|
|
138
136
|
* @type {number}
|
|
139
|
-
* @name
|
|
137
|
+
* @name TMXTileMap#cols
|
|
140
138
|
*/
|
|
141
139
|
this.cols = +data.width;
|
|
142
140
|
/**
|
|
143
141
|
* height of the tilemap in tiles
|
|
144
142
|
* @public
|
|
145
143
|
* @type {number}
|
|
146
|
-
* @name
|
|
144
|
+
* @name TMXTileMap#rows
|
|
147
145
|
*/
|
|
148
146
|
this.rows = +data.height;
|
|
149
147
|
|
|
@@ -151,7 +149,7 @@ export default class TMXTileMap {
|
|
|
151
149
|
* Tile width
|
|
152
150
|
* @public
|
|
153
151
|
* @type {number}
|
|
154
|
-
* @name
|
|
152
|
+
* @name TMXTileMap#tilewidth
|
|
155
153
|
*/
|
|
156
154
|
this.tilewidth = +data.tilewidth;
|
|
157
155
|
|
|
@@ -159,7 +157,7 @@ export default class TMXTileMap {
|
|
|
159
157
|
* Tile height
|
|
160
158
|
* @public
|
|
161
159
|
* @type {number}
|
|
162
|
-
* @name
|
|
160
|
+
* @name TMXTileMap#tileheight
|
|
163
161
|
*/
|
|
164
162
|
this.tileheight = +data.tileheight;
|
|
165
163
|
|
|
@@ -168,7 +166,7 @@ export default class TMXTileMap {
|
|
|
168
166
|
* @public
|
|
169
167
|
* @type {number}
|
|
170
168
|
* @default 0
|
|
171
|
-
* @name
|
|
169
|
+
* @name TMXTileMap#infinite
|
|
172
170
|
*/
|
|
173
171
|
this.infinite = +data.infinite;
|
|
174
172
|
|
|
@@ -177,7 +175,7 @@ export default class TMXTileMap {
|
|
|
177
175
|
* @public
|
|
178
176
|
* @type {string}
|
|
179
177
|
* @default "orthogonal"
|
|
180
|
-
* @name
|
|
178
|
+
* @name TMXTileMap#orientation
|
|
181
179
|
*/
|
|
182
180
|
this.orientation = data.orientation;
|
|
183
181
|
|
|
@@ -187,7 +185,7 @@ export default class TMXTileMap {
|
|
|
187
185
|
* @public
|
|
188
186
|
* @type {string}
|
|
189
187
|
* @default "right-down"
|
|
190
|
-
* @name
|
|
188
|
+
* @name TMXTileMap#renderorder
|
|
191
189
|
*/
|
|
192
190
|
this.renderorder = data.renderorder || "right-down";
|
|
193
191
|
|
|
@@ -195,7 +193,7 @@ export default class TMXTileMap {
|
|
|
195
193
|
* the TMX format version
|
|
196
194
|
* @public
|
|
197
195
|
* @type {string}
|
|
198
|
-
* @name
|
|
196
|
+
* @name TMXTileMap#version
|
|
199
197
|
*/
|
|
200
198
|
this.version = data.version;
|
|
201
199
|
|
|
@@ -203,7 +201,7 @@ export default class TMXTileMap {
|
|
|
203
201
|
* The Tiled version used to save the file (since Tiled 1.0.1).
|
|
204
202
|
* @public
|
|
205
203
|
* @type {string}
|
|
206
|
-
* @name
|
|
204
|
+
* @name TMXTileMap#tiledversion
|
|
207
205
|
*/
|
|
208
206
|
this.tiledversion = data.tiledversion;
|
|
209
207
|
|
|
@@ -257,10 +255,10 @@ export default class TMXTileMap {
|
|
|
257
255
|
/**
|
|
258
256
|
* Return the map default renderer
|
|
259
257
|
* @name getRenderer
|
|
260
|
-
* @memberof
|
|
258
|
+
* @memberof TMXTileMap
|
|
261
259
|
* @public
|
|
262
260
|
* @function
|
|
263
|
-
* @returns {
|
|
261
|
+
* @returns {TMXRenderer} a TMX renderer
|
|
264
262
|
*/
|
|
265
263
|
getRenderer() {
|
|
266
264
|
if ((typeof(this.renderer) === "undefined") || (!this.renderer.canRender(this))) {
|
|
@@ -271,10 +269,10 @@ export default class TMXTileMap {
|
|
|
271
269
|
|
|
272
270
|
/**
|
|
273
271
|
* return the map bounding rect
|
|
274
|
-
* @name
|
|
272
|
+
* @name TMXRenderer#getBounds
|
|
275
273
|
* @public
|
|
276
274
|
* @function
|
|
277
|
-
* @returns {
|
|
275
|
+
* @returns {Bounds}
|
|
278
276
|
*/
|
|
279
277
|
getBounds() {
|
|
280
278
|
// calculated in the constructor
|
|
@@ -309,17 +307,6 @@ export default class TMXTileMap {
|
|
|
309
307
|
});
|
|
310
308
|
}
|
|
311
309
|
|
|
312
|
-
// check if a user-defined background color is defined
|
|
313
|
-
if (this.backgroundcolor) {
|
|
314
|
-
this.layers.push(
|
|
315
|
-
pool.pull("ColorLayer",
|
|
316
|
-
"background_color",
|
|
317
|
-
this.backgroundcolor,
|
|
318
|
-
zOrder++
|
|
319
|
-
)
|
|
320
|
-
);
|
|
321
|
-
}
|
|
322
|
-
|
|
323
310
|
// check if a background image is defined
|
|
324
311
|
if (this.background_image) {
|
|
325
312
|
// add a new image layer
|
|
@@ -365,10 +352,10 @@ export default class TMXTileMap {
|
|
|
365
352
|
/**
|
|
366
353
|
* add all the map layers and objects to the given container.
|
|
367
354
|
* note : this will not automatically update the camera viewport
|
|
368
|
-
* @name
|
|
355
|
+
* @name TMXTileMap#addTo
|
|
369
356
|
* @public
|
|
370
357
|
* @function
|
|
371
|
-
* @param {
|
|
358
|
+
* @param {Container} container target container
|
|
372
359
|
* @param {boolean} [flatten=true] if true, flatten all objects into the given container, else a `me.Container` object will be created for each corresponding groups
|
|
373
360
|
* @param {boolean} [setViewportBounds=false] if true, set the viewport bounds to the map size, this should be set to true especially if adding a level to the game world container.
|
|
374
361
|
* @example
|
|
@@ -387,6 +374,10 @@ export default class TMXTileMap {
|
|
|
387
374
|
container.autoSort = false;
|
|
388
375
|
container.autoDepth = false;
|
|
389
376
|
|
|
377
|
+
if (this.backgroundcolor) {
|
|
378
|
+
container.backgroundColor.parseCSS(this.backgroundcolor);
|
|
379
|
+
}
|
|
380
|
+
|
|
390
381
|
// add all layers instances
|
|
391
382
|
this.getLayers().forEach(function (layer) {
|
|
392
383
|
container.addChild(layer);
|
|
@@ -438,12 +429,12 @@ export default class TMXTileMap {
|
|
|
438
429
|
|
|
439
430
|
/**
|
|
440
431
|
* return an Array of instantiated objects, based on the map object definition
|
|
441
|
-
* @name
|
|
432
|
+
* @name TMXTileMap#getObjects
|
|
442
433
|
* @public
|
|
443
434
|
* @function
|
|
444
435
|
* @param {boolean} [flatten=true] if true, flatten all objects into the returned array.
|
|
445
436
|
* when false, a `me.Container` object will be created for each corresponding groups
|
|
446
|
-
* @returns {
|
|
437
|
+
* @returns {Renderable[]} Array of Objects
|
|
447
438
|
*/
|
|
448
439
|
getObjects(flatten) {
|
|
449
440
|
var objects = [];
|
|
@@ -551,6 +542,8 @@ export default class TMXTileMap {
|
|
|
551
542
|
if (isCollisionGroup && !settings.name && obj.body) {
|
|
552
543
|
// configure the body accordingly
|
|
553
544
|
obj.body.collisionType = collision.types.WORLD_SHAPE;
|
|
545
|
+
// mark collision shapes as static
|
|
546
|
+
obj.body.isStatic = true;
|
|
554
547
|
}
|
|
555
548
|
|
|
556
549
|
//apply group opacity value to the child objects if group are merged
|
|
@@ -587,10 +580,10 @@ export default class TMXTileMap {
|
|
|
587
580
|
|
|
588
581
|
/**
|
|
589
582
|
* return all the existing layers
|
|
590
|
-
* @name
|
|
583
|
+
* @name TMXTileMap#getLayers
|
|
591
584
|
* @public
|
|
592
585
|
* @function
|
|
593
|
-
* @returns {
|
|
586
|
+
* @returns {TMXLayer[]} Array of Layers
|
|
594
587
|
*/
|
|
595
588
|
getLayers() {
|
|
596
589
|
// parse the map for objects
|
|
@@ -600,7 +593,7 @@ export default class TMXTileMap {
|
|
|
600
593
|
|
|
601
594
|
/**
|
|
602
595
|
* destroy function, clean all allocated objects
|
|
603
|
-
* @name
|
|
596
|
+
* @name TMXTileMap#destroy
|
|
604
597
|
* @public
|
|
605
598
|
* @function
|
|
606
599
|
*/
|
|
@@ -611,3 +604,5 @@ export default class TMXTileMap {
|
|
|
611
604
|
this.initialized = false;
|
|
612
605
|
}
|
|
613
606
|
};
|
|
607
|
+
|
|
608
|
+
export default TMXTileMap;
|
|
@@ -7,12 +7,11 @@ import loader from "./../../loader/loader.js";
|
|
|
7
7
|
/**
|
|
8
8
|
* @classdesc
|
|
9
9
|
* a TMX Tile Set Object
|
|
10
|
-
* @class TMXTileset
|
|
11
|
-
* @memberof me
|
|
12
|
-
* @param {object} tileset tileset data in JSON format ({@link http://docs.mapeditor.org/en/stable/reference/tmx-map-format/#tileset})
|
|
13
10
|
*/
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
class TMXTileset {
|
|
12
|
+
/**
|
|
13
|
+
* @param {object} tileset tileset data in JSON format ({@link http://docs.mapeditor.org/en/stable/reference/tmx-map-format/#tileset})
|
|
14
|
+
*/
|
|
16
15
|
constructor(tileset) {
|
|
17
16
|
var i = 0;
|
|
18
17
|
// first gid
|
|
@@ -51,7 +50,7 @@ export default class TMXTileset {
|
|
|
51
50
|
* Tileset contains animated tiles
|
|
52
51
|
* @public
|
|
53
52
|
* @type {boolean}
|
|
54
|
-
* @name
|
|
53
|
+
* @name TMXTileset#isAnimated
|
|
55
54
|
*/
|
|
56
55
|
this.isAnimated = false;
|
|
57
56
|
|
|
@@ -59,23 +58,19 @@ export default class TMXTileset {
|
|
|
59
58
|
* true if the tileset is a "Collection of Image" Tileset
|
|
60
59
|
* @public
|
|
61
60
|
* @type {boolean}
|
|
62
|
-
* @name
|
|
61
|
+
* @name TMXTileset#isCollection
|
|
63
62
|
*/
|
|
64
63
|
this.isCollection = false;
|
|
65
64
|
|
|
66
65
|
/**
|
|
67
66
|
* Tileset animations
|
|
68
67
|
* @private
|
|
69
|
-
* @type {Map}
|
|
70
|
-
* @name me.TMXTileset#animations
|
|
71
68
|
*/
|
|
72
69
|
this.animations = new Map();
|
|
73
70
|
|
|
74
71
|
/**
|
|
75
72
|
* Remember the last update timestamp to prevent too many animation updates
|
|
76
73
|
* @private
|
|
77
|
-
* @type {Map}
|
|
78
|
-
* @name me.TMXTileset#_lastUpdate
|
|
79
74
|
*/
|
|
80
75
|
this._lastUpdate = 0;
|
|
81
76
|
|
|
@@ -169,7 +164,7 @@ export default class TMXTileset {
|
|
|
169
164
|
|
|
170
165
|
/**
|
|
171
166
|
* return the tile image from a "Collection of Image" tileset
|
|
172
|
-
* @name
|
|
167
|
+
* @name TMXTileset#getTileImage
|
|
173
168
|
* @public
|
|
174
169
|
* @function
|
|
175
170
|
* @param {number} gid
|
|
@@ -192,7 +187,7 @@ export default class TMXTileset {
|
|
|
192
187
|
|
|
193
188
|
/**
|
|
194
189
|
* return true if the gid belongs to the tileset
|
|
195
|
-
* @name
|
|
190
|
+
* @name TMXTileset#contains
|
|
196
191
|
* @public
|
|
197
192
|
* @function
|
|
198
193
|
* @param {number} gid
|
|
@@ -204,7 +199,7 @@ export default class TMXTileset {
|
|
|
204
199
|
|
|
205
200
|
/**
|
|
206
201
|
* Get the view (local) tile ID from a GID, with animations applied
|
|
207
|
-
* @name
|
|
202
|
+
* @name TMXTileset#getViewTileId
|
|
208
203
|
* @public
|
|
209
204
|
* @function
|
|
210
205
|
* @param {number} gid Global tile ID
|
|
@@ -223,7 +218,7 @@ export default class TMXTileset {
|
|
|
223
218
|
|
|
224
219
|
/**
|
|
225
220
|
* return the properties of the specified tile
|
|
226
|
-
* @name
|
|
221
|
+
* @name TMXTileset#getTileProperties
|
|
227
222
|
* @public
|
|
228
223
|
* @function
|
|
229
224
|
* @param {number} tileId
|
|
@@ -300,3 +295,5 @@ export default class TMXTileset {
|
|
|
300
295
|
}
|
|
301
296
|
}
|
|
302
297
|
};
|
|
298
|
+
|
|
299
|
+
export default TMXTileset;
|
|
@@ -5,10 +5,8 @@ var TMX_CLEAR_BIT_MASK = ~(0x80000000 | 0x40000000 | 0x20000000);
|
|
|
5
5
|
/**
|
|
6
6
|
* @classdesc
|
|
7
7
|
* an object containing all tileset
|
|
8
|
-
* @class TMXTilesetGroup
|
|
9
|
-
* @memberof me
|
|
10
8
|
*/
|
|
11
|
-
|
|
9
|
+
class TMXTilesetGroup {
|
|
12
10
|
|
|
13
11
|
constructor() {
|
|
14
12
|
this.tilesets = [];
|
|
@@ -17,10 +15,10 @@ export default class TMXTilesetGroup {
|
|
|
17
15
|
|
|
18
16
|
/**
|
|
19
17
|
* add a tileset to the tileset group
|
|
20
|
-
* @name
|
|
18
|
+
* @name TMXTilesetGroup#add
|
|
21
19
|
* @public
|
|
22
20
|
* @function
|
|
23
|
-
* @param
|
|
21
|
+
* @param {TMXTileset} tileset
|
|
24
22
|
*/
|
|
25
23
|
add(tileset) {
|
|
26
24
|
this.tilesets.push(tileset);
|
|
@@ -29,11 +27,11 @@ export default class TMXTilesetGroup {
|
|
|
29
27
|
|
|
30
28
|
/**
|
|
31
29
|
* return the tileset at the specified index
|
|
32
|
-
* @name
|
|
30
|
+
* @name TMXTilesetGroup#getTilesetByIndex
|
|
33
31
|
* @public
|
|
34
32
|
* @function
|
|
35
33
|
* @param {number} i
|
|
36
|
-
* @returns {
|
|
34
|
+
* @returns {TMXTileset} corresponding tileset
|
|
37
35
|
*/
|
|
38
36
|
getTilesetByIndex(i) {
|
|
39
37
|
return this.tilesets[i];
|
|
@@ -42,11 +40,11 @@ export default class TMXTilesetGroup {
|
|
|
42
40
|
/**
|
|
43
41
|
* return the tileset corresponding to the specified id <br>
|
|
44
42
|
* will throw an exception if no matching tileset is found
|
|
45
|
-
* @name
|
|
43
|
+
* @name TMXTilesetGroup#getTilesetByGid
|
|
46
44
|
* @public
|
|
47
45
|
* @function
|
|
48
46
|
* @param {number} gid
|
|
49
|
-
* @returns {
|
|
47
|
+
* @returns {TMXTileset} corresponding tileset
|
|
50
48
|
*/
|
|
51
49
|
getTilesetByGid(gid) {
|
|
52
50
|
var invalidRange = -1;
|
|
@@ -76,3 +74,5 @@ export default class TMXTilesetGroup {
|
|
|
76
74
|
}
|
|
77
75
|
}
|
|
78
76
|
};
|
|
77
|
+
|
|
78
|
+
export default TMXTilesetGroup;
|
|
@@ -22,13 +22,12 @@ var offsetsStaggerY = [
|
|
|
22
22
|
/**
|
|
23
23
|
* @classdesc
|
|
24
24
|
* an Hexagonal Map Renderder
|
|
25
|
-
* @
|
|
26
|
-
* @memberof me
|
|
27
|
-
* @augments me.TMXRenderer
|
|
28
|
-
* @param {me.TMXTileMap} map the TMX map
|
|
25
|
+
* @augments TMXRenderer
|
|
29
26
|
*/
|
|
30
27
|
class TMXHexagonalRenderer extends TMXRenderer {
|
|
31
|
-
|
|
28
|
+
/**
|
|
29
|
+
* @param {TMXTileMap} map the TMX map
|
|
30
|
+
*/
|
|
32
31
|
constructor(map) {
|
|
33
32
|
super(
|
|
34
33
|
map.cols,
|
|
@@ -80,11 +79,11 @@ class TMXHexagonalRenderer extends TMXRenderer {
|
|
|
80
79
|
|
|
81
80
|
/**
|
|
82
81
|
* return the bounding rect for this map renderer
|
|
83
|
-
* @name
|
|
82
|
+
* @name TMXHexagonalRenderer#getBounds
|
|
84
83
|
* @public
|
|
85
84
|
* @function
|
|
86
|
-
* @param {
|
|
87
|
-
* @returns {
|
|
85
|
+
* @param {TMXLayer} [layer] calculate the bounding rect for a specific layer (will return a new bounds object)
|
|
86
|
+
* @returns {Bounds}
|
|
88
87
|
*/
|
|
89
88
|
getBounds(layer) {
|
|
90
89
|
var bounds = layer instanceof TMXLayer ? pool.pull("Bounds") : this.bounds;
|
|
@@ -7,13 +7,12 @@ import TMXLayer from "./../TMXLayer.js";
|
|
|
7
7
|
/**
|
|
8
8
|
* @classdesc
|
|
9
9
|
* an Isometric Map Renderder
|
|
10
|
-
* @
|
|
11
|
-
* @memberof me
|
|
12
|
-
* @augments me.TMXRenderer
|
|
13
|
-
* @param {me.TMXTileMap} map the TMX map
|
|
10
|
+
* @augments TMXRenderer
|
|
14
11
|
*/
|
|
15
12
|
class TMXIsometricRenderer extends TMXRenderer {
|
|
16
|
-
|
|
13
|
+
/**
|
|
14
|
+
* @param {TMXTileMap} map the TMX map
|
|
15
|
+
*/
|
|
17
16
|
constructor(map) {
|
|
18
17
|
super(
|
|
19
18
|
map.cols,
|
|
@@ -40,11 +39,11 @@ class TMXIsometricRenderer extends TMXRenderer {
|
|
|
40
39
|
|
|
41
40
|
/**
|
|
42
41
|
* return the bounding rect for this map renderer
|
|
43
|
-
* @name
|
|
42
|
+
* @name TMXIsometricRenderer#getBounds
|
|
44
43
|
* @public
|
|
45
44
|
* @function
|
|
46
|
-
* @param {
|
|
47
|
-
* @returns {
|
|
45
|
+
* @param {TMXLayer} [layer] calculate the bounding rect for a specific layer (will return a new bounds object)
|
|
46
|
+
* @returns {Bounds}
|
|
48
47
|
*/
|
|
49
48
|
getBounds(layer) {
|
|
50
49
|
var bounds = layer instanceof TMXLayer ? pool.pull("Bounds") : this.bounds;
|
|
@@ -5,13 +5,12 @@ import TMXRenderer from "./TMXRenderer.js";
|
|
|
5
5
|
/**
|
|
6
6
|
* @classdesc
|
|
7
7
|
* an Orthogonal Map Renderder
|
|
8
|
-
* @
|
|
9
|
-
* @memberof me
|
|
10
|
-
* @augments me.TMXRenderer
|
|
11
|
-
* @param {me.TMXTileMap} map the TMX map
|
|
8
|
+
* @augments TMXRenderer
|
|
12
9
|
*/
|
|
13
10
|
class TMXOrthogonalRenderer extends TMXRenderer {
|
|
14
|
-
|
|
11
|
+
/**
|
|
12
|
+
* @param {TMXTileMap} map the TMX map
|
|
13
|
+
*/
|
|
15
14
|
constructor(map) {
|
|
16
15
|
super(
|
|
17
16
|
map.cols,
|
|
@@ -7,15 +7,14 @@ import Bounds from "./../../../physics/Bounds.js";
|
|
|
7
7
|
/**
|
|
8
8
|
* @classdesc
|
|
9
9
|
* The map renderer base class
|
|
10
|
-
* @class TMXRenderer
|
|
11
|
-
* @memberof me
|
|
12
|
-
* @param {number} cols width of the tilemap in tiles
|
|
13
|
-
* @param {number} rows height of the tilemap in tiles
|
|
14
|
-
* @param {number} tilewidth width of each tile in pixels
|
|
15
|
-
* @param {number} tileheight height of each tile in pixels
|
|
16
10
|
*/
|
|
17
11
|
class TMXRenderer {
|
|
18
|
-
|
|
12
|
+
/**
|
|
13
|
+
* @param {number} cols width of the tilemap in tiles
|
|
14
|
+
* @param {number} rows height of the tilemap in tiles
|
|
15
|
+
* @param {number} tilewidth width of each tile in pixels
|
|
16
|
+
* @param {number} tileheight height of each tile in pixels
|
|
17
|
+
*/
|
|
19
18
|
constructor(cols, rows, tilewidth, tileheight) {
|
|
20
19
|
this.cols = cols;
|
|
21
20
|
this.rows = rows;
|
|
@@ -26,10 +25,10 @@ class TMXRenderer {
|
|
|
26
25
|
|
|
27
26
|
/**
|
|
28
27
|
* return true if the renderer can render the specified map or layer
|
|
29
|
-
* @name
|
|
28
|
+
* @name TMXRenderer#canRender
|
|
30
29
|
* @public
|
|
31
30
|
* @function
|
|
32
|
-
* @param {
|
|
31
|
+
* @param {TMXTileMap|TMXLayer} component TMX Map or Layer
|
|
33
32
|
* @returns {boolean}
|
|
34
33
|
*/
|
|
35
34
|
canRender(component) {
|
|
@@ -47,11 +46,11 @@ class TMXRenderer {
|
|
|
47
46
|
|
|
48
47
|
/**
|
|
49
48
|
* return the bounding rect for this map renderer
|
|
50
|
-
* @name
|
|
49
|
+
* @name TMXRenderer#getBounds
|
|
51
50
|
* @public
|
|
52
51
|
* @function
|
|
53
|
-
* @param {
|
|
54
|
-
* @returns {
|
|
52
|
+
* @param {TMXLayer} [layer] calculate the bounding rect for a specific layer (will return a new bounds object)
|
|
53
|
+
* @returns {Bounds}
|
|
55
54
|
*/
|
|
56
55
|
getBounds(layer) {
|
|
57
56
|
var bounds = layer instanceof TMXLayer ? pool.pull("Bounds") : this.bounds;
|
|
@@ -65,13 +64,13 @@ class TMXRenderer {
|
|
|
65
64
|
|
|
66
65
|
/**
|
|
67
66
|
* return the tile position corresponding to the specified pixel
|
|
68
|
-
* @name
|
|
67
|
+
* @name TMXRenderer#pixelToTileCoords
|
|
69
68
|
* @public
|
|
70
69
|
* @function
|
|
71
70
|
* @param {number} x X coordinate
|
|
72
71
|
* @param {number} y Y coordinate
|
|
73
|
-
* @param {
|
|
74
|
-
* @returns {
|
|
72
|
+
* @param {Vector2d} [v] an optional vector object where to put the return values
|
|
73
|
+
* @returns {Vector2d}
|
|
75
74
|
*/
|
|
76
75
|
pixelToTileCoords(x, y, v) {
|
|
77
76
|
return v;
|
|
@@ -79,13 +78,13 @@ class TMXRenderer {
|
|
|
79
78
|
|
|
80
79
|
/**
|
|
81
80
|
* return the pixel position corresponding of the specified tile
|
|
82
|
-
* @name
|
|
81
|
+
* @name TMXRenderer#tileToPixelCoords
|
|
83
82
|
* @public
|
|
84
83
|
* @function
|
|
85
84
|
* @param {number} col tile horizontal position
|
|
86
85
|
* @param {number} row tile vertical position
|
|
87
|
-
* @param {
|
|
88
|
-
* @returns {
|
|
86
|
+
* @param {Vector2d} [v] an optional vector object where to put the return values
|
|
87
|
+
* @returns {Vector2d}
|
|
89
88
|
*/
|
|
90
89
|
tileToPixelCoords(col, row, v) {
|
|
91
90
|
return v;
|
|
@@ -93,25 +92,25 @@ class TMXRenderer {
|
|
|
93
92
|
|
|
94
93
|
/**
|
|
95
94
|
* draw the given tile at the specified layer
|
|
96
|
-
* @name
|
|
95
|
+
* @name TMXRenderer#drawTile
|
|
97
96
|
* @public
|
|
98
97
|
* @function
|
|
99
|
-
* @param {
|
|
98
|
+
* @param {CanvasRenderer|WebGLRenderer} renderer a renderer object
|
|
100
99
|
* @param {number} x X coordinate where to draw the tile
|
|
101
100
|
* @param {number} y Y coordinate where to draw the tile
|
|
102
|
-
* @param {
|
|
101
|
+
* @param {Tile} tile the tile object to draw
|
|
103
102
|
*/
|
|
104
103
|
drawTile(renderer, x, y, tile) {
|
|
105
104
|
}
|
|
106
105
|
|
|
107
106
|
/**
|
|
108
107
|
* draw the given TMX Layer for the given area
|
|
109
|
-
* @name
|
|
108
|
+
* @name TMXRenderer#drawTileLayer
|
|
110
109
|
* @public
|
|
111
110
|
* @function
|
|
112
|
-
* @param {
|
|
113
|
-
* @param {
|
|
114
|
-
* @param {
|
|
111
|
+
* @param {CanvasRenderer|WebGLRenderer} renderer a renderer object
|
|
112
|
+
* @param {TMXLayer} layer a TMX Layer object
|
|
113
|
+
* @param {Rect} rect the area of the layer to draw
|
|
115
114
|
*/
|
|
116
115
|
drawTileLayer(renderer, layer, rect) {
|
|
117
116
|
}
|
|
@@ -7,10 +7,7 @@ import { degToRad } from "./../../../math/math.js";
|
|
|
7
7
|
/**
|
|
8
8
|
* @classdesc
|
|
9
9
|
* a Staggered Map Renderder
|
|
10
|
-
* @
|
|
11
|
-
* @memberof me
|
|
12
|
-
* @augments me.TMXHexagonalRenderer
|
|
13
|
-
* @param {me.TMXTileMap} map the TMX map
|
|
10
|
+
* @augments TMXHexagonalRenderer
|
|
14
11
|
*/
|
|
15
12
|
class TMXStaggeredRenderer extends TMXHexagonalRenderer {
|
|
16
13
|
|