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; }