pxt-common-packages 9.5.5 → 9.5.8

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.
Files changed (55) hide show
  1. package/built/common-sim.d.ts +40 -0
  2. package/built/common-sim.js +93 -1
  3. package/libs/azureiot/built/debug/binary.js +461 -461
  4. package/libs/base/sim/core.ts +1 -1
  5. package/libs/color/built/debug/binary.js +8 -8
  6. package/libs/color-sensor/built/debug/binary.js +8 -8
  7. package/libs/controller/built/debug/binary.js +7659 -7665
  8. package/libs/controller---none/built/debug/binary.js +7638 -7644
  9. package/libs/datalogger/built/debug/binary.js +63 -63
  10. package/libs/edge-connector/built/debug/binary.js +8 -8
  11. package/libs/esp32/built/debug/binary.js +462 -462
  12. package/libs/game/_locales/game-strings.json +1 -0
  13. package/libs/game/built/debug/binary.js +7551 -7557
  14. package/libs/game/docs/reference/sprites/sprite-kind.md +70 -0
  15. package/libs/game/docs/reference/tiles/get-neighboring-location.md +123 -0
  16. package/libs/game/docs/reference/tiles/get-tile-location.md +71 -30
  17. package/libs/game/docs/reference/tiles/get-tiles-by-type.md +66 -32
  18. package/libs/game/docs/reference/tiles/location.md +246 -0
  19. package/libs/game/docs/reference/tiles/place-on-random-tile.md +54 -21
  20. package/libs/game/docs/reference/tiles/place-on-tile.md +88 -0
  21. package/libs/game/docs/reference/tiles/set-current-tilemap.md +90 -0
  22. package/libs/game/docs/reference/tiles/set-tile-at.md +47 -30
  23. package/libs/game/docs/reference/tiles/set-tilemap.md +90 -0
  24. package/libs/game/docs/reference/tiles/set-wall-at.md +67 -68
  25. package/libs/game/docs/reference/tiles/tile-at-location-equals.md +97 -0
  26. package/libs/game/docs/reference/tiles/tile-at-location-is-wall.md +98 -0
  27. package/libs/game/docs/reference/tiles/tilemap.md +145 -0
  28. package/libs/game/hitbox.ts +2 -2
  29. package/libs/game/multiplayer.cpp +25 -0
  30. package/libs/game/multiplayer.ts +24 -0
  31. package/libs/game/pxt.json +3 -1
  32. package/libs/game/scene.ts +1 -0
  33. package/libs/game/sim/multiplayer.ts +132 -0
  34. package/libs/game/sprite.ts +1 -1
  35. package/libs/game/spritekind.ts +1 -0
  36. package/libs/game/tilemap.ts +12 -11
  37. package/libs/lcd/built/debug/binary.js +8 -8
  38. package/libs/light-spectrum-sensor/built/debug/binary.js +8 -8
  39. package/libs/lora/built/debug/binary.js +8 -8
  40. package/libs/matrix-keypad/built/debug/binary.js +8 -8
  41. package/libs/mqtt/built/debug/binary.js +176 -176
  42. package/libs/net/built/debug/binary.js +176 -176
  43. package/libs/net-game/built/debug/binary.js +9339 -9345
  44. package/libs/palette/built/debug/binary.js +7550 -7556
  45. package/libs/pixel/built/debug/binary.js +8 -8
  46. package/libs/power/built/debug/binary.js +8 -8
  47. package/libs/proximity/built/debug/binary.js +8 -8
  48. package/libs/radio/built/debug/binary.js +8 -8
  49. package/libs/radio-broadcast/built/debug/binary.js +8 -8
  50. package/libs/rotary-encoder/built/debug/binary.js +8 -8
  51. package/libs/screen/built/debug/binary.js +50 -50
  52. package/libs/servo/built/debug/binary.js +8 -8
  53. package/libs/sprite-scaling/built/debug/binary.js +7550 -7556
  54. package/libs/storyboard/built/debug/binary.js +7550 -7556
  55. package/package.json +2 -2
@@ -0,0 +1,246 @@
1
+ # Location
2
+
3
+ The Location object contains the postition information of a game element on the tilemap.
4
+
5
+ ## column (property)
6
+
7
+ Get a tile column position of an object on the tilemap.
8
+
9
+ ```block
10
+ let location: tiles.Location = null
11
+
12
+ let col = location.column
13
+ ```
14
+
15
+ ```typescript-ignore
16
+ let col = location.column
17
+ ```
18
+
19
+ ### Returns
20
+
21
+ * a [number](/types/number) that is the tile column position of object on the tilemap.
22
+
23
+ ## row (property)
24
+
25
+ Get a tile row position of an object on the tilemap.
26
+
27
+ ```block
28
+ let location: tiles.Location = null
29
+
30
+ let row = location.row
31
+ ```
32
+
33
+ ```typescript-ignore
34
+ let row = location.row
35
+ ```
36
+
37
+ ### Returns
38
+
39
+ * a [number](/types/number) that is the tile row position of object on the tilemap.
40
+
41
+ ## x (property)
42
+
43
+ Get the horizontal center position of an object on the tilemap.
44
+
45
+ ```block
46
+ let location: tiles.Location = null
47
+
48
+ let horz = location.x
49
+ ```
50
+
51
+ ```typescript-ignore
52
+ let horz = location.x
53
+ ```
54
+
55
+ ### Returns
56
+
57
+ * a [number](/types/number) that is the current horizontal center position, in pixels, of the object on the tilemap.
58
+
59
+ ## y (property)
60
+
61
+ Get the vertical center position of an object on the tilemap.
62
+
63
+ ```block
64
+ let location: tiles.Location = null
65
+
66
+ let vert = location.y
67
+ ```
68
+
69
+ ```typescript-ignore
70
+ let vert = location.y
71
+ ```
72
+
73
+ ### Returns
74
+
75
+ * a [number](/types/number) that is the vertical center position, in pixels, of object on the tilemap.
76
+
77
+ ## left (property)
78
+
79
+ Get the of position of left side an object on the tilemap.
80
+
81
+ ```block
82
+ let location: tiles.Location = null
83
+
84
+ let left = location.left
85
+ ```
86
+
87
+ ```typescript-ignore
88
+ let left = location.left
89
+ ```
90
+
91
+ ### Returns
92
+
93
+ * a [number](/types/number) that is the left side, in pixels, of object on the tilemap.
94
+
95
+ ## right (property)
96
+
97
+ Get the of position of right side an object on the tilemap.
98
+
99
+ ```block
100
+ let location: tiles.Location = null
101
+
102
+ let right = location.right
103
+ ```
104
+
105
+ ```typescript-ignore
106
+ let right = location.right
107
+ ```
108
+
109
+ ### Returns
110
+
111
+ * a [number](/types/number) that is the right side, in pixels, of object on the tilemap.
112
+
113
+ ## top (property)
114
+
115
+ Get the of position of top side an object on the tilemap.
116
+
117
+ ```block
118
+ let location: tiles.Location = null
119
+
120
+ let top = location.top
121
+ ```
122
+
123
+ ```typescript-ignore
124
+ let top = location.top
125
+ ```
126
+
127
+ ### Returns
128
+
129
+ * a [number](/types/number) that is the right side, in pixels, of object on the tilemap.
130
+
131
+ ## bottom (property)
132
+
133
+ Get the of position of bottom side an object on the tilemap.
134
+
135
+ ```block
136
+ let location: tiles.Location = null
137
+
138
+ let bottom = location.bottom
139
+ ```
140
+
141
+ ```typescript-ignore
142
+ let bottom = location.bottom
143
+ ```
144
+
145
+ ### Returns
146
+
147
+ * a [number](/types/number) that is the right side, in pixels, of object on the tilemap.
148
+
149
+ ## Example #example
150
+
151
+ Make checkered table cloth with tiles on a tilemap. Create a hamburger sprite and randomly locate it on the table cloth. Find out where the hamburger is and display its location.
152
+
153
+ ```blocks
154
+ tiles.setCurrentTilemap(tilemap`level1`)
155
+ let mySprite = sprites.create(img`
156
+ ...........ccccc66666...........
157
+ ........ccc4444444444666........
158
+ ......cc444444444bb4444466......
159
+ .....cb4444bb4444b5b444444b.....
160
+ ....eb4444b5b44444b44444444b....
161
+ ...ebb44444b4444444444b444446...
162
+ ..eb6bb444444444bb444b5b444446..
163
+ ..e6bb5b44444444b5b444b44bb44e..
164
+ .e66b4b4444444444b4444444b5b44e.
165
+ .e6bb444444444444444444444bb44e.
166
+ eb66b44444bb444444444444444444be
167
+ eb66bb444b5b44444444bb44444444be
168
+ fb666b444bb444444444b5b4444444bf
169
+ fcb666b44444444444444bb444444bcf
170
+ .fbb6666b44444444444444444444bf.
171
+ .efbb66666bb4444444444444444bfe.
172
+ .86fcbb66666bbb44444444444bcc688
173
+ 8772effcbbbbbbbbbbbbbbbbcfc22778
174
+ 87722222cccccccccccccccc22226678
175
+ f866622222222222222222222276686f
176
+ fef866677766667777776667777fffef
177
+ fbff877768f86777777666776fffffbf
178
+ fbeffeefffeff7766688effeeeefeb6f
179
+ f6bfffeffeeeeeeeeeeeeefeeeeebb6e
180
+ f66ddfffffeeeffeffeeeeeffeedb46e
181
+ .c66ddd4effffffeeeeeffff4ddb46e.
182
+ .fc6b4dddddddddddddddddddb444ee.
183
+ ..ff6bb444444444444444444444ee..
184
+ ....ffbbbb4444444444444444ee....
185
+ ......ffebbbbbb44444444eee......
186
+ .........fffffffcccccee.........
187
+ ................................
188
+ `, SpriteKind.Player)
189
+ mySprite.setPosition(randint(16, 144), randint(16, 104))
190
+ let location = mySprite.tilemapLocation()
191
+ let displayString = "My hamburger is at "
192
+ displayString = "" + displayString + "x = "
193
+ displayString = "" + displayString + location.x + ", y = " + location.y
194
+ displayString = "" + displayString + " and over the tile at column = "
195
+ displayString = "" + displayString + location.column + ", row = " + location.row
196
+ game.showLongText(displayString, DialogLayout.Bottom)
197
+ ```
198
+
199
+ ## See also #seealso
200
+
201
+ [get neighboring location](/reference/tiles/get-neighboring-location)
202
+
203
+ ```jres
204
+ {
205
+ "transparency16": {
206
+ "data": "hwQQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
207
+ "mimeType": "image/x-mkcd-f4",
208
+ "tilemapTile": true
209
+ },
210
+ "tile3": {
211
+ "data": "hwQQABAAAABERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERA==",
212
+ "mimeType": "image/x-mkcd-f4",
213
+ "tilemapTile": true,
214
+ "displayName": "myTile1"
215
+ },
216
+ "tile4": {
217
+ "data": "hwQQABAAAAB3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3dw==",
218
+ "mimeType": "image/x-mkcd-f4",
219
+ "tilemapTile": true,
220
+ "displayName": "myTile2"
221
+ },
222
+ "tile5": {
223
+ "data": "hwQQABAAAACqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqg==",
224
+ "mimeType": "image/x-mkcd-f4",
225
+ "tilemapTile": true,
226
+ "displayName": "myTile3"
227
+ },
228
+ "level1": {
229
+ "id": "level1",
230
+ "mimeType": "application/mkcd-tilemap",
231
+ "data": "MTAwYTAwMDgwMDAzMDEwMzAxMDMwMTAzMDEwMzAxMDEwMzAyMDMwMjAzMDIwMzAyMDMwMzAyMDMwMjAzMDIwMzAyMDMwMTAxMDMwMjAzMDIwMzAyMDMwMjAzMDMwMjAzMDIwMzAyMDMwMjAzMDEwMTAzMDIwMzAyMDMwMjAzMDIwMzAzMDIwMzAyMDMwMjAzMDIwMzAxMDEwMzAxMDMwMTAzMDEwMzAxMDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMA==",
232
+ "tileset": [
233
+ "myTiles.transparency16",
234
+ "myTiles.tile3",
235
+ "myTiles.tile4",
236
+ "myTiles.tile5"
237
+ ],
238
+ "displayName": "level1"
239
+ },
240
+ "*": {
241
+ "mimeType": "image/x-mkcd-f4",
242
+ "dataEncoding": "base64",
243
+ "namespace": "myTiles"
244
+ }
245
+ }
246
+ ```
@@ -3,22 +3,22 @@
3
3
  Move a sprite's position to the center of a random tile in the scene.
4
4
 
5
5
  ```sig
6
- tiles.placeOnRandomTile(null, 0)
6
+ tiles.placeOnRandomTile(null, null)
7
7
  ```
8
8
 
9
- You a can place a sprite on top of a random tile in the tile map. Use the tile image to select which group of tiles the sprite can be placed on.
9
+ You can make a sprite locate itself right on top of a random tile in the tilemap. Choose a tile in the tilemap to indicate which type of tile to have the sprite randomly placed on. If there is only one tile of that type, the sprite will always go to that tile. If multiple tiles of the same type are in the tilemap, then the sprite will randomly locate on any one of them.
10
10
 
11
11
  ## Parameters
12
12
 
13
13
  * **sprite**: the sprite to move onto the tile.
14
- * **image**: the tile [image](/types/image). The sprite will be randomly placed on a tile that matches this image
14
+ * **tile**: the tile type to randomly select in the tilemap.
15
15
 
16
16
  ## Example #example
17
17
 
18
- Make a tilemap with two solid color tiles. Create a circle sprite and randomly place the sprite on only the brown tiles.
18
+ Make a tilemap with several different tiles. Create a round shaped sprite. Ramdomly place the sprite on a blue tile.
19
19
 
20
20
  ```blocks
21
- tiles.setTilemap(tilemap`level`)
21
+ tiles.setTilemap(tilemap`level1`)
22
22
  let mySprite = sprites.create(img`
23
23
  . . . . . . . . . . . . . . . .
24
24
  . . . . . . . . . . . . . . . .
@@ -37,15 +37,13 @@ let mySprite = sprites.create(img`
37
37
  . . . . . . . . . . . . . . . .
38
38
  . . . . . . . . . . . . . . . .
39
39
  `, SpriteKind.Player)
40
- forever(function () {
41
- tiles.placeOnRandomTile(mySprite, assets.tile`brownTile`)
42
- pause(1000)
43
- })
40
+ pause(1000)
41
+ tiles.placeOnRandomTile(mySprite, assets.tile`myTile`)
44
42
  ```
45
43
 
46
44
  ## See also #seealso
47
45
 
48
- [get tile location](/reference/tiles/get-tile-location)
46
+ [place on tile](/reference/tiles/place-on-tile)
49
47
 
50
48
  ```jres
51
49
  {
@@ -54,28 +52,63 @@ forever(function () {
54
52
  "mimeType": "image/x-mkcd-f4",
55
53
  "tilemapTile": true
56
54
  },
57
- "redTile": {
55
+ "tile7": {
56
+ "data": "hwQQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
57
+ "mimeType": "image/x-mkcd-f4",
58
+ "tilemapTile": true,
59
+ "displayName": "myTile5"
60
+ },
61
+ "tile1": {
62
+ "data": "hwQQABAAAACIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiA==",
63
+ "mimeType": "image/x-mkcd-f4",
64
+ "tilemapTile": true,
65
+ "displayName": "myTile"
66
+ },
67
+ "tile2": {
58
68
  "data": "hwQQABAAAAAiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIg==",
59
69
  "mimeType": "image/x-mkcd-f4",
60
70
  "tilemapTile": true,
61
- "displayName": "redTile"
71
+ "displayName": "myTile0"
72
+ },
73
+ "tile3": {
74
+ "data": "hwQQABAAAABVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ==",
75
+ "mimeType": "image/x-mkcd-f4",
76
+ "tilemapTile": true,
77
+ "displayName": "myTile1"
78
+ },
79
+ "tile4": {
80
+ "data": "hwQQABAAAAB3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3dw==",
81
+ "mimeType": "image/x-mkcd-f4",
82
+ "tilemapTile": true,
83
+ "displayName": "myTile2"
84
+ },
85
+ "tile5": {
86
+ "data": "hwQQABAAAACqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqg==",
87
+ "mimeType": "image/x-mkcd-f4",
88
+ "tilemapTile": true,
89
+ "displayName": "myTile3"
62
90
  },
63
- "brownTile": {
64
- "data": "hwQQABAAAADu7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7g==",
91
+ "tile6": {
92
+ "data": "hwQQABAAAACZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQ==",
65
93
  "mimeType": "image/x-mkcd-f4",
66
94
  "tilemapTile": true,
67
- "displayName": "brownTile"
95
+ "displayName": "myTile4"
68
96
  },
69
- "level": {
70
- "id": "level",
97
+ "level1": {
98
+ "id": "level1",
71
99
  "mimeType": "application/mkcd-tilemap",
72
- "data": "MTAwNjAwMDUwMDAyMDAwMTAwMDIwMDAwMDIwMDAxMDAwMjAxMDAwMjAwMDEwMDAwMDEwMDAyMDAwMTAyMDAwMTAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMA==",
100
+ "data": "MTAwYTAwMDgwMDAwMDAwMDAwMDAwMDAzMDAwMDAwMDAwMDA2MDAwMDAwMDAwMDAyMDAwMDAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwMDAwMDAwMDAwMDAwMDA1MDAwMDAwMDAwMTAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMA==",
73
101
  "tileset": [
74
102
  "myTiles.transparency16",
75
- "myTiles.redTile",
76
- "myTiles.brownTile"
103
+ "myTiles.tile1",
104
+ "myTiles.tile2",
105
+ "myTiles.tile3",
106
+ "myTiles.tile4",
107
+ "myTiles.tile5",
108
+ "myTiles.tile6",
109
+ "myTiles.tile7"
77
110
  ],
78
- "displayName": "level"
111
+ "displayName": "level1"
79
112
  },
80
113
  "*": {
81
114
  "mimeType": "image/x-mkcd-f4",
@@ -0,0 +1,88 @@
1
+ # place On Tile
2
+
3
+ Move a sprite's position to the center of a tile location in the tilemap.
4
+
5
+ ```sig
6
+ tiles.placeOnTile(null, tiles.getTileLocation(0, 0))
7
+ ```
8
+
9
+ A sprite will locate itself on top of a tile in the tilemap using a tilemap location object. A location object contains a tile row value and a tile column value.
10
+
11
+ ## Parameters
12
+
13
+ * **sprite**: the sprite to move onto the tile.
14
+ * **loc**: a tile [location](/reference/tiles/location) in the tilemap.
15
+
16
+ ## Example #example
17
+
18
+ Make a grid tilemap with two tile colors. Create a round shaped sprite. Ramdomly place the sprite on a tile in the grid.
19
+
20
+ ```blocks
21
+ tiles.setTilemap(tilemap`level1`)
22
+ let mySprite = sprites.create(img`
23
+ . . . . . . . . . . . . . . . .
24
+ . . . . . . . . . . . . . . . .
25
+ . . . . . 7 7 7 7 7 7 . . . . .
26
+ . . . 7 7 7 7 7 7 7 7 7 7 . . .
27
+ . . . 7 7 7 7 7 7 7 7 7 7 . . .
28
+ . . 7 7 7 7 7 7 7 7 7 7 7 7 . .
29
+ . . 7 7 7 7 7 7 7 7 7 7 7 7 . .
30
+ . . 7 7 7 7 7 7 7 7 7 7 7 7 . .
31
+ . . 7 7 7 7 7 7 7 7 7 7 7 7 . .
32
+ . . 7 7 7 7 7 7 7 7 7 7 7 7 . .
33
+ . . 7 7 7 7 7 7 7 7 7 7 7 7 . .
34
+ . . . 7 7 7 7 7 7 7 7 7 7 . . .
35
+ . . . 7 7 7 7 7 7 7 7 7 7 . . .
36
+ . . . . . 7 7 7 7 7 7 . . . . .
37
+ . . . . . . . . . . . . . . . .
38
+ . . . . . . . . . . . . . . . .
39
+ `, SpriteKind.Player)
40
+
41
+ forever(function () {
42
+ tiles.placeOnTile(mySprite, tiles.getTileLocation(randint(0, 9), randint(0, 6)))
43
+ pause(500)
44
+ })
45
+ ```
46
+
47
+ ## See also #seealso
48
+
49
+ [get tile location](/reference/tiles/get-tile-location),
50
+ [place on random tile](/reference/tiles/place-on-random-tile)
51
+
52
+ ```jres
53
+ {
54
+ "transparency16": {
55
+ "data": "hwQQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
56
+ "mimeType": "image/x-mkcd-f4",
57
+ "tilemapTile": true
58
+ },
59
+ "tile1": {
60
+ "data": "hwQQABAAAADd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3Q==",
61
+ "mimeType": "image/x-mkcd-f4",
62
+ "tilemapTile": true,
63
+ "displayName": "myTile"
64
+ },
65
+ "tile2": {
66
+ "data": "hwQQABAAAABVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ==",
67
+ "mimeType": "image/x-mkcd-f4",
68
+ "tilemapTile": true,
69
+ "displayName": "myTile0"
70
+ },
71
+ "level1": {
72
+ "id": "level1",
73
+ "mimeType": "application/mkcd-tilemap",
74
+ "data": "MTAwYTAwMDgwMDAxMDIwMTAyMDEwMjAxMDIwMTAyMDIwMTAyMDEwMjAxMDIwMTAyMDEwMTAyMDEwMjAxMDIwMTAyMDEwMjAyMDEwMjAxMDIwMTAyMDEwMjAxMDEwMjAxMDIwMTAyMDEwMjAxMDIwMjAxMDIwMTAyMDEwMjAxMDIwMTAxMDIwMTAyMDEwMjAxMDIwMTAyMDIwMTAyMDEwMjAxMDIwMTAyMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMA==",
75
+ "tileset": [
76
+ "myTiles.transparency16",
77
+ "myTiles.tile1",
78
+ "myTiles.tile2"
79
+ ],
80
+ "displayName": "level1"
81
+ },
82
+ "*": {
83
+ "mimeType": "image/x-mkcd-f4",
84
+ "dataEncoding": "base64",
85
+ "namespace": "myTiles"
86
+ }
87
+ }
88
+ ```
@@ -0,0 +1,90 @@
1
+ # set Current Tilemap
2
+
3
+ Set a tilemap as the current tilemap for the game scene.
4
+
5
+ ```sig
6
+ tiles.setCurrentTilemap(null)
7
+ ```
8
+
9
+ A [tilemap](/reference/tiles/tilemap) is a data object that contains the dimensions, layers, and tile list for a tile mapping to set as the scene for a game. A game program can have more than one tilemap defined and the game's scene or _level_ can change by setting a different tilemap at certain times during a game.
10
+
11
+ Tilemaps aren't coded by the user but are created using a tilemap editor. Each tilemap in a game project is a named resource and is contained within the project's **assets** collection. In code,a particular tilemap is specified with it's resource name like this:
12
+
13
+ ```typescript
14
+ tiles.setCurrentTilemap(tilemap`level1`)
15
+ ```
16
+
17
+ ## Parameters
18
+
19
+ * **tilemap**: the [tilemap](/reference/tiles/tilemap) data containing the tilemap layout and tiles to set for the game scene. The tilemap can be specified by it's resource name, such as: `` tilemap`level1` ``.
20
+
21
+ ## Example #example
22
+
23
+ Create a maze tilemap for a sprite to travel through. Set the tilemap as the scene for the game. Create a sprite and start it travelling in the maze.
24
+
25
+ ```blocks
26
+ tiles.setCurrentTilemap(tilemap`level1`)
27
+ let mySprite = sprites.create(img`
28
+ . . . . . . . . . . . . . . . .
29
+ . . . . . . . . . . . . . . . .
30
+ . . . . . 5 5 5 5 5 5 . . . . .
31
+ . . . 5 5 5 5 5 5 5 5 5 5 . . .
32
+ . . . 5 5 5 5 5 5 5 5 5 5 . . .
33
+ . . 5 5 5 5 5 5 5 5 5 5 5 5 . .
34
+ . . 5 5 5 5 5 5 5 5 5 5 5 5 . .
35
+ . . 5 5 5 5 5 5 5 5 5 5 5 5 . .
36
+ . . 5 5 5 5 5 5 5 5 5 5 5 5 . .
37
+ . . 5 5 5 5 5 5 5 5 5 5 5 5 . .
38
+ . . 5 5 5 5 5 5 5 5 5 5 5 5 . .
39
+ . . . 5 5 5 5 5 5 5 5 5 5 . . .
40
+ . . . 5 5 5 5 5 5 5 5 5 5 . . .
41
+ . . . . . 5 5 5 5 5 5 . . . . .
42
+ . . . . . . . . . . . . . . . .
43
+ . . . . . . . . . . . . . . . .
44
+ `, SpriteKind.Player)
45
+ mySprite.setPosition(0, 104)
46
+ mySprite.vx = 16
47
+ ```
48
+
49
+ ## See also #seealso
50
+
51
+ [tilemap](/reference/tiles/tilemap),
52
+ [set tile at](/reference/scene/set-tile-at)
53
+
54
+ ```jres
55
+ {
56
+ "transparency16": {
57
+ "data": "hwQQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
58
+ "mimeType": "image/x-mkcd-f4",
59
+ "tilemapTile": true
60
+ },
61
+ "tile1": {
62
+ "data": "hwQQABAAAADu7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7g==",
63
+ "mimeType": "image/x-mkcd-f4",
64
+ "tilemapTile": true,
65
+ "displayName": "myTile0"
66
+ },
67
+ "tile2": {
68
+ "data": "hwQQABAAAABERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERA==",
69
+ "mimeType": "image/x-mkcd-f4",
70
+ "tilemapTile": true,
71
+ "displayName": "myTile1"
72
+ },
73
+ "level1": {
74
+ "id": "level1",
75
+ "mimeType": "application/mkcd-tilemap",
76
+ "data": "MTAwYTAwMDgwMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMDAwMDAwMDAwMDAwMDAwMDEwMTAwMDIwMjAyMDAwMjAyMDAwMTAxMDAwMjAwMDIwMDAyMDIwMDAwMDEwMDAyMDAwMjAwMDIwMDAwMDEwMTAwMDIwMDAyMDIwMjAwMDIwMTAwMDAwMDAwMDAwMDAyMDAwMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEyMjIyMjIyMjIyMDIwMDAwMDAyMDAyMjIwMjIyMjAwMjAyMDIyMjAwMDIwMjAyMDIyMDAyMDIyMjAyMjIwMDAwMDAwMjIwMjIyMjIyMjIyMg==",
77
+ "tileset": [
78
+ "myTiles.transparency16",
79
+ "myTiles.tile1",
80
+ "myTiles.tile2"
81
+ ],
82
+ "displayName": "maze"
83
+ },
84
+ "*": {
85
+ "mimeType": "image/x-mkcd-f4",
86
+ "dataEncoding": "base64",
87
+ "namespace": "myTiles"
88
+ }
89
+ }
90
+ ```
@@ -1,48 +1,65 @@
1
1
  # set Tile At
2
2
 
3
- Set a location in the tilemap to a specific tile.
3
+ Set a tile at a location in the tilemap.
4
4
 
5
5
  ```sig
6
- tiles.setTileAt(null, 0)
6
+ tiles.setTileAt(tiles.getTileLocation(0, 0), null)
7
7
  ```
8
8
 
9
- This block allows you to place a tile [image](/types/image) at a specific [tile](/types/tile) location in the map. The tile map will be updated with the new image.
9
+ You can set a tile at a specific column and row in the tilemap using a tile location object. Specify a tile to set in the tilemap and a location for it.
10
10
 
11
11
  ## Parameters
12
12
 
13
- * **tile**: the [tile](/types/tile) location.
14
- * **image**: the tile [image](/types/image) to place in this location.
13
+ * **loc**: a tile [location](/reference/tiles/location) in the tilemap.
14
+ * **tile**: the to set in the tilemap.
15
15
 
16
16
  ## Example #example
17
17
 
18
- Make a scene using a tilemap with border tiles and two tiles in the center. Replace the tiles in the center with the ones used for the border.
18
+ Create an empty tilemap and a solid color tile. Set the solid color tile at different places in the tilemap and replace its previous location with a transparent tile.
19
19
 
20
20
  ```blocks
21
- let image = img`
22
- a a a a a a a a a a a a a a a a
23
- a a a a a a a a a a a a a a a a
24
- a a a a a a a a a a a a a a a a
25
- a a a a a a a a a a a a a a a a
26
- a a a a a a a a a a a a a a a a
27
- a a a a a a a a a a a a a a a a
28
- a a a a a a a a a a a a a a a a
29
- a a a a a a a a a a a a a a a a
30
- a a a a a a a a a a a a a a a a
31
- a a a a a a a a a a a a a a a a
32
- a a a a a a a a a a a a a a a a
33
- a a a a a a a a a a a a a a a a
34
- a a a a a a a a a a a a a a a a
35
- a a a a a a a a a a a a a a a a
36
- a a a a a a a a a a a a a a a a
37
- a a a a a a a a a a a a a a a a
38
- `;
39
- // TODO tiles.setTilemap(tiles.createTilemap(null, 0, 8 ** 8, 9));
40
- pause(1000)
41
- tiles.setTileAt(tiles.getTileLocation(4, 3), image)
42
- pause(1000)
43
- tiles.setTileAt(tiles.getTileLocation(5, 3), image)
21
+ tiles.setTilemap(tilemap`level1`)
22
+ let spot = tiles.getTileLocation(0, 0)
23
+ forever(function () {
24
+ tiles.setTileAt(spot, assets.tile`transparency16`)
25
+ spot = tiles.getTileLocation(randint(0, 9), randint(0, 6))
26
+ tiles.setTileAt(spot, assets.tile`myTile`)
27
+ pause(1000)
28
+ })
44
29
  ```
45
30
 
46
31
  ## See also #seealso
47
32
 
48
- [set tile](/reference/tiles/set-tile), [get tile location](/reference/tiles/get-tile-location)
33
+ [get tile location](/reference/tiles/get-tile-location),
34
+ [place on tile](/reference/tiles/place-on-tile)
35
+
36
+ ```jres
37
+ {
38
+ "transparency16": {
39
+ "data": "hwQQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
40
+ "mimeType": "image/x-mkcd-f4",
41
+ "tilemapTile": true
42
+ },
43
+ "tile1": {
44
+ "data": "hwQQABAAAABERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERA==",
45
+ "mimeType": "image/x-mkcd-f4",
46
+ "tilemapTile": true,
47
+ "displayName": "myTile"
48
+ },
49
+ "level1": {
50
+ "id": "level1",
51
+ "mimeType": "application/mkcd-tilemap",
52
+ "data": "MTAwYTAwMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMA==",
53
+ "tileset": [
54
+ "myTiles.transparency16",
55
+ "myTiles.tile1"
56
+ ],
57
+ "displayName": "level1"
58
+ },
59
+ "*": {
60
+ "mimeType": "image/x-mkcd-f4",
61
+ "dataEncoding": "base64",
62
+ "namespace": "myTiles"
63
+ }
64
+ }
65
+ ```