hextris/js/view.js

84 lines
2.7 KiB
JavaScript
Raw Normal View History

var colors = ["#e74c3c", "#f1c40f", "#3498db", "#2ecc71"];
var hexagonBackgroundColor = 'rgb(236, 240, 241)';
var hexagonBackgroundColorClear = 'rgba(236, 240, 241, 0.5)';
var centerBlue = '#2c3e50'; //tumblr?
function showModal(text, secondaryText) {
var buttonSize = 150;
var fontSizeLarge = 50;
var fontSizeSmall = 25;
2014-05-25 22:27:25 +00:00
drawPolygon(trueCanvas.width / 2, trueCanvas.height / 2, 6, trueCanvas.width / 2 - 25, 30, hexagonBackgroundColorClear);
// drawPolygon(trueCanvas.width / 2, trueCanvas.height / 2, 6, buttonSize, 30, swegBlue);
ctx.font = fontSizeLarge + 'px Helvetica'; // figure out what is not working
ctx.textAlign = 'center';
ctx.fillStyle = centerBlue;
// ctx.fillStyle = hexagonBackgroundColor;
2014-05-25 22:27:25 +00:00
ctx.fillText(text, trueCanvas.width / 2, trueCanvas.height / 2 + (fontSizeLarge / 4));
ctx.font = fontSizeSmall + 'px Helvetica';
2014-05-25 22:27:25 +00:00
ctx.fillText(secondaryText, trueCanvas.width / 2, trueCanvas.height / 2 + fontSizeLarge / 4 + fontSizeSmall / 4 + 30);
}
2014-05-26 05:11:47 +00:00
function renderText(x, y, fontSize, color, text) {
2014-05-27 22:43:15 +00:00
ctx.font = fontSize + 'px/0 Roboto';
ctx.textAlign = 'center';
2014-05-26 05:11:47 +00:00
ctx.fillStyle = color;
2014-05-26 17:11:23 +00:00
ctx.fillText(text, x, y + (fontSize / 4) + 3.5);
}
2014-05-31 01:05:01 +00:00
scoreOpacity = 0;
2014-05-26 03:42:06 +00:00
function drawScoreboard() {
2014-05-26 18:24:38 +00:00
if(scoreOpacity < 1){
2014-05-26 18:43:05 +00:00
scoreOpacity+=0.01;
2014-05-26 18:24:38 +00:00
}
ctx.globalAlpha = scoreOpacity;
2014-05-26 18:43:05 +00:00
renderText(trueCanvas.width/2+ gdx, trueCanvas.height/2+ gdy, 50, "#fff", score);
2014-05-26 18:24:38 +00:00
ctx.globalAlpha = 1;
}
function clearGameBoard() {
2014-05-25 22:27:25 +00:00
drawPolygon(trueCanvas.width / 2, trueCanvas.height / 2, 6, trueCanvas.width / 2, 30, hexagonBackgroundColor, 0, 'rgba(0,0,0,0)');
}
2014-05-26 01:49:03 +00:00
function drawPolygon(x, y, sides, radius, theta, fillColor, lineWidth, lineColor) {
ctx.fillStyle = fillColor;
ctx.lineWidth = lineWidth;
ctx.strokeStyle = lineColor;
ctx.beginPath();
var coords = rotatePoint(0, radius, theta);
ctx.moveTo(coords.x + x, coords.y + y);
var oldX = coords.x;
var oldY = coords.y;
for (var i = 0; i < sides; i++) {
coords = rotatePoint(oldX, oldY, 360 / sides);
ctx.lineTo(coords.x + x, coords.y + y);
oldX = coords.x;
oldY = coords.y;
}
2014-05-25 14:41:06 +00:00
ctx.closePath();
ctx.fill();
ctx.stroke();
2014-05-26 05:11:47 +00:00
ctx.strokeStyle = 'rgba(0,0,0,0)';
2014-05-25 14:41:06 +00:00
}
2014-05-23 05:10:12 +00:00
function showHighScores() {
$('#highscores').html(function() {
var str = '<li> High Scores: </li>';
for (var i = 0; i < highscores.length; i++) {
str += '<li>' + highscores[i]+ '</li>';
}
return str;
});
toggleClass('#highscores', 'not-visible');
}
function toggleClass(element, active) {
if ($(element).hasClass(active)) {
$(element).removeClass(active);
}
else {
$(element).addClass(active);
}
}