forked from sent/waves
97 lines
2.9 KiB
JavaScript
97 lines
2.9 KiB
JavaScript
var instructions = [
|
|
[-1, "Touch anywhere on the screen and drag to move.", CANVAS_WIDTH / 2],
|
|
[-2, "Collect all the coins.", CANVAS_WIDTH / 2],
|
|
[-3, "Sometimes there's extra checkpoints to help out.", CANVAS_WIDTH / 2],
|
|
[-4, "Sometimes going", "diagonally helps.", CANVAS_WIDTH / 4],
|
|
[-6, "You can change the player color on the menu.", CANVAS_WIDTH / 2]
|
|
];
|
|
|
|
function initInstructions() {
|
|
instrForLevel = null;
|
|
for (var i = 0; i < instructions.length; i++) {
|
|
if (instructions[i][0] == level) {
|
|
instrForLevel = i;
|
|
break;
|
|
}
|
|
}
|
|
if (instrForLevel != null) {
|
|
instructionsOn = true;
|
|
instructionsWaiting = true;
|
|
instructionsFadingIn = false;
|
|
instructionsFadingOut = false;
|
|
instructionsTimer = 0;
|
|
instructionsAlpha = 0;
|
|
}
|
|
}
|
|
|
|
function updateInstructions() {
|
|
if (instructionsOn && instrForLevel != null) {
|
|
if (instructionsWaiting) {
|
|
if (instructionsTimer < INSTRUCTIONS_WAIT_TIME_TOT) {
|
|
instructionsTimer++;
|
|
} else {
|
|
instructionsTimer = 0;
|
|
instructionsAlpha = 0;
|
|
instructionsFadingIn = true;
|
|
instructionsFadingOut = false;
|
|
instructionsWaiting = false;
|
|
}
|
|
}
|
|
else if (instructionsFadingIn) {
|
|
if (instructionsAlpha < 1) {
|
|
instructionsAlpha += INSTRUCTIONS_FADE_IN_SPEED;
|
|
} else {
|
|
instructionsAlpha = 1;
|
|
instructionsTimer = 0;
|
|
instructionsFadingIn = false;
|
|
instructionsFadingOut = false;
|
|
instructionsWaiting = false;
|
|
}
|
|
} else if (!instructionsFadingIn &&
|
|
!instructionsFadingOut &&
|
|
!instructionsWaiting) {
|
|
if (instructionsTimer < INSTRUCTIONS_TIMER_TOT) {
|
|
instructionsTimer++;
|
|
} else {
|
|
instructionsFadingIn = false;
|
|
instructionsFadingOut = true;
|
|
instructionsWaiting = false;
|
|
instructionsTimer = 0;
|
|
instructionsAlpha = 1;
|
|
}
|
|
} else if (instructionsFadingOut) {
|
|
if (instructionsAlpha > 0) {
|
|
instructionsAlpha -= INSTRUCTIONS_FADE_OUT_SPEED;
|
|
if(instructionsAlpha<0){
|
|
instructionsAlpha = 0;
|
|
}
|
|
} else {
|
|
finishInstructions();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function drawInstructions() {
|
|
if (instrForLevel != null) {
|
|
canvas.fillStyle = INSTRUCTIONS_COLOR + instructionsAlpha + ")";
|
|
canvas.font = "Bold " + cwh(INSTRUCTIONS_TEXT_SIZE) + "px Arial";
|
|
canvas.textAlign = "center";
|
|
if (instructions[instrForLevel].length == 3) {
|
|
canvas.fillText(instructions[instrForLevel][1], cwh(instructions[instrForLevel][2]) + os.x, cwh(INSTRUCTIONS_Y_0) + os.y);
|
|
} else if (instructions[instrForLevel].length == 4) {
|
|
canvas.fillText(instructions[instrForLevel][1], cwh(instructions[instrForLevel][3]) + os.x, cwh(INSTRUCTIONS_Y_0) + os.y);
|
|
canvas.fillText(instructions[instrForLevel][2], cwh(instructions[instrForLevel][3]) + os.x, cwh(INSTRUCTIONS_Y_1) + os.y);
|
|
}
|
|
}
|
|
}
|
|
|
|
function finishInstructions() {
|
|
instructionsOn = false;
|
|
instructionsFadingIn = false;
|
|
instructionsFadingOut = false;
|
|
instructionsWaiting = false;
|
|
instructionsTimer = 0;
|
|
instructionsAlpha = 0;
|
|
instrForLevel = null;
|
|
} |