/**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEEB }); /**** * Game Code ****/ // Add background image to the game var background = LK.getAsset('bg1', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2 }); game.addChild(background); // Function to increment points based on pointsPerSecond function incrementPoints() { points += pointsPerSecond; pointsText.setText('Points: ' + points); if (points >= 1550 && background.texture !== LK.getAsset('Bg2', { anchorX: 0.5, anchorY: 0.5 }).texture) { background.texture = LK.getAsset('Bg2', { anchorX: 0.5, anchorY: 0.5 }).texture; background.x = 2048 / 2; background.y = 2732 / 2; } else if (points >= 1000000) { treeGrowthStageText.setText('Growth Stage: Colossal'); treeSeedling.texture = LK.getAsset('Colossal_tree', { anchorX: 0.5, anchorY: 1.0 }).texture; } else if (points >= 100000) { treeGrowthStageText.setText('Growth Stage: Giant'); treeSeedling.texture = LK.getAsset('Giant_tree', { anchorX: 0.5, anchorY: 1.0 }).texture; } else if (points >= 29000) { treeGrowthStageText.setText('Growth Stage: Big'); treeSeedling.texture = LK.getAsset('Tree_big', { anchorX: 0.5, anchorY: 1.0 }).texture; } else if (points >= 1000) { treeGrowthStageText.setText('Growth Stage: Normal'); treeSeedling.texture = LK.getAsset('Tree_normal', { anchorX: 0.5, anchorY: 1.0 }).texture; } else { treeGrowthStageText.setText('Growth Stage: Seedling'); treeSeedling.texture = LK.getAsset('tree', { anchorX: 0.5, anchorY: 1.0 }).texture; } } // Set an interval to call incrementPoints every second LK.setInterval(incrementPoints, 1000); // Function to determine the growth stage based on the size of the tree asset function getTreeGrowthStage(treeAsset) { var size = treeAsset.width * treeAsset.height; if (size >= 800 * 765.63) { return 'Colossal'; } else if (size >= 500 * 500) { return 'Giant'; } else if (size >= 250 * 259.11) { return 'Big'; } else if (size >= 100 * 111.79) { return 'Normal'; } else { return 'Seedling'; } } // Retrieve the tree seedling asset and place it at the bottom of the screen var treeSeedling = LK.getAsset('tree', { anchorX: 0.5, anchorY: 1.0, x: 2048 / 2, y: 2732 }); game.addChild(treeSeedling); // Retrieve the upgrade button asset and place it at the middle-right of the screen var upgradeButton = LK.getAsset('Upgrade_button', { anchorX: 1.0, anchorY: 0.5, x: 2048 - 50, y: 2732 / 2 }); game.addChild(upgradeButton); // Create a Text2 object to display the name 'watering can' above the upgrade button var upgradeNameText = new Text2('watering can', { size: 50, fill: 0xFFFFFF }); upgradeNameText.anchor.set(0.5, 1.0); upgradeNameText.x = upgradeButton.x - upgradeButton.width / 2; upgradeNameText.y = upgradeButton.y - upgradeButton.height / 2 - 10; game.addChild(upgradeNameText); // Create a Text2 object to display the cost above the upgrade button var upgradeCostText = new Text2('Cost: 100', { size: 40, fill: 0xFFFFFF }); upgradeCostText.anchor.set(0.5, 1.0); upgradeCostText.x = upgradeButton.x - upgradeButton.width / 2; upgradeCostText.y = upgradeNameText.y - 40; game.addChild(upgradeCostText); // Retrieve the second upgrade button asset and place it below the first upgrade button var upgradeButton2 = LK.getAsset('Upgrade_button2', { anchorX: 1.0, anchorY: 0.5, x: 2048 - 50, y: 2732 / 2 + 400 }); game.addChild(upgradeButton2); // Create a Text2 object to display the name 'fertilizer' above the second upgrade button var upgradeNameText2 = new Text2('fertilizer', { size: 50, fill: 0xFFFFFF }); upgradeNameText2.anchor.set(0.5, 1.0); upgradeNameText2.x = upgradeButton2.x - upgradeButton2.width / 2; upgradeNameText2.y = upgradeButton2.y - upgradeButton2.height / 2 - 10; game.addChild(upgradeNameText2); // Create a Text2 object to display the cost above the second upgrade button var upgradeCostText2 = new Text2('Cost: 200', { size: 40, fill: 0xFFFFFF }); upgradeCostText2.anchor.set(0.5, 1.0); upgradeCostText2.x = upgradeButton2.x - upgradeButton2.width / 2; upgradeCostText2.y = upgradeNameText2.y - 40; game.addChild(upgradeCostText2); // Add touch event to upgradeButton upgradeButton.down = function (x, y, obj) { // Logic for upgrading the tree console.log("Upgrade button pressed"); // Apply drop effect LK.effects.flashObject(upgradeButton, 0x000000, 500); if (points >= upgradeCost) { LK.getSound('Buy_upgrade').play(); points -= upgradeCost; upgradeCost *= 1.5; // Increase the cost by 50% upgradeCostText.setText('Cost: ' + Math.ceil(upgradeCost)); pointsText.setText('Points: ' + points); // Increase points per second pointsPerSecond += 1; // Additional logic for upgrading the tree can be added here } else { console.log("Not enough points to upgrade"); LK.getSound('insufficient_sound').play(); } }; // Retrieve the third upgrade button asset and place it below the second upgrade button var upgradeButton3 = LK.getAsset('Upgrade_button_3', { anchorX: 1.0, anchorY: 0.5, x: 2048 - 50, y: 2732 / 2 + 800 }); game.addChild(upgradeButton3); // Create a Text2 object to display the name 'soil' above the third upgrade button var upgradeNameText3 = new Text2('soil', { size: 50, fill: 0xFFFFFF }); upgradeNameText3.anchor.set(0.5, 1.0); upgradeNameText3.x = upgradeButton3.x - upgradeButton3.width / 2; upgradeNameText3.y = upgradeButton3.y - upgradeButton3.height / 2 - 10; game.addChild(upgradeNameText3); // Create a Text2 object to display the cost above the third upgrade button var upgradeCostText3 = new Text2('Cost: 1000', { size: 40, fill: 0xFFFFFF }); upgradeCostText3.anchor.set(0.5, 1.0); upgradeCostText3.x = upgradeButton3.x - upgradeButton3.width / 2; upgradeCostText3.y = upgradeNameText3.y - 40; game.addChild(upgradeCostText3); // Add touch event to upgradeButton3 upgradeButton3.down = function (x, y, obj) { // Logic for upgrading the tree console.log("Upgrade button 3 pressed"); // Apply drop effect LK.effects.flashObject(upgradeButton3, 0x000000, 500); if (points >= upgradeCost3) { LK.getSound('Buy_upgrade_3').play(); points -= upgradeCost3; upgradeCost3 *= 2; // Increase the cost by 100% upgradeCostText3.setText('Cost: ' + Math.ceil(upgradeCost3)); pointsText.setText('Points: ' + points); // Increase points per second pointsPerSecond += 15; // UpgradeButton3 gives more points per second // Additional logic for upgrading the tree can be added here } else { console.log("Not enough points to upgrade"); LK.getSound('insufficient_sound').play(); } }; // Add touch event to upgradeButton2 upgradeButton2.down = function (x, y, obj) { // Logic for upgrading the tree console.log("Upgrade button 2 pressed"); // Apply drop effect LK.effects.flashObject(upgradeButton2, 0x000000, 500); if (points >= upgradeCost2) { LK.getSound('Buy_upgrade_2').play(); points -= upgradeCost2; upgradeCost2 *= 2; // Increase the cost by 100% upgradeCostText2.setText('Cost: ' + Math.ceil(upgradeCost2)); pointsText.setText('Points: ' + points); // Increase points per second pointsPerSecond += 3; // UpgradeButton2 gives more points per second // Additional logic for upgrading the tree can be added here } else { console.log("Not enough points to upgrade"); LK.getSound('insufficient_sound').play(); } }; // Add touch event to treeSeedling treeSeedling.down = function (x, y, obj) { // Increase points points += 1; LK.getSound('Click').play(); pointsText.setText('Points: ' + points); // Apply drop effect LK.effects.flashObject(treeSeedling, 0x000000, 500); }; // Variable to track the growth stage of the tree var treeGrowthStage = getTreeGrowthStage(treeSeedling); // Variable to track points var points = 0; // Variable to track the cost of the first upgrade var upgradeCost = 100; // Variable to track the cost of the second upgrade var upgradeCost2 = 200; // Variable to track points per second var pointsPerSecond = 0; // Variable to track the cost of the third upgrade var upgradeCost3 = 1000; // Function to update the X position of points function updatePointsX(newX) { pointsText.x = newX; } // Function to update the Y position of points function updatePointsY(newY) { pointsText.y = newY; } // Create a Text2 object to display the tree growth stage var treeGrowthStageText = new Text2('Growth Stage: ' + getTreeGrowthStage(treeSeedling), { size: 100, fill: 0xFFFFFF }); // Create a Text2 object to display the points var pointsText = new Text2('Points: ' + points, { size: 100, fill: 0xFFFFFF }); pointsText.anchor.set(0.5, -1); LK.gui.top.addChild(pointsText); // Set the anchor point to the center of the top edge treeGrowthStageText.anchor.set(0.5, 0); // Position the text at the top-center of the screen LK.gui.top.addChild(treeGrowthStageText); ;
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x87CEEB
});
/****
* Game Code
****/
// Add background image to the game
var background = LK.getAsset('bg1', {
anchorX: 0.5,
anchorY: 0.5,
x: 2048 / 2,
y: 2732 / 2
});
game.addChild(background);
// Function to increment points based on pointsPerSecond
function incrementPoints() {
points += pointsPerSecond;
pointsText.setText('Points: ' + points);
if (points >= 1550 && background.texture !== LK.getAsset('Bg2', {
anchorX: 0.5,
anchorY: 0.5
}).texture) {
background.texture = LK.getAsset('Bg2', {
anchorX: 0.5,
anchorY: 0.5
}).texture;
background.x = 2048 / 2;
background.y = 2732 / 2;
} else if (points >= 1000000) {
treeGrowthStageText.setText('Growth Stage: Colossal');
treeSeedling.texture = LK.getAsset('Colossal_tree', {
anchorX: 0.5,
anchorY: 1.0
}).texture;
} else if (points >= 100000) {
treeGrowthStageText.setText('Growth Stage: Giant');
treeSeedling.texture = LK.getAsset('Giant_tree', {
anchorX: 0.5,
anchorY: 1.0
}).texture;
} else if (points >= 29000) {
treeGrowthStageText.setText('Growth Stage: Big');
treeSeedling.texture = LK.getAsset('Tree_big', {
anchorX: 0.5,
anchorY: 1.0
}).texture;
} else if (points >= 1000) {
treeGrowthStageText.setText('Growth Stage: Normal');
treeSeedling.texture = LK.getAsset('Tree_normal', {
anchorX: 0.5,
anchorY: 1.0
}).texture;
} else {
treeGrowthStageText.setText('Growth Stage: Seedling');
treeSeedling.texture = LK.getAsset('tree', {
anchorX: 0.5,
anchorY: 1.0
}).texture;
}
}
// Set an interval to call incrementPoints every second
LK.setInterval(incrementPoints, 1000);
// Function to determine the growth stage based on the size of the tree asset
function getTreeGrowthStage(treeAsset) {
var size = treeAsset.width * treeAsset.height;
if (size >= 800 * 765.63) {
return 'Colossal';
} else if (size >= 500 * 500) {
return 'Giant';
} else if (size >= 250 * 259.11) {
return 'Big';
} else if (size >= 100 * 111.79) {
return 'Normal';
} else {
return 'Seedling';
}
}
// Retrieve the tree seedling asset and place it at the bottom of the screen
var treeSeedling = LK.getAsset('tree', {
anchorX: 0.5,
anchorY: 1.0,
x: 2048 / 2,
y: 2732
});
game.addChild(treeSeedling);
// Retrieve the upgrade button asset and place it at the middle-right of the screen
var upgradeButton = LK.getAsset('Upgrade_button', {
anchorX: 1.0,
anchorY: 0.5,
x: 2048 - 50,
y: 2732 / 2
});
game.addChild(upgradeButton);
// Create a Text2 object to display the name 'watering can' above the upgrade button
var upgradeNameText = new Text2('watering can', {
size: 50,
fill: 0xFFFFFF
});
upgradeNameText.anchor.set(0.5, 1.0);
upgradeNameText.x = upgradeButton.x - upgradeButton.width / 2;
upgradeNameText.y = upgradeButton.y - upgradeButton.height / 2 - 10;
game.addChild(upgradeNameText);
// Create a Text2 object to display the cost above the upgrade button
var upgradeCostText = new Text2('Cost: 100', {
size: 40,
fill: 0xFFFFFF
});
upgradeCostText.anchor.set(0.5, 1.0);
upgradeCostText.x = upgradeButton.x - upgradeButton.width / 2;
upgradeCostText.y = upgradeNameText.y - 40;
game.addChild(upgradeCostText);
// Retrieve the second upgrade button asset and place it below the first upgrade button
var upgradeButton2 = LK.getAsset('Upgrade_button2', {
anchorX: 1.0,
anchorY: 0.5,
x: 2048 - 50,
y: 2732 / 2 + 400
});
game.addChild(upgradeButton2);
// Create a Text2 object to display the name 'fertilizer' above the second upgrade button
var upgradeNameText2 = new Text2('fertilizer', {
size: 50,
fill: 0xFFFFFF
});
upgradeNameText2.anchor.set(0.5, 1.0);
upgradeNameText2.x = upgradeButton2.x - upgradeButton2.width / 2;
upgradeNameText2.y = upgradeButton2.y - upgradeButton2.height / 2 - 10;
game.addChild(upgradeNameText2);
// Create a Text2 object to display the cost above the second upgrade button
var upgradeCostText2 = new Text2('Cost: 200', {
size: 40,
fill: 0xFFFFFF
});
upgradeCostText2.anchor.set(0.5, 1.0);
upgradeCostText2.x = upgradeButton2.x - upgradeButton2.width / 2;
upgradeCostText2.y = upgradeNameText2.y - 40;
game.addChild(upgradeCostText2);
// Add touch event to upgradeButton
upgradeButton.down = function (x, y, obj) {
// Logic for upgrading the tree
console.log("Upgrade button pressed");
// Apply drop effect
LK.effects.flashObject(upgradeButton, 0x000000, 500);
if (points >= upgradeCost) {
LK.getSound('Buy_upgrade').play();
points -= upgradeCost;
upgradeCost *= 1.5; // Increase the cost by 50%
upgradeCostText.setText('Cost: ' + Math.ceil(upgradeCost));
pointsText.setText('Points: ' + points);
// Increase points per second
pointsPerSecond += 1;
// Additional logic for upgrading the tree can be added here
} else {
console.log("Not enough points to upgrade");
LK.getSound('insufficient_sound').play();
}
};
// Retrieve the third upgrade button asset and place it below the second upgrade button
var upgradeButton3 = LK.getAsset('Upgrade_button_3', {
anchorX: 1.0,
anchorY: 0.5,
x: 2048 - 50,
y: 2732 / 2 + 800
});
game.addChild(upgradeButton3);
// Create a Text2 object to display the name 'soil' above the third upgrade button
var upgradeNameText3 = new Text2('soil', {
size: 50,
fill: 0xFFFFFF
});
upgradeNameText3.anchor.set(0.5, 1.0);
upgradeNameText3.x = upgradeButton3.x - upgradeButton3.width / 2;
upgradeNameText3.y = upgradeButton3.y - upgradeButton3.height / 2 - 10;
game.addChild(upgradeNameText3);
// Create a Text2 object to display the cost above the third upgrade button
var upgradeCostText3 = new Text2('Cost: 1000', {
size: 40,
fill: 0xFFFFFF
});
upgradeCostText3.anchor.set(0.5, 1.0);
upgradeCostText3.x = upgradeButton3.x - upgradeButton3.width / 2;
upgradeCostText3.y = upgradeNameText3.y - 40;
game.addChild(upgradeCostText3);
// Add touch event to upgradeButton3
upgradeButton3.down = function (x, y, obj) {
// Logic for upgrading the tree
console.log("Upgrade button 3 pressed");
// Apply drop effect
LK.effects.flashObject(upgradeButton3, 0x000000, 500);
if (points >= upgradeCost3) {
LK.getSound('Buy_upgrade_3').play();
points -= upgradeCost3;
upgradeCost3 *= 2; // Increase the cost by 100%
upgradeCostText3.setText('Cost: ' + Math.ceil(upgradeCost3));
pointsText.setText('Points: ' + points);
// Increase points per second
pointsPerSecond += 15; // UpgradeButton3 gives more points per second
// Additional logic for upgrading the tree can be added here
} else {
console.log("Not enough points to upgrade");
LK.getSound('insufficient_sound').play();
}
};
// Add touch event to upgradeButton2
upgradeButton2.down = function (x, y, obj) {
// Logic for upgrading the tree
console.log("Upgrade button 2 pressed");
// Apply drop effect
LK.effects.flashObject(upgradeButton2, 0x000000, 500);
if (points >= upgradeCost2) {
LK.getSound('Buy_upgrade_2').play();
points -= upgradeCost2;
upgradeCost2 *= 2; // Increase the cost by 100%
upgradeCostText2.setText('Cost: ' + Math.ceil(upgradeCost2));
pointsText.setText('Points: ' + points);
// Increase points per second
pointsPerSecond += 3; // UpgradeButton2 gives more points per second
// Additional logic for upgrading the tree can be added here
} else {
console.log("Not enough points to upgrade");
LK.getSound('insufficient_sound').play();
}
};
// Add touch event to treeSeedling
treeSeedling.down = function (x, y, obj) {
// Increase points
points += 1;
LK.getSound('Click').play();
pointsText.setText('Points: ' + points);
// Apply drop effect
LK.effects.flashObject(treeSeedling, 0x000000, 500);
};
// Variable to track the growth stage of the tree
var treeGrowthStage = getTreeGrowthStage(treeSeedling);
// Variable to track points
var points = 0;
// Variable to track the cost of the first upgrade
var upgradeCost = 100;
// Variable to track the cost of the second upgrade
var upgradeCost2 = 200;
// Variable to track points per second
var pointsPerSecond = 0;
// Variable to track the cost of the third upgrade
var upgradeCost3 = 1000;
// Function to update the X position of points
function updatePointsX(newX) {
pointsText.x = newX;
}
// Function to update the Y position of points
function updatePointsY(newY) {
pointsText.y = newY;
}
// Create a Text2 object to display the tree growth stage
var treeGrowthStageText = new Text2('Growth Stage: ' + getTreeGrowthStage(treeSeedling), {
size: 100,
fill: 0xFFFFFF
});
// Create a Text2 object to display the points
var pointsText = new Text2('Points: ' + points, {
size: 100,
fill: 0xFFFFFF
});
pointsText.anchor.set(0.5, -1);
LK.gui.top.addChild(pointsText);
// Set the anchor point to the center of the top edge
treeGrowthStageText.anchor.set(0.5, 0);
// Position the text at the top-center of the screen
LK.gui.top.addChild(treeGrowthStageText);
;
Tree. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Giant_tree. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
panel. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
close button. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Sticker_approved_code. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
watering can button. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
fertilizer button. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
soil button. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
bg of rocks waterfall. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
nighttime scene or a different landscape altogether, such as a forest, desert, or underwater setting. The choice of `bg2` would depend on the narrative or progression of the game, offering variety and enhancing the player's experience by changing the visual context as they advance.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows