User prompt
make the button right written write
User prompt
add some fun background to the home screen
User prompt
add a home button in the math screen and in the right screen
User prompt
remove the right button only from the math screen
User prompt
Please fix the bug: 'undefined is not an object (evaluating 'problemBox.alpha = 0')' in or related to this line: 'problemBox.alpha = 0;' Line Number: 1238
User prompt
make a Home Screen that say right and math
User prompt
add a keyboard with only letters
User prompt
make the how to read button called right
User prompt
make the how to read button a right button and when you press it it will change the screen and teach you how to right and you need to right a phrase
User prompt
make it change the screen when you press the lesson button
User prompt
make the lesson button teach you how to do math you can choose from addition or multiplication
User prompt
add a button in the down right called lesson
User prompt
remove the division and only add 1 2 times multiplication
User prompt
remove the button to the right of the clear
User prompt
add a rectangle keyboard with number
User prompt
remove the keyboard
User prompt
add the number 0 to 9 on the keyboard
User prompt
add all the numbers 0 to 9
User prompt
add a 3
User prompt
add a 9
User prompt
make the keyboard a big rectangle
User prompt
make the keyboard a rectangle
User prompt
make the keyboard bigger
User prompt
add a 3
User prompt
add a 2
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
var storage = LK.import("@upit/storage.v1");
/****
* Classes
****/
var CelebrationStar = Container.expand(function () {
var self = Container.call(this);
var starGraphic = self.attachAsset('star', {
anchorX: 0.5,
anchorY: 0.5
});
self.startAnimation = function () {
self.alpha = 1;
self.scaleX = 0.1;
self.scaleY = 0.1;
tween(self, {
scaleX: 1.5,
scaleY: 1.5
}, {
duration: 500,
easing: tween.easeOut,
onFinish: function onFinish() {
tween(self, {
alpha: 0,
scaleX: 0.5,
scaleY: 0.5
}, {
duration: 500,
easing: tween.easeIn,
onFinish: function onFinish() {
self.destroy();
}
});
}
});
};
return self;
});
var MathProblem = Container.expand(function () {
var self = Container.call(this);
self.num1 = 0;
self.num2 = 0;
self.operation = '+';
self.answer = 0;
self.difficulty = 1;
self.generateProblem = function () {
var maxNum = Math.min(10, 5 + self.difficulty * 2);
self.num1 = Math.floor(Math.random() * maxNum) + 1;
self.num2 = Math.floor(Math.random() * maxNum) + 1;
var operations = ['+', '-'];
if (self.difficulty > 3) {
operations.push('×');
operations.push('×'); // Add multiplication twice to make it more likely
}
self.operation = operations[Math.floor(Math.random() * operations.length)];
if (self.operation === '-' && self.num1 < self.num2) {
var temp = self.num1;
self.num1 = self.num2;
self.num2 = temp;
}
switch (self.operation) {
case '+':
self.answer = self.num1 + self.num2;
break;
case '-':
self.answer = self.num1 - self.num2;
break;
case '×':
self.answer = self.num1 * self.num2;
break;
}
};
self.getProblemText = function () {
return self.num1 + ' ' + self.operation + ' ' + self.num2 + ' = ?';
};
return self;
});
var WritingArea = Container.expand(function () {
var self = Container.call(this);
var areaBackground = self.attachAsset('writingArea', {
anchorX: 0.5,
anchorY: 0.5
});
self.drawingPath = [];
self.isDrawing = false;
self.writtenAnswer = '';
self.startDrawing = function (x, y) {
self.isDrawing = true;
self.drawingPath = [];
var localPos = self.toLocal({
x: x,
y: y
});
self.drawingPath.push({
x: localPos.x,
y: localPos.y
});
self.addDrawingDot(localPos.x, localPos.y);
// Show text bar when writing starts
textBar.alpha = 1;
};
self.continueDrawing = function (x, y) {
if (self.isDrawing) {
var localPos = self.toLocal({
x: x,
y: y
});
self.drawingPath.push({
x: localPos.x,
y: localPos.y
});
self.addDrawingDot(localPos.x, localPos.y);
}
};
self.stopDrawing = function () {
self.isDrawing = false;
self.recognizeNumber();
};
self.addDrawingDot = function (x, y) {
var dot = self.addChild(LK.getAsset('drawingDot', {
anchorX: 0.5,
anchorY: 0.5
}));
dot.x = x;
dot.y = y;
};
self.recognizeNumber = function () {
if (self.drawingPath.length > 3) {
var bounds = self.getDrawingBounds();
var recognizedChar = self.simpleNumberRecognition(bounds);
if (recognizedChar !== null) {
self.writtenAnswer += recognizedChar; // Append characters to build text
answerText.setText(self.writtenAnswer);
// Show text bar when text is recognized
textBar.alpha = 1;
// Clear the drawing path after recognition to prepare for next character
self.clearCurrentDrawing();
}
}
};
self.getDrawingBounds = function () {
if (self.drawingPath.length === 0) return null;
var minX = self.drawingPath[0].x;
var maxX = self.drawingPath[0].x;
var minY = self.drawingPath[0].y;
var maxY = self.drawingPath[0].y;
for (var i = 1; i < self.drawingPath.length; i++) {
var point = self.drawingPath[i];
minX = Math.min(minX, point.x);
maxX = Math.max(maxX, point.x);
minY = Math.min(minY, point.y);
maxY = Math.max(maxY, point.y);
}
return {
minX: minX,
maxX: maxX,
minY: minY,
maxY: maxY,
width: maxX - minX,
height: maxY - minY
};
};
self.simpleNumberRecognition = function (bounds) {
if (!bounds || bounds.width < 10 || bounds.height < 10) {
feedbackText.setText('Draw bigger');
feedbackText.tint = 0xFFA500;
LK.setTimeout(function () {
feedbackText.setText('');
}, 1000);
return null;
}
var aspectRatio = bounds.width / bounds.height;
var pathLength = self.drawingPath.length;
var recognizedChar = null;
// Numbers - more lenient recognition
if (aspectRatio > 2.0 || aspectRatio < 0.8 && pathLength > 20) recognizedChar = '1';else if (aspectRatio > 0.7 && aspectRatio < 1.3 && pathLength > 25) recognizedChar = '0';else if (pathLength > 20 && pathLength < 55 && aspectRatio > 0.5) recognizedChar = '2';else if (pathLength > 15 && pathLength < 45 && aspectRatio > 0.6) recognizedChar = '3';else if (pathLength > 10 && pathLength < 40) recognizedChar = '4';else if (pathLength > 20 && pathLength < 60 && aspectRatio > 0.5) recognizedChar = '5';else if (pathLength > 25 && pathLength < 65 && aspectRatio > 0.6) recognizedChar = '6';else if (pathLength > 10 && pathLength < 35 && aspectRatio > 0.4) recognizedChar = '7';else if (pathLength > 30 && pathLength < 75) recognizedChar = '8';else if (pathLength > 25 && pathLength < 70 && aspectRatio > 0.5) recognizedChar = '9';
if (recognizedChar) {
feedbackText.setText('Recognized: ' + recognizedChar);
feedbackText.tint = 0x32CD32;
LK.setTimeout(function () {
feedbackText.setText('');
}, 500);
return recognizedChar;
}
// Fallback - show a hint about drawing more clearly
feedbackText.setText('Draw more clearly');
feedbackText.tint = 0xFFA500;
LK.setTimeout(function () {
feedbackText.setText('');
}, 1000);
return null;
};
self.clearCurrentDrawing = function () {
for (var i = self.children.length - 1; i >= 0; i--) {
var child = self.children[i];
if (child !== areaBackground) {
child.destroy();
}
}
self.drawingPath = [];
};
self.clearDrawing = function () {
for (var i = self.children.length - 1; i >= 0; i--) {
var child = self.children[i];
if (child !== areaBackground) {
child.destroy();
}
}
self.drawingPath = [];
self.writtenAnswer = '';
answerText.setText('');
// Hide text bar when clearing
textBar.alpha = 0;
};
self.backspace = function () {
if (self.writtenAnswer.length > 0) {
self.writtenAnswer = self.writtenAnswer.slice(0, -1);
answerText.setText(self.writtenAnswer);
// Hide text bar if no text remains
if (self.writtenAnswer.length === 0) {
textBar.alpha = 0;
}
}
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x87CEEB
});
/****
* Game Code
****/
var currentProblem = new MathProblem();
var writingArea = new WritingArea();
var gameState = 'playing';
var screenState = 'home'; // Track current screen: 'home', 'game', 'lesson_menu', 'lesson_content'
var correctAnswers = 0;
var level = storage.level || 1;
var celebrationStars = [];
currentProblem.difficulty = level;
currentProblem.generateProblem();
var background = game.addChild(LK.getAsset('background', {
anchorX: 0,
anchorY: 0
}));
var problemBox = game.addChild(LK.getAsset('problemBox', {
anchorX: 0.5,
anchorY: 0.5
}));
problemBox.x = 1024;
problemBox.y = 600;
var problemText = new Text2(currentProblem.getProblemText(), {
size: 120,
fill: 0x333333
});
problemText.anchor.set(0.5, 0.5);
problemText.x = 1024;
problemText.y = 600;
game.addChild(problemText);
writingArea.x = 1024;
writingArea.y = 1200;
game.addChild(writingArea);
var instructionText = new Text2('Write your answer below:', {
size: 80,
fill: 0x444444
});
instructionText.anchor.set(0.5, 0.5);
instructionText.x = 1024;
instructionText.y = 950;
game.addChild(instructionText);
var textBar = game.addChild(LK.getAsset('writingArea', {
anchorX: 0.5,
anchorY: 0.5
}));
textBar.x = 1024;
textBar.y = 1450;
textBar.alpha = 0;
textBar.tint = 0xE6F3FF;
var answerText = new Text2('', {
size: 150,
fill: 0x000000
});
answerText.anchor.set(0.5, 0.5);
answerText.x = 1024;
answerText.y = 1450;
game.addChild(answerText);
var submitButton = game.addChild(LK.getAsset('submitButton', {
anchorX: 0.5,
anchorY: 0.5
}));
submitButton.x = 800;
submitButton.y = 1600;
var submitButtonText = new Text2('Check', {
size: 60,
fill: 0xFFFFFF
});
submitButtonText.anchor.set(0.5, 0.5);
submitButtonText.x = 800;
submitButtonText.y = 1600;
game.addChild(submitButtonText);
var clearButton = game.addChild(LK.getAsset('submitButton', {
anchorX: 0.5,
anchorY: 0.5
}));
clearButton.x = 1150;
clearButton.y = 1600;
clearButton.tint = 0xFF6B6B;
var clearButtonText = new Text2('Clear', {
size: 60,
fill: 0xFFFFFF
});
clearButtonText.anchor.set(0.5, 0.5);
clearButtonText.x = 1150;
clearButtonText.y = 1600;
game.addChild(clearButtonText);
var nextButton = game.addChild(LK.getAsset('nextButton', {
anchorX: 0.5,
anchorY: 0.5
}));
nextButton.x = 1024;
nextButton.y = 1900;
nextButton.alpha = 0;
var nextButtonText = new Text2('Next Problem', {
size: 60,
fill: 0xFFFFFF
});
nextButtonText.anchor.set(0.5, 0.5);
nextButtonText.x = 1024;
nextButtonText.y = 1900;
nextButtonText.alpha = 0;
game.addChild(nextButtonText);
var feedbackText = new Text2('', {
size: 80,
fill: 0x32CD32
});
feedbackText.anchor.set(0.5, 0.5);
feedbackText.x = 1024;
feedbackText.y = 1750;
game.addChild(feedbackText);
var scoreText = new Text2('Score: 0', {
size: 60,
fill: 0xFFFFFF
});
scoreText.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreText);
var levelText = new Text2('Level: ' + level, {
size: 60,
fill: 0xFFFFFF
});
levelText.anchor.set(1, 0);
LK.gui.topRight.addChild(levelText);
levelText.x = -120;
var howToReadButton = game.addChild(LK.getAsset('howToReadButton', {
anchorX: 0.5,
anchorY: 0.5
}));
howToReadButton.x = 1750;
howToReadButton.y = 1600;
var howToReadButtonText = new Text2('Right', {
size: 50,
fill: 0xFFFFFF
});
howToReadButtonText.anchor.set(0.5, 0.5);
howToReadButtonText.x = 1750;
howToReadButtonText.y = 1600;
game.addChild(howToReadButtonText);
var mathHomeButton = game.addChild(LK.getAsset('homeButton', {
anchorX: 0.5,
anchorY: 0.5
}));
mathHomeButton.x = 1750;
mathHomeButton.y = 1700;
mathHomeButton.alpha = 0;
var mathHomeButtonText = new Text2('Home', {
size: 40,
fill: 0xFFFFFF
});
mathHomeButtonText.anchor.set(0.5, 0.5);
mathHomeButtonText.x = 1750;
mathHomeButtonText.y = 1700;
mathHomeButtonText.alpha = 0;
game.addChild(mathHomeButtonText);
var instructionPanel = game.addChild(LK.getAsset('instructionPanel', {
anchorX: 0.5,
anchorY: 0.5
}));
instructionPanel.x = 1024;
instructionPanel.y = 1366;
instructionPanel.alpha = 0;
var instructionTitle = new Text2('How to Read Math Problems', {
size: 100,
fill: 0x333333
});
instructionTitle.anchor.set(0.5, 0.5);
instructionTitle.x = 1024;
instructionTitle.y = 900;
instructionTitle.alpha = 0;
game.addChild(instructionTitle);
var instructionContent = new Text2('• Look at the math problem carefully\n• Read each number and symbol from left to right\n• + means add the numbers together\n• - means subtract the second from the first\n• × means multiply the numbers\n• = means "equals" - find what number comes after\n• Practice reading math problems out loud', {
size: 70,
fill: 0x444444
});
instructionContent.anchor.set(0.5, 0.5);
instructionContent.x = 1024;
instructionContent.y = 1300;
instructionContent.alpha = 0;
game.addChild(instructionContent);
var closeButton = game.addChild(LK.getAsset('closeButton', {
anchorX: 0.5,
anchorY: 0.5
}));
closeButton.x = 1024;
closeButton.y = 1700;
closeButton.alpha = 0;
var closeButtonText = new Text2('Close', {
size: 50,
fill: 0xFFFFFF
});
closeButtonText.anchor.set(0.5, 0.5);
closeButtonText.x = 1024;
closeButtonText.y = 1700;
closeButtonText.alpha = 0;
game.addChild(closeButtonText);
var showingInstructions = false;
var showingLessonMenu = false;
var currentLessonType = '';
var showingWritingLesson = false;
var writingPrompt = '';
var writingAnswer = '';
function checkAnswer() {
var userAnswer = writingArea.writtenAnswer.trim();
var correctAnswer = currentProblem.answer.toString();
if (userAnswer === correctAnswer) {
feedbackText.setText('Correct! Great job!');
feedbackText.tint = 0x32CD32;
LK.getSound('correct').play();
correctAnswers++;
LK.setScore(LK.getScore() + 10 * level);
scoreText.setText('Score: ' + LK.getScore());
createCelebrationStars();
nextButton.alpha = 1;
nextButtonText.alpha = 1;
gameState = 'correct';
if (correctAnswers >= 5) {
level++;
storage.level = level;
levelText.setText('Level: ' + level);
currentProblem.difficulty = level;
correctAnswers = 0;
LK.setTimeout(function () {
feedbackText.setText('Level Up! Well done!');
LK.getSound('celebration').play();
}, 1000);
}
} else {
feedbackText.setText('Try again! The answer is ' + correctAnswer);
feedbackText.tint = 0xFF6B6B;
LK.getSound('incorrect').play();
LK.setTimeout(function () {
feedbackText.setText('');
writingArea.clearDrawing();
}, 2000);
}
}
function createCelebrationStars() {
for (var i = 0; i < 5; i++) {
var star = new CelebrationStar();
star.x = 1024 + (Math.random() - 0.5) * 600;
star.y = 1200 + (Math.random() - 0.5) * 400;
celebrationStars.push(star);
game.addChild(star);
LK.setTimeout(function (starToAnimate) {
return function () {
starToAnimate.startAnimation();
};
}(star), i * 100);
}
}
function nextProblem() {
currentProblem.generateProblem();
problemText.setText(currentProblem.getProblemText());
writingArea.clearDrawing();
feedbackText.setText('');
nextButton.alpha = 0;
nextButtonText.alpha = 0;
gameState = 'playing';
}
game.down = function (x, y, obj) {
if (gameState === 'playing') {
// Check if touch is within writing area bounds using proper coordinate system
var areaX = writingArea.x - 800; // writingArea width is 1600, so half is 800
var areaY = writingArea.y - 200; // writingArea height is 400, so half is 200
var areaWidth = 1600;
var areaHeight = 400;
if (x >= areaX && x <= areaX + areaWidth && y >= areaY && y <= areaY + areaHeight) {
writingArea.startDrawing(x, y);
}
}
if (showingWritingLesson) {
// Check if touch is within writing lesson area bounds
var lessonAreaX = writingLessonArea.x - 800;
var lessonAreaY = writingLessonArea.y - 200;
var lessonAreaWidth = 1600;
var lessonAreaHeight = 400;
if (x >= lessonAreaX && x <= lessonAreaX + lessonAreaWidth && y >= lessonAreaY && y <= lessonAreaY + lessonAreaHeight) {
writingLessonArea.startDrawing(x, y);
}
}
};
game.move = function (x, y, obj) {
if (gameState === 'playing') {
writingArea.continueDrawing(x, y);
}
if (showingWritingLesson) {
writingLessonArea.continueDrawing(x, y);
}
};
game.up = function (x, y, obj) {
if (gameState === 'playing') {
writingArea.stopDrawing();
}
if (showingWritingLesson) {
writingLessonArea.stopDrawing();
writingLessonAnswerText.setText(writingLessonArea.writtenAnswer);
}
};
submitButton.down = function (x, y, obj) {
if (gameState === 'playing' && writingArea.writtenAnswer !== '') {
checkAnswer();
}
};
clearButton.down = function (x, y, obj) {
if (gameState === 'playing') {
writingArea.clearDrawing();
feedbackText.setText('');
}
};
nextButton.down = function (x, y, obj) {
if (gameState === 'correct') {
nextProblem();
}
};
howToReadButton.down = function (x, y, obj) {
if (!showingInstructions && !showingLessonMenu && !showingWritingLesson && screenState === 'game') {
showWritingLesson();
}
};
closeButton.down = function (x, y, obj) {
if (showingInstructions) {
showingInstructions = false;
instructionPanel.alpha = 0;
instructionTitle.alpha = 0;
instructionContent.alpha = 0;
closeButton.alpha = 0;
closeButtonText.alpha = 0;
}
};
// Create number keyboard
var keyboardNumbers = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'];
var keyboardButtons = [];
var keyboardTexts = [];
// Create letter keyboard
var keyboardLetters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
var letterKeyboardButtons = [];
var letterKeyboardTexts = [];
// Create keyboard background
var keyboardBackground = game.addChild(LK.getAsset('instructionPanel', {
anchorX: 0.5,
anchorY: 0.5
}));
keyboardBackground.x = 1024;
keyboardBackground.y = 2200;
keyboardBackground.width = 800;
keyboardBackground.height = 400;
keyboardBackground.tint = 0xE0E0E0;
// Create number buttons in a 3x4 grid (3 columns, 4 rows)
for (var i = 0; i < keyboardNumbers.length; i++) {
var number = keyboardNumbers[i];
var col = i % 3;
var row = Math.floor(i / 3);
// Special case for 0 - center it in the bottom row
if (number === '0') {
col = 1;
row = 3;
}
var button = game.addChild(LK.getAsset('submitButton', {
anchorX: 0.5,
anchorY: 0.5
}));
button.x = 1024 + (col - 1) * 150;
button.y = 2100 + row * 100;
button.width = 120;
button.height = 80;
button.tint = 0x4169E1;
var buttonText = new Text2(number, {
size: 50,
fill: 0xFFFFFF
});
buttonText.anchor.set(0.5, 0.5);
buttonText.x = button.x;
buttonText.y = button.y;
game.addChild(buttonText);
keyboardButtons.push(button);
keyboardTexts.push(buttonText);
}
// Add event handlers for number buttons
for (var i = 0; i < keyboardButtons.length; i++) {
(function (index) {
keyboardButtons[index].down = function (x, y, obj) {
if (gameState === 'playing') {
var number = keyboardNumbers[index];
writingArea.writtenAnswer += number;
answerText.setText(writingArea.writtenAnswer);
textBar.alpha = 1;
feedbackText.setText('');
}
};
})(i);
}
// Create letter keyboard background
var letterKeyboardBackground = game.addChild(LK.getAsset('instructionPanel', {
anchorX: 0.5,
anchorY: 0.5
}));
letterKeyboardBackground.x = 1024;
letterKeyboardBackground.y = 2450;
letterKeyboardBackground.width = 1800;
letterKeyboardBackground.height = 300;
letterKeyboardBackground.tint = 0xE0E0E0;
letterKeyboardBackground.alpha = 0;
// Create letter buttons in rows (QWERTY-like layout but alphabetical)
for (var i = 0; i < keyboardLetters.length; i++) {
var letter = keyboardLetters[i];
var col = i % 9; // 9 letters per row
var row = Math.floor(i / 9);
var button = game.addChild(LK.getAsset('submitButton', {
anchorX: 0.5,
anchorY: 0.5
}));
button.x = 1024 + (col - 4) * 180; // Center the row
button.y = 2350 + row * 80;
button.width = 160;
button.height = 70;
button.tint = 0x9370DB;
button.alpha = 0;
var buttonText = new Text2(letter, {
size: 40,
fill: 0xFFFFFF
});
buttonText.anchor.set(0.5, 0.5);
buttonText.x = button.x;
buttonText.y = button.y;
buttonText.alpha = 0;
game.addChild(buttonText);
letterKeyboardButtons.push(button);
letterKeyboardTexts.push(buttonText);
}
// Add event handlers for letter buttons
for (var i = 0; i < letterKeyboardButtons.length; i++) {
(function (index) {
letterKeyboardButtons[index].down = function (x, y, obj) {
if (showingWritingLesson) {
var letter = keyboardLetters[index].toLowerCase();
writingLessonArea.writtenAnswer += letter;
writingLessonAnswerText.setText(writingLessonArea.writtenAnswer);
writingLessonTextBar.alpha = 1;
writingFeedbackText.setText('');
}
};
})(i);
}
// Create lesson button in bottom right
var lessonButton = game.addChild(LK.getAsset('howToReadButton', {
anchorX: 0.5,
anchorY: 0.5
}));
lessonButton.x = 1700;
lessonButton.y = 2500;
var lessonButtonText = new Text2('Lesson', {
size: 50,
fill: 0xFFFFFF
});
lessonButtonText.anchor.set(0.5, 0.5);
lessonButtonText.x = 1700;
lessonButtonText.y = 2500;
game.addChild(lessonButtonText);
// Create lesson menu UI elements
var lessonMenuPanel = game.addChild(LK.getAsset('instructionPanel', {
anchorX: 0.5,
anchorY: 0.5
}));
lessonMenuPanel.x = 1024;
lessonMenuPanel.y = 1366;
lessonMenuPanel.alpha = 0;
var lessonMenuTitle = new Text2('Choose Your Lesson', {
size: 100,
fill: 0x333333
});
lessonMenuTitle.anchor.set(0.5, 0.5);
lessonMenuTitle.x = 1024;
lessonMenuTitle.y = 1000;
lessonMenuTitle.alpha = 0;
game.addChild(lessonMenuTitle);
var additionButton = game.addChild(LK.getAsset('submitButton', {
anchorX: 0.5,
anchorY: 0.5
}));
additionButton.x = 800;
additionButton.y = 1300;
additionButton.alpha = 0;
additionButton.tint = 0x32CD32;
var additionButtonText = new Text2('Addition (+)', {
size: 60,
fill: 0xFFFFFF
});
additionButtonText.anchor.set(0.5, 0.5);
additionButtonText.x = 800;
additionButtonText.y = 1300;
additionButtonText.alpha = 0;
game.addChild(additionButtonText);
var multiplicationButton = game.addChild(LK.getAsset('submitButton', {
anchorX: 0.5,
anchorY: 0.5
}));
multiplicationButton.x = 1248;
multiplicationButton.y = 1300;
multiplicationButton.alpha = 0;
multiplicationButton.tint = 0x4169E1;
var multiplicationButtonText = new Text2('Multiplication (×)', {
size: 60,
fill: 0xFFFFFF
});
multiplicationButtonText.anchor.set(0.5, 0.5);
multiplicationButtonText.x = 1248;
multiplicationButtonText.y = 1300;
multiplicationButtonText.alpha = 0;
game.addChild(multiplicationButtonText);
var lessonCloseButton = game.addChild(LK.getAsset('closeButton', {
anchorX: 0.5,
anchorY: 0.5
}));
lessonCloseButton.x = 1024;
lessonCloseButton.y = 1700;
lessonCloseButton.alpha = 0;
var lessonCloseButtonText = new Text2('Close', {
size: 50,
fill: 0xFFFFFF
});
lessonCloseButtonText.anchor.set(0.5, 0.5);
lessonCloseButtonText.x = 1024;
lessonCloseButtonText.y = 1700;
lessonCloseButtonText.alpha = 0;
game.addChild(lessonCloseButtonText);
// Create lesson content UI elements
var lessonContentPanel = game.addChild(LK.getAsset('instructionPanel', {
anchorX: 0.5,
anchorY: 0.5
}));
lessonContentPanel.x = 1024;
lessonContentPanel.y = 1366;
lessonContentPanel.alpha = 0;
var lessonContentTitle = new Text2('', {
size: 100,
fill: 0x333333
});
lessonContentTitle.anchor.set(0.5, 0.5);
lessonContentTitle.x = 1024;
lessonContentTitle.y = 900;
lessonContentTitle.alpha = 0;
game.addChild(lessonContentTitle);
var lessonContentText = new Text2('', {
size: 70,
fill: 0x444444
});
lessonContentText.anchor.set(0.5, 0.5);
lessonContentText.x = 1024;
lessonContentText.y = 1300;
lessonContentText.alpha = 0;
game.addChild(lessonContentText);
var lessonContentCloseButton = game.addChild(LK.getAsset('closeButton', {
anchorX: 0.5,
anchorY: 0.5
}));
lessonContentCloseButton.x = 1024;
lessonContentCloseButton.y = 1700;
lessonContentCloseButton.alpha = 0;
var lessonContentCloseButtonText = new Text2('Close', {
size: 50,
fill: 0xFFFFFF
});
lessonContentCloseButtonText.anchor.set(0.5, 0.5);
lessonContentCloseButtonText.x = 1024;
lessonContentCloseButtonText.y = 1700;
lessonContentCloseButtonText.alpha = 0;
game.addChild(lessonContentCloseButtonText);
// Create writing lesson UI elements
var writingLessonPanel = game.addChild(LK.getAsset('instructionPanel', {
anchorX: 0.5,
anchorY: 0.5
}));
writingLessonPanel.x = 1024;
writingLessonPanel.y = 1366;
writingLessonPanel.alpha = 0;
var writingLessonTitle = new Text2('Writing Lesson', {
size: 100,
fill: 0x333333
});
writingLessonTitle.anchor.set(0.5, 0.5);
writingLessonTitle.x = 1024;
writingLessonTitle.y = 800;
writingLessonTitle.alpha = 0;
game.addChild(writingLessonTitle);
var writingPromptText = new Text2('', {
size: 70,
fill: 0x444444
});
writingPromptText.anchor.set(0.5, 0.5);
writingPromptText.x = 1024;
writingPromptText.y = 1000;
writingPromptText.alpha = 0;
game.addChild(writingPromptText);
var writingLessonArea = new WritingArea();
writingLessonArea.x = 1024;
writingLessonArea.y = 1300;
writingLessonArea.alpha = 0;
game.addChild(writingLessonArea);
var writingLessonTextBar = game.addChild(LK.getAsset('writingArea', {
anchorX: 0.5,
anchorY: 0.5
}));
writingLessonTextBar.x = 1024;
writingLessonTextBar.y = 1550;
writingLessonTextBar.alpha = 0;
writingLessonTextBar.tint = 0xE6F3FF;
var writingLessonAnswerText = new Text2('', {
size: 80,
fill: 0x000000
});
writingLessonAnswerText.anchor.set(0.5, 0.5);
writingLessonAnswerText.x = 1024;
writingLessonAnswerText.y = 1550;
writingLessonAnswerText.alpha = 0;
game.addChild(writingLessonAnswerText);
var writingCheckButton = game.addChild(LK.getAsset('submitButton', {
anchorX: 0.5,
anchorY: 0.5
}));
writingCheckButton.x = 800;
writingCheckButton.y = 1650;
writingCheckButton.alpha = 0;
var writingCheckButtonText = new Text2('Check', {
size: 60,
fill: 0xFFFFFF
});
writingCheckButtonText.anchor.set(0.5, 0.5);
writingCheckButtonText.x = 800;
writingCheckButtonText.y = 1650;
writingCheckButtonText.alpha = 0;
game.addChild(writingCheckButtonText);
var writingClearButton = game.addChild(LK.getAsset('submitButton', {
anchorX: 0.5,
anchorY: 0.5
}));
writingClearButton.x = 1248;
writingClearButton.y = 1650;
writingClearButton.alpha = 0;
writingClearButton.tint = 0xFF6B6B;
var writingClearButtonText = new Text2('Clear', {
size: 60,
fill: 0xFFFFFF
});
writingClearButtonText.anchor.set(0.5, 0.5);
writingClearButtonText.x = 1248;
writingClearButtonText.y = 1650;
writingClearButtonText.alpha = 0;
game.addChild(writingClearButtonText);
var writingLessonCloseButton = game.addChild(LK.getAsset('closeButton', {
anchorX: 0.5,
anchorY: 0.5
}));
writingLessonCloseButton.x = 1024;
writingLessonCloseButton.y = 1800;
writingLessonCloseButton.alpha = 0;
var writingLessonCloseButtonText = new Text2('Close', {
size: 50,
fill: 0xFFFFFF
});
writingLessonCloseButtonText.anchor.set(0.5, 0.5);
writingLessonCloseButtonText.x = 1024;
writingLessonCloseButtonText.y = 1800;
writingLessonCloseButtonText.alpha = 0;
game.addChild(writingLessonCloseButtonText);
var writingFeedbackText = new Text2('', {
size: 70,
fill: 0x32CD32
});
writingFeedbackText.anchor.set(0.5, 0.5);
writingFeedbackText.x = 1024;
writingFeedbackText.y = 1750;
writingFeedbackText.alpha = 0;
game.addChild(writingFeedbackText);
var writingHomeButton = game.addChild(LK.getAsset('homeButton', {
anchorX: 0.5,
anchorY: 0.5
}));
writingHomeButton.x = 1700;
writingHomeButton.y = 1800;
writingHomeButton.alpha = 0;
var writingHomeButtonText = new Text2('Home', {
size: 40,
fill: 0xFFFFFF
});
writingHomeButtonText.anchor.set(0.5, 0.5);
writingHomeButtonText.x = 1700;
writingHomeButtonText.y = 1800;
writingHomeButtonText.alpha = 0;
game.addChild(writingHomeButtonText);
// Create home screen background shapes
var homeBackgroundShapes = [];
var homeBackgroundColors = [0xFF6B6B, 0x4ECDC4, 0x45B7D1, 0x96CEB4, 0xFECA57, 0xFF9FF3, 0x54A0FF];
// Create floating background shapes
for (var i = 0; i < 8; i++) {
var shape = game.addChild(LK.getAsset('star', {
anchorX: 0.5,
anchorY: 0.5
}));
shape.x = Math.random() * 2048;
shape.y = Math.random() * 2732;
shape.alpha = 0.3;
shape.tint = homeBackgroundColors[i % homeBackgroundColors.length];
shape.scaleX = 0.5 + Math.random() * 1.5;
shape.scaleY = shape.scaleX;
shape.speedX = (Math.random() - 0.5) * 2;
shape.speedY = (Math.random() - 0.5) * 2;
shape.rotationSpeed = (Math.random() - 0.5) * 0.02;
homeBackgroundShapes.push(shape);
}
// Create home screen UI elements
var homeScreenPanel = game.addChild(LK.getAsset('instructionPanel', {
anchorX: 0.5,
anchorY: 0.5
}));
homeScreenPanel.x = 1024;
homeScreenPanel.y = 1366;
homeScreenPanel.alpha = 1;
var homeScreenTitle = new Text2('Learning Center', {
size: 120,
fill: 0x333333
});
homeScreenTitle.anchor.set(0.5, 0.5);
homeScreenTitle.x = 1024;
homeScreenTitle.y = 1000;
homeScreenTitle.alpha = 1;
game.addChild(homeScreenTitle);
var homeRightButton = game.addChild(LK.getAsset('submitButton', {
anchorX: 0.5,
anchorY: 0.5
}));
homeRightButton.x = 800;
homeRightButton.y = 1300;
homeRightButton.alpha = 1;
homeRightButton.tint = 0x9370DB;
var homeRightButtonText = new Text2('Write', {
size: 70,
fill: 0xFFFFFF
});
homeRightButtonText.anchor.set(0.5, 0.5);
homeRightButtonText.x = 800;
homeRightButtonText.y = 1300;
homeRightButtonText.alpha = 1;
game.addChild(homeRightButtonText);
var homeMathButton = game.addChild(LK.getAsset('submitButton', {
anchorX: 0.5,
anchorY: 0.5
}));
homeMathButton.x = 1248;
homeMathButton.y = 1300;
homeMathButton.alpha = 1;
homeMathButton.tint = 0x32CD32;
var homeMathButtonText = new Text2('Math', {
size: 70,
fill: 0xFFFFFF
});
homeMathButtonText.anchor.set(0.5, 0.5);
homeMathButtonText.x = 1248;
homeMathButtonText.y = 1300;
homeMathButtonText.alpha = 1;
game.addChild(homeMathButtonText);
// Initialize with home screen visible
hideAllGameElements();
// Functions to show/hide lesson menu
function showLessonMenu() {
showingLessonMenu = true;
// Hide game elements
problemBox.alpha = 0;
problemText.alpha = 0;
writingArea.alpha = 0;
textBar.alpha = 0;
answerText.alpha = 0;
instructionText.alpha = 0;
submitButton.alpha = 0;
submitButtonText.alpha = 0;
clearButton.alpha = 0;
clearButtonText.alpha = 0;
howToReadButton.alpha = 0;
howToReadButtonText.alpha = 0;
keyboardBackground.alpha = 0;
for (var i = 0; i < keyboardButtons.length; i++) {
keyboardButtons[i].alpha = 0;
keyboardTexts[i].alpha = 0;
}
feedbackText.alpha = 0;
// Show lesson menu
lessonMenuPanel.alpha = 1;
lessonMenuTitle.alpha = 1;
additionButton.alpha = 1;
additionButtonText.alpha = 1;
multiplicationButton.alpha = 1;
multiplicationButtonText.alpha = 1;
lessonCloseButton.alpha = 1;
lessonCloseButtonText.alpha = 1;
}
function hideLessonMenu() {
showingLessonMenu = false;
// Hide lesson menu
lessonMenuPanel.alpha = 0;
lessonMenuTitle.alpha = 0;
additionButton.alpha = 0;
additionButtonText.alpha = 0;
multiplicationButton.alpha = 0;
multiplicationButtonText.alpha = 0;
lessonCloseButton.alpha = 0;
lessonCloseButtonText.alpha = 0;
// Show game elements
problemBox.alpha = 1;
problemText.alpha = 1;
writingArea.alpha = 1;
if (writingArea.writtenAnswer.length > 0) {
textBar.alpha = 1;
}
answerText.alpha = 1;
instructionText.alpha = 1;
submitButton.alpha = 1;
submitButtonText.alpha = 1;
clearButton.alpha = 1;
clearButtonText.alpha = 1;
howToReadButton.alpha = 1;
howToReadButtonText.alpha = 1;
keyboardBackground.alpha = 1;
for (var i = 0; i < keyboardButtons.length; i++) {
keyboardButtons[i].alpha = 1;
keyboardTexts[i].alpha = 1;
}
feedbackText.alpha = 1;
}
function showLessonContent(lessonType) {
currentLessonType = lessonType;
// Hide game elements
problemBox.alpha = 0;
problemText.alpha = 0;
writingArea.alpha = 0;
textBar.alpha = 0;
answerText.alpha = 0;
instructionText.alpha = 0;
submitButton.alpha = 0;
submitButtonText.alpha = 0;
clearButton.alpha = 0;
clearButtonText.alpha = 0;
howToReadButton.alpha = 0;
howToReadButtonText.alpha = 0;
keyboardBackground.alpha = 0;
for (var i = 0; i < keyboardButtons.length; i++) {
keyboardButtons[i].alpha = 0;
keyboardTexts[i].alpha = 0;
}
feedbackText.alpha = 0;
// Show lesson content
lessonContentPanel.alpha = 1;
lessonContentTitle.alpha = 1;
lessonContentText.alpha = 1;
lessonContentCloseButton.alpha = 1;
lessonContentCloseButtonText.alpha = 1;
if (lessonType === 'addition') {
lessonContentTitle.setText('Addition Lesson');
lessonContentText.setText('• Addition means combining numbers together\n• The + symbol means "add" or "plus"\n• Example: 3 + 2 = 5\n• Think of it as counting forward\n• Start with the first number: 3\n• Count forward by the second number: 4, 5\n• Practice: 5 + 3 = ? (Start at 5, count: 6, 7, 8)\n• Try some problems to practice!');
} else if (lessonType === 'multiplication') {
lessonContentTitle.setText('Multiplication Lesson');
lessonContentText.setText('• Multiplication means repeated addition\n• The × symbol means "times" or "multiply"\n• Example: 3 × 2 = 6 (same as 3 + 3 = 6)\n• Think of it as groups of numbers\n• 3 × 2 means "3 groups of 2" or "2 groups of 3"\n• Practice: 4 × 3 = ? (4 + 4 + 4 = 12)\n• Start with small numbers and work up!\n• Try some problems to practice!');
}
}
function hideLessonContent() {
// Hide lesson content
lessonContentPanel.alpha = 0;
lessonContentTitle.alpha = 0;
lessonContentText.alpha = 0;
lessonContentCloseButton.alpha = 0;
lessonContentCloseButtonText.alpha = 0;
// Show game elements
problemBox.alpha = 1;
problemText.alpha = 1;
writingArea.alpha = 1;
if (writingArea.writtenAnswer.length > 0) {
textBar.alpha = 1;
}
answerText.alpha = 1;
instructionText.alpha = 1;
submitButton.alpha = 1;
submitButtonText.alpha = 1;
clearButton.alpha = 1;
clearButtonText.alpha = 1;
howToReadButton.alpha = 1;
howToReadButtonText.alpha = 1;
keyboardBackground.alpha = 1;
for (var i = 0; i < keyboardButtons.length; i++) {
keyboardButtons[i].alpha = 1;
keyboardTexts[i].alpha = 1;
}
feedbackText.alpha = 1;
}
function showWritingLesson() {
showingWritingLesson = true;
screenState = 'writing_lesson';
// Hide game elements
problemBox.alpha = 0;
problemText.alpha = 0;
writingArea.alpha = 0;
textBar.alpha = 0;
answerText.alpha = 0;
instructionText.alpha = 0;
submitButton.alpha = 0;
submitButtonText.alpha = 0;
clearButton.alpha = 0;
clearButtonText.alpha = 0;
howToReadButton.alpha = 0;
howToReadButtonText.alpha = 0;
keyboardBackground.alpha = 0;
for (var i = 0; i < keyboardButtons.length; i++) {
keyboardButtons[i].alpha = 0;
keyboardTexts[i].alpha = 0;
}
feedbackText.alpha = 0;
lessonButton.alpha = 0;
lessonButtonText.alpha = 0;
// Show writing lesson elements
writingLessonPanel.alpha = 1;
writingLessonTitle.alpha = 1;
writingPromptText.alpha = 1;
writingLessonArea.alpha = 1;
writingLessonTextBar.alpha = 1;
writingLessonAnswerText.alpha = 1;
writingCheckButton.alpha = 1;
writingCheckButtonText.alpha = 1;
writingClearButton.alpha = 1;
writingClearButtonText.alpha = 1;
writingLessonCloseButton.alpha = 1;
writingLessonCloseButtonText.alpha = 1;
writingFeedbackText.alpha = 1;
writingHomeButton.alpha = 1;
writingHomeButtonText.alpha = 1;
// Show letter keyboard
letterKeyboardBackground.alpha = 1;
for (var i = 0; i < letterKeyboardButtons.length; i++) {
letterKeyboardButtons[i].alpha = 1;
letterKeyboardTexts[i].alpha = 1;
}
// Set a writing prompt
var prompts = ['Hello', 'World', 'Learn', 'Write', 'Practice'];
writingPrompt = prompts[Math.floor(Math.random() * prompts.length)];
writingPromptText.setText('Write the word: ' + writingPrompt);
writingAnswer = writingPrompt.toLowerCase();
writingLessonArea.writtenAnswer = '';
writingLessonAnswerText.setText('');
writingFeedbackText.setText('');
}
function hideWritingLesson() {
showingWritingLesson = false;
screenState = 'game';
// Hide writing lesson elements
writingLessonPanel.alpha = 0;
writingLessonTitle.alpha = 0;
writingPromptText.alpha = 0;
writingLessonArea.alpha = 0;
writingLessonTextBar.alpha = 0;
writingLessonAnswerText.alpha = 0;
writingCheckButton.alpha = 0;
writingCheckButtonText.alpha = 0;
writingClearButton.alpha = 0;
writingClearButtonText.alpha = 0;
writingLessonCloseButton.alpha = 0;
writingLessonCloseButtonText.alpha = 0;
writingFeedbackText.alpha = 0;
writingHomeButton.alpha = 0;
writingHomeButtonText.alpha = 0;
// Hide letter keyboard
letterKeyboardBackground.alpha = 0;
for (var i = 0; i < letterKeyboardButtons.length; i++) {
letterKeyboardButtons[i].alpha = 0;
letterKeyboardTexts[i].alpha = 0;
}
// Show game elements
problemBox.alpha = 1;
problemText.alpha = 1;
writingArea.alpha = 1;
if (writingArea.writtenAnswer.length > 0) {
textBar.alpha = 1;
}
answerText.alpha = 1;
instructionText.alpha = 1;
submitButton.alpha = 1;
submitButtonText.alpha = 1;
clearButton.alpha = 1;
clearButtonText.alpha = 1;
howToReadButton.alpha = 1;
howToReadButtonText.alpha = 1;
keyboardBackground.alpha = 1;
for (var i = 0; i < keyboardButtons.length; i++) {
keyboardButtons[i].alpha = 1;
keyboardTexts[i].alpha = 1;
}
feedbackText.alpha = 1;
lessonButton.alpha = 1;
lessonButtonText.alpha = 1;
}
function showHomeScreen() {
// Show home screen elements
homeScreenPanel.alpha = 1;
homeScreenTitle.alpha = 1;
homeRightButton.alpha = 1;
homeRightButtonText.alpha = 1;
homeMathButton.alpha = 1;
homeMathButtonText.alpha = 1;
// Show background shapes
for (var i = 0; i < homeBackgroundShapes.length; i++) {
homeBackgroundShapes[i].alpha = 0.3;
}
// Hide all other elements
hideAllGameElements();
}
function hideHomeScreen() {
// Hide home screen elements
homeScreenPanel.alpha = 0;
homeScreenTitle.alpha = 0;
homeRightButton.alpha = 0;
homeRightButtonText.alpha = 0;
homeMathButton.alpha = 0;
homeMathButtonText.alpha = 0;
// Hide background shapes
for (var i = 0; i < homeBackgroundShapes.length; i++) {
homeBackgroundShapes[i].alpha = 0;
}
}
function hideAllGameElements() {
// Hide game elements
problemBox.alpha = 0;
problemText.alpha = 0;
writingArea.alpha = 0;
textBar.alpha = 0;
answerText.alpha = 0;
instructionText.alpha = 0;
submitButton.alpha = 0;
submitButtonText.alpha = 0;
clearButton.alpha = 0;
clearButtonText.alpha = 0;
howToReadButton.alpha = 0;
howToReadButtonText.alpha = 0;
keyboardBackground.alpha = 0;
for (var i = 0; i < keyboardButtons.length; i++) {
keyboardButtons[i].alpha = 0;
keyboardTexts[i].alpha = 0;
}
feedbackText.alpha = 0;
lessonButton.alpha = 0;
lessonButtonText.alpha = 0;
nextButton.alpha = 0;
nextButtonText.alpha = 0;
mathHomeButton.alpha = 0;
mathHomeButtonText.alpha = 0;
}
function showGameElements() {
// Show game elements
problemBox.alpha = 1;
problemText.alpha = 1;
writingArea.alpha = 1;
if (writingArea.writtenAnswer.length > 0) {
textBar.alpha = 1;
}
answerText.alpha = 1;
instructionText.alpha = 1;
submitButton.alpha = 1;
submitButtonText.alpha = 1;
clearButton.alpha = 1;
clearButtonText.alpha = 1;
howToReadButton.alpha = 0;
howToReadButtonText.alpha = 0;
keyboardBackground.alpha = 1;
for (var i = 0; i < keyboardButtons.length; i++) {
keyboardButtons[i].alpha = 1;
keyboardTexts[i].alpha = 1;
}
feedbackText.alpha = 1;
lessonButton.alpha = 1;
lessonButtonText.alpha = 1;
mathHomeButton.alpha = 1;
mathHomeButtonText.alpha = 1;
}
function checkWritingAnswer() {
var userAnswer = writingLessonArea.writtenAnswer.toLowerCase().trim();
if (userAnswer === writingAnswer) {
writingFeedbackText.setText('Correct! Well done!');
writingFeedbackText.tint = 0x32CD32;
LK.getSound('correct').play();
LK.setTimeout(function () {
// Generate new prompt
var prompts = ['Hello', 'World', 'Learn', 'Write', 'Practice', 'Good', 'Nice', 'Great'];
writingPrompt = prompts[Math.floor(Math.random() * prompts.length)];
writingPromptText.setText('Write the word: ' + writingPrompt);
writingAnswer = writingPrompt.toLowerCase();
writingLessonArea.clearDrawing();
writingLessonAnswerText.setText('');
writingFeedbackText.setText('');
}, 2000);
} else {
writingFeedbackText.setText('Try again! The word is: ' + writingPrompt);
writingFeedbackText.tint = 0xFF6B6B;
LK.getSound('incorrect').play();
LK.setTimeout(function () {
writingFeedbackText.setText('');
}, 2000);
}
}
lessonButton.down = function (x, y, obj) {
if (!showingInstructions && !showingLessonMenu && screenState === 'game') {
screenState = 'lesson_menu';
showLessonMenu();
}
};
additionButton.down = function (x, y, obj) {
if (showingLessonMenu && screenState === 'lesson_menu') {
hideLessonMenu();
screenState = 'lesson_content';
showLessonContent('addition');
}
};
multiplicationButton.down = function (x, y, obj) {
if (showingLessonMenu && screenState === 'lesson_menu') {
hideLessonMenu();
screenState = 'lesson_content';
showLessonContent('multiplication');
}
};
lessonCloseButton.down = function (x, y, obj) {
if (showingLessonMenu && screenState === 'lesson_menu') {
hideLessonMenu();
screenState = 'game';
}
};
lessonContentCloseButton.down = function (x, y, obj) {
if (currentLessonType !== '' && screenState === 'lesson_content') {
hideLessonContent();
currentLessonType = '';
screenState = 'game';
}
};
writingCheckButton.down = function (x, y, obj) {
if (showingWritingLesson && writingLessonArea.writtenAnswer !== '') {
checkWritingAnswer();
}
};
writingClearButton.down = function (x, y, obj) {
if (showingWritingLesson) {
writingLessonArea.clearDrawing();
writingLessonAnswerText.setText('');
writingFeedbackText.setText('');
}
};
writingLessonCloseButton.down = function (x, y, obj) {
if (showingWritingLesson && screenState === 'writing_lesson') {
hideWritingLesson();
}
};
homeRightButton.down = function (x, y, obj) {
if (screenState === 'home') {
hideHomeScreen();
screenState = 'writing_lesson';
showWritingLesson();
}
};
homeMathButton.down = function (x, y, obj) {
if (screenState === 'home') {
hideHomeScreen();
screenState = 'game';
showGameElements();
}
};
mathHomeButton.down = function (x, y, obj) {
if (screenState === 'game') {
hideAllGameElements();
screenState = 'home';
showHomeScreen();
}
};
writingHomeButton.down = function (x, y, obj) {
if (screenState === 'writing_lesson') {
hideWritingLesson();
screenState = 'home';
showHomeScreen();
}
};
game.update = function () {
for (var i = celebrationStars.length - 1; i >= 0; i--) {
var star = celebrationStars[i];
if (star.alpha <= 0) {
celebrationStars.splice(i, 1);
}
}
// Animate home screen background shapes
if (screenState === 'home') {
for (var i = 0; i < homeBackgroundShapes.length; i++) {
var shape = homeBackgroundShapes[i];
// Move shapes
shape.x += shape.speedX;
shape.y += shape.speedY;
// Rotate shapes
shape.rotation += shape.rotationSpeed;
// Bounce off edges
if (shape.x < 0 || shape.x > 2048) {
shape.speedX *= -1;
}
if (shape.y < 0 || shape.y > 2732) {
shape.speedY *= -1;
}
// Keep shapes within bounds
if (shape.x < 0) shape.x = 0;
if (shape.x > 2048) shape.x = 2048;
if (shape.y < 0) shape.y = 0;
if (shape.y > 2732) shape.y = 2732;
}
}
}; ===================================================================
--- original.js
+++ change.js
@@ -968,9 +968,9 @@
homeRightButton.x = 800;
homeRightButton.y = 1300;
homeRightButton.alpha = 1;
homeRightButton.tint = 0x9370DB;
-var homeRightButtonText = new Text2('Right', {
+var homeRightButtonText = new Text2('Write', {
size: 70,
fill: 0xFFFFFF
});
homeRightButtonText.anchor.set(0.5, 0.5);