Crafty.defineScene "Battle", ->
# free viewport
Crafty.viewport.clampToEntities = false
# attach viewport to an (invisible) entity twice as big as a playmat
Crafty.viewport.follow (
Crafty.e '2D, Canvas'
.attr {
w: 1 * CONF.playmat.w
h: 2 * CONF.playmat.h
}
.origin 'middle left'
ox: 0
oy: 0
.origin 'center'
)
# scale viewport automatically (show that new entity)
Crafty.bind 'ViewportResize', ->
sX = @viewport._width / (1 * CONF.playmat.w)
sY = @viewport._height / (2 * CONF.playmat.h)
@viewport.scale Math.min(sX, sY)
return
# force scale adjustment
Crafty.trigger 'ViewportResize'
# Example playmats at https://imgur.com/a/VSosu#cwGQdAS
Crafty.sprite 2000, 1000, 'assets/ff7.jpg',
playmat: [
0
]
# Place example playmats
Crafty.e 'playmat, AllyPlaymat'
Crafty.e 'playmat, EnemyPlaymat'