pxt-common-packages 9.5.1 → 9.5.2
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/libs/azureiot/built/debug/binary.js +485 -485
- package/libs/color/built/debug/binary.js +8 -8
- package/libs/color-sensor/built/debug/binary.js +8 -8
- package/libs/controller/built/debug/binary.js +8384 -7819
- package/libs/controller---none/built/debug/binary.js +8363 -7798
- package/libs/datalogger/built/debug/binary.js +63 -63
- package/libs/edge-connector/built/debug/binary.js +8 -8
- package/libs/esp32/built/debug/binary.js +486 -486
- package/libs/game/_locales/game-jsdoc-strings.json +6 -0
- package/libs/game/built/debug/binary.js +8276 -7711
- package/libs/game/controllerbutton.ts +98 -1
- package/libs/game/docs/reference/scene/get-neighboring-location.md +123 -0
- package/libs/game/docs/reference/scene/get-tile-location.md +1 -5
- package/libs/game/docs/reference/scene/location.md +246 -0
- package/libs/game/docs/reference/scene/tile-at-location-equals.md +1 -1
- package/libs/game/docs/reference/scene/tile-at-location-is-wall.md +98 -0
- package/libs/game/docs/reference/scene/tile-image-at-location.md +65 -0
- package/libs/game/docs/reference/scene/tilemap-location.md +83 -0
- package/libs/game/docs/reference/sprites/destroy-all-sprites-of-kind.md +74 -0
- package/libs/game/docs/reference/sprites/sprite/change-scale.md +65 -0
- package/libs/game/docs/reference/sprites/sprite/fx.md +25 -25
- package/libs/game/docs/reference/sprites/sprite/fy.md +24 -24
- package/libs/game/docs/reference/sprites/sprite/scale.md +80 -0
- package/libs/game/docs/reference/sprites/sprite/set-scale.md +79 -0
- package/libs/game/docs/reference/sprites/sprite/sx.md +80 -0
- package/libs/game/docs/reference/sprites/sprite/sy.md +80 -0
- package/libs/game/docs/reference/sprites.md +12 -2
- package/libs/game/scene.ts +2 -0
- package/libs/game/sprite.ts +2 -2
- package/libs/game/sprites.ts +1 -1
- package/libs/game/tilemap.ts +88 -4
- package/libs/lcd/built/debug/binary.js +8 -8
- package/libs/light-spectrum-sensor/built/debug/binary.js +8 -8
- package/libs/lora/built/debug/binary.js +8 -8
- package/libs/matrix-keypad/built/debug/binary.js +8 -8
- package/libs/mqtt/built/debug/binary.js +200 -200
- package/libs/net/built/debug/binary.js +200 -200
- package/libs/net-game/built/debug/binary.js +10081 -9516
- package/libs/palette/built/debug/binary.js +8275 -7710
- package/libs/pixel/built/debug/binary.js +8 -8
- package/libs/power/built/debug/binary.js +8 -8
- package/libs/proximity/built/debug/binary.js +8 -8
- package/libs/radio/built/debug/binary.js +8 -8
- package/libs/radio-broadcast/built/debug/binary.js +8 -8
- package/libs/rotary-encoder/built/debug/binary.js +8 -8
- package/libs/screen/built/debug/binary.js +50 -50
- package/libs/servo/built/debug/binary.js +8 -8
- package/libs/sprite-scaling/built/debug/binary.js +8275 -7710
- package/libs/sprite-scaling/docs/reference/sprites/scaling/scale-by-percent.md +77 -0
- package/libs/sprite-scaling/docs/reference/sprites/scaling/scale-by-pixels.md +144 -0
- package/libs/sprite-scaling/docs/reference/sprites/scaling/scale-to-percent.md +83 -0
- package/libs/sprite-scaling/docs/reference/sprites/scaling/scale-to-pixels.md +140 -0
- package/libs/sprite-scaling/scaling.ts +5 -5
- package/libs/storyboard/built/debug/binary.js +8275 -7710
- package/package.json +1 -1
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# sx (property)
|
|
2
|
+
|
|
3
|
+
Get or set the scaling factor for the width of a sprite.
|
|
4
|
+
|
|
5
|
+
## Get
|
|
6
|
+
|
|
7
|
+
Get the width scale for the sprite.
|
|
8
|
+
|
|
9
|
+
```block
|
|
10
|
+
let mySprite: Sprite = null
|
|
11
|
+
|
|
12
|
+
let xScale = mySprite.sx
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
```typescript-ignorelet
|
|
16
|
+
xScale = mySprite.sx
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Returns
|
|
20
|
+
|
|
21
|
+
* a [number](/types/number) that is the current scale for the width of the sprite.
|
|
22
|
+
|
|
23
|
+
## Set
|
|
24
|
+
|
|
25
|
+
Set the width scale for the sprite.
|
|
26
|
+
|
|
27
|
+
```block
|
|
28
|
+
let mySprite: Sprite = null
|
|
29
|
+
|
|
30
|
+
mySprite.sx = 2
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
```typescript-ignore
|
|
34
|
+
mySprite.sx = 2
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Parameter
|
|
38
|
+
|
|
39
|
+
* **value**: the new width scale factor for the size of the sprite.
|
|
40
|
+
|
|
41
|
+
## Examples #example
|
|
42
|
+
|
|
43
|
+
### Stretch and shrink width #ex1
|
|
44
|
+
|
|
45
|
+
Scale a sprite's width by `1` more size every second. Expand while it's small and contract when it's large.
|
|
46
|
+
|
|
47
|
+
```blocks
|
|
48
|
+
let expand = 0
|
|
49
|
+
let mySprite = sprites.create(img`
|
|
50
|
+
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
|
|
51
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
52
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
53
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
54
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
55
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
56
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
57
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
58
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
59
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
60
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
61
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
62
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
63
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
64
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
65
|
+
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
|
|
66
|
+
`, SpriteKind.Player)
|
|
67
|
+
game.onUpdateInterval(1000, function () {
|
|
68
|
+
if (mySprite.sx == 1) {
|
|
69
|
+
expand = 1
|
|
70
|
+
} else if (mySprite.sx == 6) {
|
|
71
|
+
expand = -1
|
|
72
|
+
}
|
|
73
|
+
mySprite.sx += expand
|
|
74
|
+
})
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## See also #seealso
|
|
78
|
+
|
|
79
|
+
[sy](/reference/sprites/sprite/sy),
|
|
80
|
+
[scale](/reference/sprites/sprite/scale)
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# sy (property)
|
|
2
|
+
|
|
3
|
+
Get or set the scaling factor for the height of a sprite.
|
|
4
|
+
|
|
5
|
+
## Get
|
|
6
|
+
|
|
7
|
+
Get the height scale for the sprite.
|
|
8
|
+
|
|
9
|
+
```block
|
|
10
|
+
let mySprite: Sprite = null
|
|
11
|
+
|
|
12
|
+
let xScale = mySprite.sy
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
```typescript-ignorelet
|
|
16
|
+
xScale = mySprite.sy
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Returns
|
|
20
|
+
|
|
21
|
+
* a [number](/types/number) that is the current scale for the height of the sprite.
|
|
22
|
+
|
|
23
|
+
## Set
|
|
24
|
+
|
|
25
|
+
Set the height scale for the sprite.
|
|
26
|
+
|
|
27
|
+
```block
|
|
28
|
+
let mySprite: Sprite = null
|
|
29
|
+
|
|
30
|
+
mySprite.sy = 2
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
```typescript-ignore
|
|
34
|
+
mySprite.sy = 2
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Parameter
|
|
38
|
+
|
|
39
|
+
* **value**: the new height scale factor for the size of the sprite.
|
|
40
|
+
|
|
41
|
+
## Examples #example
|
|
42
|
+
|
|
43
|
+
### Stretch and shrink height #ex1
|
|
44
|
+
|
|
45
|
+
Scale a sprite's height by `1` more size every second. Expand while it's small and contract when it's large.
|
|
46
|
+
|
|
47
|
+
```blocks
|
|
48
|
+
let expand = 0
|
|
49
|
+
let mySprite = sprites.create(img`
|
|
50
|
+
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
|
|
51
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
52
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
53
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
54
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
55
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
56
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
57
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
58
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
59
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
60
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
61
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
62
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
63
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
64
|
+
2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2
|
|
65
|
+
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
|
|
66
|
+
`, SpriteKind.Player)
|
|
67
|
+
game.onUpdateInterval(1000, function () {
|
|
68
|
+
if (mySprite.sy == 1) {
|
|
69
|
+
expand = 1
|
|
70
|
+
} else if (mySprite.sy == 6) {
|
|
71
|
+
expand = -1
|
|
72
|
+
}
|
|
73
|
+
mySprite.sy += expand
|
|
74
|
+
})
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## See also #seealso
|
|
78
|
+
|
|
79
|
+
[sx](/reference/sprites/sprite/sx),
|
|
80
|
+
[scale](/reference/sprites/sprite/scale)
|
|
@@ -23,6 +23,8 @@ sprites.create(null).setKind(0)
|
|
|
23
23
|
sprites.create(null).kind()
|
|
24
24
|
sprites.create(null).setBounceOnWall(false)
|
|
25
25
|
sprites.create(null).setStayInScreen(false)
|
|
26
|
+
sprites.create(null).setScale(1, ScaleAnchor.Middle)
|
|
27
|
+
sprites.create(null).changeScale(1, ScaleAnchor.Middle)
|
|
26
28
|
```
|
|
27
29
|
|
|
28
30
|
## Sprite effects
|
|
@@ -55,7 +57,7 @@ sprites.onOverlap(0, 0, function (sprite, otherSprite) {})
|
|
|
55
57
|
### Physics
|
|
56
58
|
|
|
57
59
|
* [**vx - velocity x**](/reference/sprites/sprite/vx)
|
|
58
|
-
* [**vy- velocity y**](/reference/sprites/sprite/vy)
|
|
60
|
+
* [**vy - velocity y**](/reference/sprites/sprite/vy)
|
|
59
61
|
* [**ax - acceleration x**](/reference/sprites/sprite/ax)
|
|
60
62
|
* [**ay - acceleration y**](/reference/sprites/sprite/ay)
|
|
61
63
|
* [**fx - friction x**](/reference/sprites/sprite/fx)
|
|
@@ -68,6 +70,12 @@ sprites.onOverlap(0, 0, function (sprite, otherSprite) {})
|
|
|
68
70
|
* [**height**](/reference/sprites/sprite/height)
|
|
69
71
|
* [**lifespan**](/reference/sprites/sprite/lifespan)
|
|
70
72
|
|
|
73
|
+
### Scaling
|
|
74
|
+
|
|
75
|
+
* [**sx - scale x**](/reference/sprites/sprite/sx)
|
|
76
|
+
* [**sy - scale y**](/reference/sprites/sprite/sy)
|
|
77
|
+
* [**scale**](/reference/sprites/sprite/scale)
|
|
78
|
+
|
|
71
79
|
## See also
|
|
72
80
|
|
|
73
81
|
[create](/reference/sprites/create),
|
|
@@ -87,4 +95,6 @@ sprites.onOverlap(0, 0, function (sprite, otherSprite) {})
|
|
|
87
95
|
[clear particles](/reference/sprites/sprite/clear-particles),
|
|
88
96
|
[on created](/reference/sprites/on-created),
|
|
89
97
|
[on destroyed](/reference/sprites/on-destroyed),
|
|
90
|
-
[on overlap](/reference/sprites/on-overlap)
|
|
98
|
+
[on overlap](/reference/sprites/on-overlap),
|
|
99
|
+
[set scale](/reference/sprites/sprite/set-scale),
|
|
100
|
+
[change scale](/reference/sprites/sprite/change-scale)
|
package/libs/game/scene.ts
CHANGED
|
@@ -93,6 +93,7 @@ namespace scene {
|
|
|
93
93
|
particleSources: particles.ParticleSource[];
|
|
94
94
|
controlledSprites: controller.ControlledSprite[][];
|
|
95
95
|
followingSprites: sprites.FollowingSprite[];
|
|
96
|
+
buttonEventHandlers: controller.ButtonEventHandlerState[];
|
|
96
97
|
|
|
97
98
|
private _millis: number;
|
|
98
99
|
private _data: any;
|
|
@@ -116,6 +117,7 @@ namespace scene {
|
|
|
116
117
|
this.gameForeverHandlers = [];
|
|
117
118
|
this.spritesByKind = {};
|
|
118
119
|
this.controlledSprites = [];
|
|
120
|
+
this.buttonEventHandlers = [];
|
|
119
121
|
this._data = {};
|
|
120
122
|
this._millis = 0;
|
|
121
123
|
}
|
package/libs/game/sprite.ts
CHANGED
|
@@ -1131,7 +1131,7 @@ class Sprite extends sprites.BaseSprite {
|
|
|
1131
1131
|
//% inlineInputMode=inline
|
|
1132
1132
|
//% value.defl=1
|
|
1133
1133
|
//% anchor.defl=ScaleAnchor.Middle
|
|
1134
|
-
//% help=sprites/sprite/scale
|
|
1134
|
+
//% help=sprites/sprite/set-scale
|
|
1135
1135
|
//% group="Scale" weight=90
|
|
1136
1136
|
setScale(value: number, anchor?: ScaleAnchor): void {
|
|
1137
1137
|
const direction = ScaleDirection.Uniformly;
|
|
@@ -1152,7 +1152,7 @@ class Sprite extends sprites.BaseSprite {
|
|
|
1152
1152
|
//% inlineInputMode=inline
|
|
1153
1153
|
//% value.defl=1
|
|
1154
1154
|
//% anchor.defl=ScaleAnchor.Middle
|
|
1155
|
-
//% help=sprites/sprite/scale
|
|
1155
|
+
//% help=sprites/sprite/change-scale
|
|
1156
1156
|
//% group="Scale" weight=90
|
|
1157
1157
|
changeScale(value: number, anchor?: ScaleAnchor): void {
|
|
1158
1158
|
const direction = ScaleDirection.Uniformly;
|
package/libs/game/sprites.ts
CHANGED
|
@@ -76,7 +76,7 @@ namespace sprites {
|
|
|
76
76
|
* Destroys all sprites of the given kind.
|
|
77
77
|
*/
|
|
78
78
|
//% group="Effects"
|
|
79
|
-
//% weight=79
|
|
79
|
+
//% weight=79 help=sprites/destroy-all-sprites-of-kind
|
|
80
80
|
//% blockId=sprites_destroy_all_sprites_of_kind
|
|
81
81
|
//% block="destroy all sprites of kind $kind || with $effect effect for $duration ms"
|
|
82
82
|
//% kind.shadow=spritekind
|
package/libs/game/tilemap.ts
CHANGED
|
@@ -281,12 +281,22 @@ namespace tiles {
|
|
|
281
281
|
}
|
|
282
282
|
}
|
|
283
283
|
|
|
284
|
+
export enum TileMapEvent {
|
|
285
|
+
Loaded,
|
|
286
|
+
Unloaded
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
export class TileMapEventHandler {
|
|
290
|
+
constructor(public event: TileMapEvent, public callback: (data: TileMapData) => void) {}
|
|
291
|
+
}
|
|
292
|
+
|
|
284
293
|
export class TileMap {
|
|
285
294
|
protected _scale: TileScale;
|
|
286
295
|
|
|
287
296
|
protected _layer: number;
|
|
288
297
|
protected _map: TileMapData;
|
|
289
298
|
renderable: scene.Renderable;
|
|
299
|
+
protected handlerState: TileMapEventHandler[];
|
|
290
300
|
|
|
291
301
|
constructor(scale: TileScale = TileScale.Sixteen) {
|
|
292
302
|
this._layer = 1;
|
|
@@ -309,7 +319,7 @@ namespace tiles {
|
|
|
309
319
|
}
|
|
310
320
|
}
|
|
311
321
|
|
|
312
|
-
|
|
322
|
+
get data(): TileMapData {
|
|
313
323
|
return this._map;
|
|
314
324
|
}
|
|
315
325
|
|
|
@@ -344,7 +354,27 @@ namespace tiles {
|
|
|
344
354
|
}
|
|
345
355
|
|
|
346
356
|
setData(map: TileMapData) {
|
|
357
|
+
const previous = this._map;
|
|
358
|
+
|
|
359
|
+
if (this.handlerState && previous !== map && previous) {
|
|
360
|
+
if (map) {
|
|
361
|
+
for (const eventHandler of this.handlerState) {
|
|
362
|
+
if (eventHandler.event === TileMapEvent.Unloaded) {
|
|
363
|
+
eventHandler.callback(previous);
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
|
|
347
369
|
this._map = map;
|
|
370
|
+
|
|
371
|
+
if (this.handlerState && previous !== map && map) {
|
|
372
|
+
for (const eventHandler of this.handlerState) {
|
|
373
|
+
if (eventHandler.event === TileMapEvent.Loaded) {
|
|
374
|
+
eventHandler.callback(map);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
}
|
|
348
378
|
}
|
|
349
379
|
|
|
350
380
|
public getTile(col: number, row: number): Location {
|
|
@@ -523,6 +553,26 @@ namespace tiles {
|
|
|
523
553
|
public getTileImage(index: number) {
|
|
524
554
|
return this.data.getTileImage(index);
|
|
525
555
|
}
|
|
556
|
+
|
|
557
|
+
public addEventListener(event: TileMapEvent, handler: (data: TileMapData) => void) {
|
|
558
|
+
if (!this.handlerState) this.handlerState = [];
|
|
559
|
+
|
|
560
|
+
for (const eventHandler of this.handlerState) {
|
|
561
|
+
if (eventHandler.event === event && eventHandler.callback === handler) return;
|
|
562
|
+
}
|
|
563
|
+
this.handlerState.push(new TileMapEventHandler(event, handler));
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
public removeEventListener(event: TileMapEvent, handler: (data: TileMapData) => void) {
|
|
567
|
+
if (!this.handlerState) return;
|
|
568
|
+
|
|
569
|
+
for (let i = 0; i < this.handlerState.length; i++) {
|
|
570
|
+
if (this.handlerState[i].event === event && this.handlerState[i].callback === handler) {
|
|
571
|
+
this.handlerState.splice(i, 1)
|
|
572
|
+
return;
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
}
|
|
526
576
|
}
|
|
527
577
|
|
|
528
578
|
function mkColorTile(index: number, scale: TileScale): Image {
|
|
@@ -662,7 +712,7 @@ namespace tiles {
|
|
|
662
712
|
//% block="tile at $location is wall"
|
|
663
713
|
//% location.shadow=mapgettile
|
|
664
714
|
//% blockNamespace="scene" group="Locations" blockGap=8
|
|
665
|
-
//% weight=30
|
|
715
|
+
//% weight=30 help=scene/tile-at-location-is-wall
|
|
666
716
|
export function tileAtLocationIsWall(location: Location): boolean {
|
|
667
717
|
if (!location || !location.tileMap) return false;
|
|
668
718
|
return location.isWall();
|
|
@@ -676,7 +726,7 @@ namespace tiles {
|
|
|
676
726
|
//% blockId=tiles_image_at_location
|
|
677
727
|
//% block="tile image at $location"
|
|
678
728
|
//% location.shadow=mapgettile
|
|
679
|
-
//% weight=0
|
|
729
|
+
//% weight=0 help=scene/tile-image-at-location
|
|
680
730
|
//% blockNamespace="scene" group="Locations"
|
|
681
731
|
export function tileImageAtLocation(location: Location): Image {
|
|
682
732
|
const scene = game.currentScene();
|
|
@@ -692,7 +742,7 @@ namespace tiles {
|
|
|
692
742
|
//% blockId=mapplaceontile block="place $sprite=variables_get(mySprite) on top of $loc"
|
|
693
743
|
//% loc.shadow=mapgettile
|
|
694
744
|
//% blockNamespace="scene" group="Tilemap Operations" blockGap=8
|
|
695
|
-
//% help=scene/place
|
|
745
|
+
//% help=scene/place-on-tile
|
|
696
746
|
//% weight=100
|
|
697
747
|
export function placeOnTile(sprite: Sprite, loc: Location): void {
|
|
698
748
|
if (!sprite || !loc || !loc.tileMap) return;
|
|
@@ -761,4 +811,38 @@ namespace tiles {
|
|
|
761
811
|
export function _tilemapEditor(tilemap: TileMapData): TileMapData {
|
|
762
812
|
return tilemap;
|
|
763
813
|
}
|
|
814
|
+
|
|
815
|
+
/**
|
|
816
|
+
* Adds an event handler that will fire whenever the specified event
|
|
817
|
+
* is triggered. Unloaded tilemap events will fire before the new tilemap
|
|
818
|
+
* is set and loaded events will fire afterwards. The same handler can
|
|
819
|
+
* not be added for the same event more than once.
|
|
820
|
+
*
|
|
821
|
+
* @param event The event to subscribe to
|
|
822
|
+
* @param handler The code to run when the event triggers
|
|
823
|
+
*/
|
|
824
|
+
export function addEventListener(event: TileMapEvent, callback: (data: TileMapData) => void) {
|
|
825
|
+
const scene = game.currentScene();
|
|
826
|
+
|
|
827
|
+
if (!scene.tileMap) {
|
|
828
|
+
scene.tileMap = new TileMap();
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
scene.tileMap.addEventListener(event, callback);
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
|
|
835
|
+
/**
|
|
836
|
+
* Removes an event handler registered with addEventListener.
|
|
837
|
+
*
|
|
838
|
+
* @param event The event that the handler was registered for
|
|
839
|
+
* @param handler The handler to remove
|
|
840
|
+
*/
|
|
841
|
+
export function removeEventListener(event: TileMapEvent, callback: (data: TileMapData) => void) {
|
|
842
|
+
const scene = game.currentScene();
|
|
843
|
+
|
|
844
|
+
if (!scene.tileMap) return;
|
|
845
|
+
|
|
846
|
+
scene.tileMap.removeEventListener(event, callback);
|
|
847
|
+
}
|
|
764
848
|
}
|
|
@@ -56,7 +56,7 @@ const pxsim_pxtrt = pxsim.pxtrt;
|
|
|
56
56
|
const pxsim_numops = pxsim.numops;
|
|
57
57
|
|
|
58
58
|
|
|
59
|
-
function
|
|
59
|
+
function _main___P48928(s) {
|
|
60
60
|
let r0 = s.r0, step = s.pc;
|
|
61
61
|
s.pc = -1;
|
|
62
62
|
|
|
@@ -66,19 +66,19 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re
|
|
|
66
66
|
switch (step) {
|
|
67
67
|
case 0:
|
|
68
68
|
|
|
69
|
-
globals.
|
|
70
|
-
globals.
|
|
69
|
+
globals._intervals___49171 = (undefined);
|
|
70
|
+
globals._pollEventQueue___49184 = (undefined);
|
|
71
71
|
r0 = undefined;
|
|
72
72
|
return leave(s, r0)
|
|
73
73
|
default: oops()
|
|
74
74
|
} } }
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
_main___P48928.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"characterlcd.ts","functionName":"<main>","argumentNames":[]}
|
|
76
|
+
_main___P48928.continuations = [ ]
|
|
77
77
|
|
|
78
|
-
function
|
|
78
|
+
function _main___P48928_mk(s) {
|
|
79
79
|
checkStack(s.depth);
|
|
80
80
|
return {
|
|
81
|
-
parent: s, fn:
|
|
81
|
+
parent: s, fn: _main___P48928, depth: s.depth + 1,
|
|
82
82
|
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
|
|
83
83
|
} }
|
|
84
84
|
|
|
@@ -88,5 +88,5 @@ function _main___P48806_mk(s) {
|
|
|
88
88
|
|
|
89
89
|
const breakpoints = setupDebugger(1, [])
|
|
90
90
|
|
|
91
|
-
return
|
|
91
|
+
return _main___P48928
|
|
92
92
|
})
|
|
@@ -56,7 +56,7 @@ const pxsim_pxtrt = pxsim.pxtrt;
|
|
|
56
56
|
const pxsim_numops = pxsim.numops;
|
|
57
57
|
|
|
58
58
|
|
|
59
|
-
function
|
|
59
|
+
function _main___P97400(s) {
|
|
60
60
|
let r0 = s.r0, step = s.pc;
|
|
61
61
|
s.pc = -1;
|
|
62
62
|
|
|
@@ -66,19 +66,19 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re
|
|
|
66
66
|
switch (step) {
|
|
67
67
|
case 0:
|
|
68
68
|
|
|
69
|
-
globals.
|
|
70
|
-
globals.
|
|
69
|
+
globals._intervals___97643 = (undefined);
|
|
70
|
+
globals._pollEventQueue___97656 = (undefined);
|
|
71
71
|
r0 = undefined;
|
|
72
72
|
return leave(s, r0)
|
|
73
73
|
default: oops()
|
|
74
74
|
} } }
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
_main___P97400.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"tsl2591.ts","functionName":"<main>","argumentNames":[]}
|
|
76
|
+
_main___P97400.continuations = [ ]
|
|
77
77
|
|
|
78
|
-
function
|
|
78
|
+
function _main___P97400_mk(s) {
|
|
79
79
|
checkStack(s.depth);
|
|
80
80
|
return {
|
|
81
|
-
parent: s, fn:
|
|
81
|
+
parent: s, fn: _main___P97400, depth: s.depth + 1,
|
|
82
82
|
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
|
|
83
83
|
} }
|
|
84
84
|
|
|
@@ -88,5 +88,5 @@ function _main___P97034_mk(s) {
|
|
|
88
88
|
|
|
89
89
|
const breakpoints = setupDebugger(1, [])
|
|
90
90
|
|
|
91
|
-
return
|
|
91
|
+
return _main___P97400
|
|
92
92
|
})
|
|
@@ -56,7 +56,7 @@ const pxsim_pxtrt = pxsim.pxtrt;
|
|
|
56
56
|
const pxsim_numops = pxsim.numops;
|
|
57
57
|
|
|
58
58
|
|
|
59
|
-
function
|
|
59
|
+
function _main___P60230(s) {
|
|
60
60
|
let r0 = s.r0, step = s.pc;
|
|
61
61
|
s.pc = -1;
|
|
62
62
|
|
|
@@ -66,19 +66,19 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re
|
|
|
66
66
|
switch (step) {
|
|
67
67
|
case 0:
|
|
68
68
|
|
|
69
|
-
globals.
|
|
70
|
-
globals.
|
|
69
|
+
globals._intervals___60473 = (undefined);
|
|
70
|
+
globals._pollEventQueue___60486 = (undefined);
|
|
71
71
|
r0 = undefined;
|
|
72
72
|
return leave(s, r0)
|
|
73
73
|
default: oops()
|
|
74
74
|
} } }
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
_main___P60230.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"lora.ts","functionName":"<main>","argumentNames":[]}
|
|
76
|
+
_main___P60230.continuations = [ ]
|
|
77
77
|
|
|
78
|
-
function
|
|
78
|
+
function _main___P60230_mk(s) {
|
|
79
79
|
checkStack(s.depth);
|
|
80
80
|
return {
|
|
81
|
-
parent: s, fn:
|
|
81
|
+
parent: s, fn: _main___P60230, depth: s.depth + 1,
|
|
82
82
|
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
|
|
83
83
|
} }
|
|
84
84
|
|
|
@@ -88,5 +88,5 @@ function _main___P60108_mk(s) {
|
|
|
88
88
|
|
|
89
89
|
const breakpoints = setupDebugger(1, [])
|
|
90
90
|
|
|
91
|
-
return
|
|
91
|
+
return _main___P60230
|
|
92
92
|
})
|
|
@@ -56,7 +56,7 @@ const pxsim_pxtrt = pxsim.pxtrt;
|
|
|
56
56
|
const pxsim_numops = pxsim.numops;
|
|
57
57
|
|
|
58
58
|
|
|
59
|
-
function
|
|
59
|
+
function _main___P188722(s) {
|
|
60
60
|
let r0 = s.r0, step = s.pc;
|
|
61
61
|
s.pc = -1;
|
|
62
62
|
|
|
@@ -66,19 +66,19 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re
|
|
|
66
66
|
switch (step) {
|
|
67
67
|
case 0:
|
|
68
68
|
|
|
69
|
-
globals.
|
|
70
|
-
globals.
|
|
69
|
+
globals._intervals___188965 = (undefined);
|
|
70
|
+
globals._pollEventQueue___188978 = (undefined);
|
|
71
71
|
r0 = undefined;
|
|
72
72
|
return leave(s, r0)
|
|
73
73
|
default: oops()
|
|
74
74
|
} } }
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
_main___P188722.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"keypad.ts","functionName":"<main>","argumentNames":[]}
|
|
76
|
+
_main___P188722.continuations = [ ]
|
|
77
77
|
|
|
78
|
-
function
|
|
78
|
+
function _main___P188722_mk(s) {
|
|
79
79
|
checkStack(s.depth);
|
|
80
80
|
return {
|
|
81
|
-
parent: s, fn:
|
|
81
|
+
parent: s, fn: _main___P188722, depth: s.depth + 1,
|
|
82
82
|
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
|
|
83
83
|
} }
|
|
84
84
|
|
|
@@ -88,5 +88,5 @@ function _main___P187868_mk(s) {
|
|
|
88
88
|
|
|
89
89
|
const breakpoints = setupDebugger(1, [])
|
|
90
90
|
|
|
91
|
-
return
|
|
91
|
+
return _main___P188722
|
|
92
92
|
})
|