pxt-common-packages 9.5.4 → 9.5.7
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/built/common-sim.d.ts +40 -0
- package/built/common-sim.js +93 -1
- package/libs/azureiot/built/debug/binary.js +461 -461
- package/libs/base/sim/core.ts +1 -1
- 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 +6864 -6864
- package/libs/controller---none/built/debug/binary.js +6844 -6844
- 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 +462 -462
- package/libs/game/_locales/game-strings.json +1 -0
- package/libs/game/built/debug/binary.js +6784 -6784
- package/libs/game/docs/reference/sprites/sprite/follow.md +66 -0
- package/libs/game/docs/reference/sprites/sprite/set-bounce-on-wall.md +2 -2
- package/libs/game/docs/reference/sprites/sprite-kind.md +70 -0
- package/libs/game/docs/reference/tiles/get-neighboring-location.md +123 -0
- package/libs/game/docs/reference/tiles/get-tile-location.md +71 -30
- package/libs/game/docs/reference/tiles/get-tiles-by-type.md +66 -32
- package/libs/game/docs/reference/tiles/location.md +246 -0
- package/libs/game/docs/reference/tiles/place-on-random-tile.md +54 -21
- package/libs/game/docs/reference/tiles/place-on-tile.md +88 -0
- package/libs/game/docs/reference/tiles/set-current-tilemap.md +90 -0
- package/libs/game/docs/reference/tiles/set-tile-at.md +47 -30
- package/libs/game/docs/reference/tiles/set-tilemap.md +90 -0
- package/libs/game/docs/reference/tiles/set-wall-at.md +67 -68
- package/libs/game/docs/reference/tiles/tile-at-location-equals.md +97 -0
- package/libs/game/docs/reference/tiles/tile-at-location-is-wall.md +98 -0
- package/libs/game/docs/reference/tiles/tilemap.md +145 -0
- package/libs/game/multiplayer.cpp +25 -0
- package/libs/game/multiplayer.ts +24 -0
- package/libs/game/pxt.json +3 -1
- package/libs/game/scene.ts +1 -0
- package/libs/game/sim/multiplayer.ts +132 -0
- package/libs/game/sprite.ts +2 -1
- package/libs/game/spritekind.ts +1 -0
- package/libs/game/tilemap.ts +12 -11
- 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 +176 -176
- package/libs/net/built/debug/binary.js +176 -176
- package/libs/net-game/built/debug/binary.js +8372 -8372
- package/libs/palette/built/debug/binary.js +6782 -6782
- 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/_locales/radio-strings.json +4 -1
- package/libs/radio/built/debug/binary.js +8 -8
- package/libs/radio/radio.cpp +1 -0
- package/libs/radio/radio.ts +13 -2
- package/libs/radio/shims.d.ts +2 -1
- package/libs/radio-broadcast/_locales/radio-broadcast-strings.json +2 -1
- package/libs/radio-broadcast/built/debug/binary.js +8 -8
- package/libs/radio-broadcast/radio-broadcast.ts +2 -0
- 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 +6782 -6782
- package/libs/storyboard/built/debug/binary.js +6782 -6782
- 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,
|
|
6
|
+
tiles.placeOnRandomTile(null, null)
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
You
|
|
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
|
-
* **
|
|
14
|
+
* **tile**: the tile type to randomly select in the tilemap.
|
|
15
15
|
|
|
16
16
|
## Example #example
|
|
17
17
|
|
|
18
|
-
Make a tilemap with
|
|
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`
|
|
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
|
-
|
|
41
|
-
|
|
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
|
-
[
|
|
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
|
-
"
|
|
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": "
|
|
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
|
-
"
|
|
64
|
-
"data": "
|
|
91
|
+
"tile6": {
|
|
92
|
+
"data": "hwQQABAAAACZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQ==",
|
|
65
93
|
"mimeType": "image/x-mkcd-f4",
|
|
66
94
|
"tilemapTile": true,
|
|
67
|
-
"displayName": "
|
|
95
|
+
"displayName": "myTile4"
|
|
68
96
|
},
|
|
69
|
-
"
|
|
70
|
-
"id": "
|
|
97
|
+
"level1": {
|
|
98
|
+
"id": "level1",
|
|
71
99
|
"mimeType": "application/mkcd-tilemap",
|
|
72
|
-
"data": "
|
|
100
|
+
"data": "MTAwYTAwMDgwMDAwMDAwMDAwMDAwMDAzMDAwMDAwMDAwMDA2MDAwMDAwMDAwMDAyMDAwMDAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwMDAwMDAwMDAwMDAwMDA1MDAwMDAwMDAwMTAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMA==",
|
|
73
101
|
"tileset": [
|
|
74
102
|
"myTiles.transparency16",
|
|
75
|
-
"myTiles.
|
|
76
|
-
"myTiles.
|
|
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": "
|
|
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
|
|
3
|
+
Set a tile at a location in the tilemap.
|
|
4
4
|
|
|
5
5
|
```sig
|
|
6
|
-
tiles.setTileAt(
|
|
6
|
+
tiles.setTileAt(tiles.getTileLocation(0, 0), null)
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
|
|
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
|
-
* **
|
|
14
|
-
* **
|
|
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
|
-
|
|
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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
-
[
|
|
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
|
+
```
|