Tiles
A few quick tests in cases where tile interactions have misbehaved before.
Features tested: Tilemap collision policy changes from pxt-common-packages#615.
let mySprite: Sprite = null
mySprite = sprites.create(img`
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
`, SpriteKind.Player)
scene.setTileMap(img`
7 7 7 7 7 7 7 7 7 7
7 . . . . . . 7 . 7
7 . 7 . . . . 7 . 7
7 . 7 . . . . 7 . 7
7 . 7 . . . 7 7 . 7
7 . 7 . . . . . . 7
7 . . . . . . . . 7
7 7 7 7 7 7 7 7 7 7
`)
scene.setTile(7, img`
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
`, true)
mySprite.setBounceOnWall(true)
mySprite.setVelocity(50, 50)
mySprite.ax = 50;
This addresses the behavior reported in:
scene.setTileMap(img`
d d d f d f d d d d
d d d f d f d d d d
d d f f d f d d d d
f f f d d f d d d d
d d d d d f d d d d
f f f f f f d d d d
d d d d d d d d d d
d d d d d d d d d d
`)
scene.setTile(15, img`
f f f f f f f f f f f f f f f f
f f f f f f f f f f f f f f f f
f f f f f f f f f f f f f f f f
f f f f f f f f f f f f f f f f
f f f f f f f f f f f f f f f f
f f f f f f f f f f f f f f f f
f f f f f f f f f f f f f f f f
f f f f f f f f f f f f f f f f
f f f f f f f f f f f f f f f f
f f f f f f f f f f f f f f f f
f f f f f f f f f f f f f f f f
f f f f f f f f f f f f f f f f
f f f f f f f f f f f f f f f f
f f f f f f f f f f f f f f f f
f f f f f f f f f f f f f f f f
f f f f f f f f f f f f f f f f
`, true)
let mySprite = sprites.create(img`
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . b 5 5 b . . .
. . . . . . b b b b b b . . . .
. . . . . b b 5 5 5 5 5 b . . .
. b b b b b 5 5 5 5 5 5 5 b . .
. b d 5 b 5 5 5 5 5 5 5 5 b . .
. . b 5 5 b 5 d 1 f 5 d 4 f . .
. . b d 5 5 b 1 f f 5 4 4 c . .
b b d b 5 5 5 d f b 4 4 4 4 b .
b d d c d 5 5 b 5 4 4 4 4 4 4 b
c d d d c c b 5 5 5 5 5 5 5 b .
c b d d d d d 5 5 5 5 5 5 5 b .
. c d d d d d d 5 5 5 5 5 d b .
. . c b d d d d d 5 5 5 b b . .
. . . c c c c c c c c b b . . .
`, SpriteKind.Player)
mySprite.x = 10
mySprite.y = 10
mySprite.vx = 20
mySprite.vy = 20
scene.setTile(14, img`
e e e e e e e e e e e e e e e e
e e e e e e e e e e e e e e e e
e e e e e e e e e e e e e e e e
e e e e e e e e e e e e e e e e
e e e e e e e e e e e e e e e e
e e e e e e e e e e e e e e e e
e e e e e e e e e e e e e e e e
e e e e e e e e e e e e e e e e
e e e e e e e e e e e e e e e e
e e e e e e e e e e e e e e e e
e e e e e e e e e e e e e e e e
e e e e e e e e e e e e e e e e
e e e e e e e e e e e e e e e e
e e e e e e e e e e e e e e e e
e e e e e e e e e e e e e e e e
e e e e e e e e e e e e e e e e
`, true)
scene.setTileMap(img`
e e e e e e e e e e
e . . . e . . . . e
e . e . . . e e . e
e . e e . e e e . e
e . . . . 2 . . . e
e . e e . e . e . e
e . . . . . . . . e
e e e e e e e e e e
`)
let mySprite = sprites.create(img`
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . 1 1 . . . . . . .
. . . . . . . 1 1 . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
`, SpriteKind.Food)
let t = scene.getTile(5, 4)
t.place(mySprite)
game.consoleOverlay.setVisible(true)
console.log(`
x: ${t.x} same pos: ${t.x === mySprite.x}
y: ${t.y} same pos: ${t.y === mySprite.y}
`)
color-coded-tilemap