Higher FPS! (#19)

This commit is contained in:
gavin
2018-10-05 20:22:11 -04:00
committed by Gitea
parent 0e2b7ea69d
commit 52017e8e30
7 changed files with 160 additions and 49 deletions

View File

@@ -27,7 +27,7 @@ class Demo {
constructor() {
[
'setOriginTile',
'setFadeToGray',
'setupKeydown',
'tap',
'pressStart',
'press',
@@ -50,7 +50,7 @@ class Demo {
});
this.setOriginTile();
this.setFadeToGray();
this.setupKeydown();
this.tessellate = new Tessellate(Object.assign({
element: '#container',
@@ -99,10 +99,27 @@ class Demo {
});
}
setFadeToGray () {
setupKeydown () {
this.pipDefault = null;
window.addEventListener('keydown', event => {
if (!event.repeat && event.key === 'Enter') {
this.gray = this.gray ? null : Date.now();
if (!event.repeat) {
if (event.key === 'Enter') {
this.gray = this.gray ? null : Date.now();
}
if (event.key === `~`) {
this.mined = true;
}
if (event.key === '`') {
this.pipDefault = '*';
}
const num = parseInt(event.key);
if (num >= 0 && num <= 9) {
this.pipDefault = num;
}
}
});
}
@@ -221,9 +238,25 @@ class Demo {
Tessellate.TILES[tile.tileStyle][tile.drawStyle](context, scale, pixelPoint.getX(), pixelPoint.getY(), tile);
if (tile.pips) {
this.counts[1] += tile.pips;
Tessellate.Shapes.pips(context, scale, pixelPoint.getX(), pixelPoint.getY(), tile);
if (this.mined) {
this.counts[2] += 1;
Tessellate.Shapes.mine(context, scale, pixelPoint.getX(), pixelPoint.getY());
}
else {
if (!tile.pips && this.pipDefault !== null) {
if (this.pipDefault === '*') {
const pipMax = this.settings.tile === Tessellate.TILE_STYLES.HEX ? 7 : 9;
tile.pips = Tessellate.utils.random(1, pipMax);
}
else {
tile = Tessellate.utils.extend(tile, {pips: this.pipDefault});
}
}
if (tile.pips) {
this.counts[1] += tile.pips;
Tessellate.Shapes.pips(context, scale, pixelPoint.getX(), pixelPoint.getY(), tile);
}
}
}