Code edit (1 edits merged)
Please save this source code
User prompt
Please fix the bug: 'ReferenceError: Sphere is not defined' in or related to this line: 'if (spheres[i] instanceof Sphere && spheres[i].y < -200) {' Line Number: 590
User prompt
Make Sphere the object asset for level 3
User prompt
Make the sphere asset object that dragon get point from it in level 3
User prompt
Add sphere asset
User prompt
Add sphere to level 3
User prompt
Please fix the bug: 'ReferenceError: Icerock is not defined' in or related to this line: 'newObject = new Icerock();' Line Number: 677
User prompt
Remove Snowland asset from the game
User prompt
No objects in level 3 add Some objects "square, sphere"
User prompt
Add objects for level 3
User prompt
each 100 score change the level make last level is 5
User prompt
Please fix the bug: 'ReferenceError: backgroundLevel3 is not defined' in or related to this line: 'backgroundLevel3.visible = true;' Line Number: 633
User prompt
remove Snowland and Iceland and Ice_lands assets from the game
User prompt
Create new object assets for level 3 name it Iceland
User prompt
Make the background behind all objects in level 3
User prompt
Add Snowland to the game
User prompt
Dublicat objects of level 2 to level 3
User prompt
Respan objects in the screen for the dragon to dodge it
User prompt
Make Snowland visible in level 3
User prompt
remove snowland asset from the game
User prompt
Make new objects of the asset snowland for level 3
User prompt
Go to next level each timescor reach 100 point from the objects
User prompt
Set to visible the objects that respawn in level 3 andgoind from the bottom to the top
User prompt
Set resolution for the background of level 3 800x800
User prompt
Make different sizes of the asset Snowland, add same system of level 1 to level 3
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ //<Assets used in the game will automatically appear here> //<Write imports for supported plugins here> // Dragon class to represent the player character var Dragon = Container.expand(function () { var self = Container.call(this); var dragonGraphics = self.attachAsset('dragon', { anchorX: 0.5, anchorY: 0.5, scaleX: 2.0, scaleY: 2.0, smooth: true, filterQuality: 2 }); self.speed = 20; // Further increase the speed of the dragon self.update = function () { // Update logic for the dragon to flip based on movement direction if (self.x < 2048 / 2) { dragonGraphics.scaleX = -1; // Flip horizontally when on the left side of the screen } else { dragonGraphics.scaleX = 1; // Normal orientation when on the right side of the screen } // Removed unnecessary variable to optimize performance }; }); // Fireball class to represent the fireballs that the dragon shoots var Fireball = Container.expand(function (assetId) { var self = Container.call(this); var fireballGraphics = self.attachAsset(assetId, { anchorX: 0.5, anchorY: 0.5, scaleX: 0.6, scaleY: 0.9, smooth: true, filterQuality: 1 }); self.speed = 40; // Increase the speed of the fireballs self.update = function () { self.y += self.speed; }; }); // HealthBar class to represent the player's health var HealthBar = Container.expand(function () { var self = Container.call(this); var healthBarGraphics = self.attachAsset('healthBar', { anchorX: 0.0, anchorY: 0.0, scaleX: 2530 / 1000, // Scale to fit the game width scaleY: 0.1 }); self.maxHealth = 1000; self.currentHealth = self.maxHealth; self.update = function () { healthBarGraphics.scaleX = self.currentHealth / self.maxHealth; healthBarGraphics.scaleY = 0.05; // Resize the health bar to fit the top of the screen }; }); var Icerocks = Container.expand(function () { var self = Container.call(this); var icerocksGraphics = self.attachAsset('Icerocks', { anchorX: 0.5, anchorY: 0.5, scaleX: level === 3 ? 1.5 : 1.0, scaleY: level === 3 ? 1.5 : 1.0, smooth: true, filterQuality: 1 }); self.speed = level === 3 ? 10 : 5; // Increase speed for level 3 self.update = function () { // Move the icerocks upwards self.y -= self.speed; }; }); var Lavarocks = Container.expand(function () { var self = Container.call(this); var lavarocksGraphics = self.attachAsset('Lavarocks', { anchorX: 0.5, anchorY: 0.5, scaleX: level === 2 ? 1.5 : 1.0, scaleY: level === 2 ? 1.5 : 1.0, smooth: true, filterQuality: 1 }); self.speed = level === 2 ? 10 : 5; // Increase speed for level 2 self.update = function () { // Move the lavarocks upwards self.y -= self.speed; }; }); var Lavarocks1 = Container.expand(function () { var self = Container.call(this); var lavarocks1Graphics = self.attachAsset('Lavarocks1', { anchorX: 0.5, anchorY: 0.5, scaleX: level === 2 ? 1.5 : 1.0, scaleY: level === 2 ? 1.5 : 1.0, smooth: true, filterQuality: 1 }); self.speed = level === 2 ? 10 : 5; // Increase speed for level 2 self.update = function () { // Move the lavarocks1 upwards self.y -= self.speed; }; }); var Lavarocks2 = Container.expand(function () { var self = Container.call(this); var lavarocks2Graphics = self.attachAsset('Lavarocks2', { anchorX: 0.5, anchorY: 0.5, scaleX: level === 2 ? 1.5 : 1.0, scaleY: level === 2 ? 1.5 : 1.0, smooth: true, filterQuality: 1 }); self.speed = level === 2 ? 10 : 5; // Increase speed for level 2 self.update = function () { // Move the lavarocks2 upwards self.y -= self.speed; }; }); var Stone = Container.expand(function () { var self = Container.call(this); var stoneGraphics = self.attachAsset('Stone', { anchorX: 0.5, anchorY: 0.5, scaleX: 0.5, scaleY: 0.5, smooth: true, filterQuality: 1 }); self.speed = 10; // Increase speed for Stone objects self.update = function () { // Move the stones upwards self.y -= self.speed; }; }); var StoneCircle = Container.expand(function () { var self = Container.call(this); var stoneCircleGraphics = self.attachAsset('StoneCircle', { anchorX: 0.5, anchorY: 0.5, scaleX: 0.5, scaleY: 0.5, smooth: true, filterQuality: 1 }); self.speed = 10; // Increase speed for StoneCircle objects self.update = function () { // Move the stones upwards self.y -= self.speed; }; }); var StoneSquare = Container.expand(function () { var self = Container.call(this); var stoneSquareGraphics = self.attachAsset('StoneSquare', { anchorX: 0.5, anchorY: 0.5, scaleX: 0.5, scaleY: 0.5, smooth: true, filterQuality: 1 }); self.speed = 10; // Increase speed for StoneSquare objects self.update = function () { // Move the stones upwards self.y -= self.speed; }; }); var Tree = Container.expand(function () { var self = Container.call(this); var treeGraphics = self.attachAsset('Tree01', { anchorX: 0.5, anchorY: 0.5, scaleX: 0.8, scaleY: 0.8, smooth: true, filterQuality: 1 }); self.speed = 15; // Further increase the speed of the tree self.update = function () { // Move the tree straight up self.y -= self.speed; }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000, //Init game with black background height: 3000 // Increase the game screen height }); /**** * Game Code ****/ // or via static code analysis based on their usage in the code. function startRespawningObjects() { // Logic to start respawning objects based on the current level if (level === 1) { // Respawn Trees randomly in level 1 if (!LK.gameOver && LK.ticks % 50 == 0 && levelTxtOrange.visible === false) { var newTree; for (var i = 0; i < spheres.length; i++) { if (spheres[i] instanceof Tree && spheres[i].y < -200) { newTree = spheres[i]; break; } } if (!newTree) { newTree = new Tree(); spheres.push(newTree); game.addChild(newTree); } newTree.x = Math.random() * (2048 - newTree.width) + newTree.width / 2; newTree.y = 2732; } } else if (level === 2) { // Respawn Lavarocks, Lavarocks1, and Lavarocks2 randomly in level 2 if (!LK.gameOver && LK.ticks % 50 == 0) { var newLavarock; for (var i = 0; i < spheres.length; i++) { if ((spheres[i] instanceof Lavarocks || spheres[i] instanceof Lavarocks1 || spheres[i] instanceof Lavarocks2) && spheres[i].y < -200) { newLavarock = spheres[i]; break; } } if (!newLavarock) { var randomType = Math.floor(Math.random() * 3); if (randomType === 0) { newLavarock = new Lavarocks(); } else if (randomType === 1) { newLavarock = new Lavarocks1(); } else { newLavarock = new Lavarocks2(); } spheres.push(newLavarock); game.addChild(newLavarock); } newLavarock.x = Math.random() * (2048 - newLavarock.width) + newLavarock.width / 2; newLavarock.y = 2732; var randomScale = 0.5 + Math.random() * 1.5; // Random scale between 0.5 and 2.0 newLavarock.scaleX = randomScale; newLavarock.scaleY = randomScale; } } else if (level === 3) { // Respawn Icerocks randomly in level 3 if (!LK.gameOver && LK.ticks % 50 == 0) { var newIcerock; for (var i = 0; i < spheres.length; i++) { if (spheres[i] instanceof Icerocks && spheres[i].y < -200) { newIcerock = spheres[i]; break; } } if (!newIcerock) { newIcerock = new Icerocks(); spheres.push(newIcerock); game.addChild(newIcerock); } newIcerock.x = Math.random() * (2048 - newIcerock.width) + newIcerock.width / 2; newIcerock.y = 2732; var randomScaleX = 0.5 + Math.random() * 1.5; // Random scale between 0.5 and 2.0 for width var randomScaleY = 0.5 + Math.random() * 2.0; // Random scale between 0.5 and 2.5 for height newIcerock.scaleX = randomScaleX; newIcerock.scaleY = randomScaleY; } } } // Function to show the level text twice function showLevelTextTwice() { levelTxtOrange.fill = 0x0000ff; // Blue color levelTxtOrange.visible = true; LK.setTimeout(function () { levelTxtOrange.visible = false; LK.setTimeout(function () { levelTxtOrange.visible = true; LK.setTimeout(function () { levelTxtOrange.visible = false; // Start respawning objects after the text has shown and hidden for the last time startRespawningObjects(); }, 500); }, 500); }, 500); } // Add background image for level 4 var backgroundLevel4 = LK.getAsset('Stone_lands', { anchorX: 0.0, anchorY: 0.0 }); backgroundLevel4.smooth = true; backgroundLevel4.filterQuality = 0; // Further increase the filter quality for better clarity backgroundLevel4.scale.set(2048 / 800, 2732 / 800); backgroundLevel4.smooth = true; // Enable smoothing to remove pixelation backgroundLevel4.filterQuality = 0; // Adjust filter quality for better clarity backgroundLevel4.visible = false; // Initially hidden game.addChild(backgroundLevel4); // Initialize game variables var dragon; var spheres = []; var fireballs = []; // Initialize fireballs array var score = 0; // Initialize score to 0 var scoreTxt; var level = 1; // Initialize level to 1 // Add background image to the game for level 1 var backgroundLevel1 = LK.getAsset('Green_lands', { anchorX: 0.0, anchorY: 0.0 }); backgroundLevel1.smooth = true; // Enable smoothing to remove pixelation backgroundLevel1.filterQuality = 0; // Adjust filter quality for better clarity backgroundLevel1.scale.set(2048 / 800, 2732 / 800); // Scale the background to fit the screen backgroundLevel1.smooth = true; // Enable smoothing to remove pixelation backgroundLevel1.filterQuality = 0; // Further increase the filter quality for better clarity backgroundLevel1.visible = true; // Initially visible game.addChild(backgroundLevel1); // Add background image for level 2 var backgroundLevel2 = LK.getAsset('Lava_lands', { anchorX: 0.0, anchorY: 0.0 }); backgroundLevel2.smooth = true; backgroundLevel2.filterQuality = 0; // Further increase the filter quality for better clarity backgroundLevel2.scale.set(2048 / 800, 2732 / 800); backgroundLevel2.smooth = true; // Enable smoothing to remove pixelation backgroundLevel2.filterQuality = 2; // Increase filter quality for better clarity backgroundLevel2.visible = false; // Initially hidden game.addChild(backgroundLevel2); // Add background image for level 3 var backgroundLevel3 = LK.getAsset('Ice_lands', { anchorX: 0.0, anchorY: 0.0 }); backgroundLevel3.smooth = true; backgroundLevel3.filterQuality = 0; // Further increase the filter quality for better clarity backgroundLevel3.scale.set(2048 / 800, 2732 / 800); backgroundLevel3.smooth = true; // Enable smoothing to remove pixelation backgroundLevel3.filterQuality = 0; // Adjust filter quality for better clarity backgroundLevel3.visible = false; // Initially hidden game.addChild(backgroundLevel3); // Refresh the background to be clearer & fit to screen every 60 ticks game.update = function () { backgroundLevel1.x = 2048 / 2; // Center the background horizontally backgroundLevel1.y = 2732 / 2; // Center the background vertically if (backgroundLevel1.y >= 2732) { backgroundLevel1.y = -2732; } }; // Function to handle game updates game.update = function () { // Reuse off-screen stones or spawn new ones if necessary if (level === 4 && !LK.gameOver && LK.ticks % 50 == 0) { var newStone; for (var i = 0; i < spheres.length; i++) { if ((spheres[i] instanceof Stone || spheres[i] instanceof StoneCircle || spheres[i] instanceof StoneSquare) && spheres[i].y < -200) { newStone = spheres[i]; break; } } if (!newStone) { var randomType = Math.floor(Math.random() * 3); if (randomType === 0) { newStone = new Stone(); } else if (randomType === 1) { newStone = new StoneCircle(); } else { newStone = new StoneSquare(); } spheres.push(newStone); game.addChild(newStone); } newStone.x = Math.random() * (2048 - newStone.width) + newStone.width / 2; newStone.y = 2732; } // Check for collisions between fireballs and stones for (var i = fireballs.length - 1; i >= 0; i--) { if (fireballs[i].y > 2732) { fireballs[i].destroy(); fireballs.splice(i, 1); continue; } for (var j = spheres.length - 1; j >= 0; j--) { if (fireballs[i].intersects(spheres[j]) && spheres[j] instanceof Stone) { // Add random points from 0-40 when the dragon shoots the stones var points = Math.floor(Math.random() * 41); score += points; // Remove the fireball and the object from the game fireballs[i].destroy(); fireballs.splice(i, 1); spheres[j].destroy(); spheres.splice(j, 1); break; } } } // Check for collisions between dragon and stones for (var j = spheres.length - 1; j >= 0; j--) { if (dragon.intersects(spheres[j]) && spheres[j] instanceof Stone) { // Decrease the dragon's health healthBar.currentHealth -= 20; // Consistent damage taken by the dragon from all objects in level 4 // Remove the stone from the game spheres[j].destroy(); spheres.splice(j, 1); break; } } if (!LK.gameOver && dragNode && dragNode.global) { dragNode.x = game.toLocal(dragNode.global).x; } // Reuse off-screen trees or spawn new ones if necessary if (level === 1 && !LK.gameOver && LK.ticks % 50 == 0) { // Further reduce the interval for spawning trees to add more tree objects // Reduce the interval for spawning trees var newTree; for (var i = 0; i < spheres.length; i++) { if (spheres[i] instanceof Tree && spheres[i].y < -200) { // Check if the tree is off-screen newTree = spheres[i]; break; } } if (!newTree) { newTree = new Tree(); spheres.push(newTree); game.addChild(newTree); } newTree.x = Math.random() * (2048 - newTree.width) + newTree.width / 2; newTree.y = 2732; } // Check for collisions between fireballs and trees or Lavarocks for (var i = fireballs.length - 1; i >= 0; i--) { if (fireballs[i].y > 2732) { fireballs[i].destroy(); fireballs.splice(i, 1); continue; } for (var j = spheres.length - 1; j >= 0; j--) { if (fireballs[i].intersects(spheres[j])) { // Add random points from 0-40 when the dragon shoots the trees or Lavarocks var points = Math.floor(Math.random() * 41); score += points; // Remove the fireball and the object from the game fireballs[i].destroy(); fireballs.splice(i, 1); spheres[j].destroy(); spheres.splice(j, 1); break; } } } // Check for collisions between dragon and rocks for (var j = spheres.length - 1; j >= 0; j--) { if (dragon.intersects(spheres[j])) { // Decrease the dragon's health healthBar.currentHealth -= 20; // Consistent damage taken by the dragon from all objects in level 1 // Remove the rock from the game spheres[j].destroy(); spheres.splice(j, 1); break; } // Decrease dragon's health if any object passes the top of the screen if (spheres[j].y < -200) { healthBar.currentHealth -= 10; // Decrease health by 10 for each object spheres[j].destroy(); spheres.splice(j, 1); } // Reuse off-screen lavarocks or spawn new ones if necessary } // Update the score display when the dragon gets points scoreTxt.setText('Score: ' + score); // Check if health bar reaches 0 to trigger game over if (healthBar.currentHealth <= 0 && !LK.gameOver) { LK.effects.flashScreen(0xff0000, 1000); // Flash screen red for 1 second LK.showGameOver(); // Show game over screen } // Regenerate player's health to max when score reaches 1000 if (score >= 1000) { healthBar.currentHealth = healthBar.maxHealth; } // Transition to the next level every 100 score if (score >= 100 * level && level < 4) { level++; levelTxt.setText('Level: ' + level); levelTxtOrange.setText('Level: ' + level); showLevelTextOnce(); // Hide all backgrounds backgroundLevel1.visible = false; backgroundLevel2.visible = false; backgroundLevel3.visible = false; backgroundLevel4.visible = false; // Show the current level background if (level === 2) { backgroundLevel2.visible = true; var newLavarocks = new Lavarocks(); spheres.push(newLavarocks); game.addChild(newLavarocks); newLavarocks.x = Math.random() * (2048 - newLavarocks.width) + newLavarocks.width / 2; newLavarocks.y = -100; } else if (level === 3) { backgroundLevel3.visible = true; var newIcerocks = new Icerocks(); spheres.push(newIcerocks); game.addChild(newIcerocks); newIcerocks.x = Math.random() * (2048 - newIcerocks.width) + newIcerocks.width / 2; newIcerocks.y = -100; } else if (level === 4) { backgroundLevel4.visible = true; var newStone = new Stone(); spheres.push(newStone); game.addChild(newStone); newStone.x = Math.random() * (2048 - newStone.width) + newStone.width / 2; newStone.y = -100; } } // Respawn Lavarocks, Lavarocks1, and Lavarocks2 randomly in level 2 if (level === 2 && !LK.gameOver && LK.ticks % 50 == 0) { var newLavarock; for (var i = 0; i < spheres.length; i++) { if ((spheres[i] instanceof Lavarocks || spheres[i] instanceof Lavarocks1 || spheres[i] instanceof Lavarocks2) && spheres[i].y < -200) { newLavarock = spheres[i]; break; } } if (!newLavarock) { var randomType = Math.floor(Math.random() * 3); if (randomType === 0) { newLavarock = new Lavarocks(); } else if (randomType === 1) { newLavarock = new Lavarocks1(); } else { newLavarock = new Lavarocks2(); } spheres.push(newLavarock); game.addChild(newLavarock); } newLavarock.x = Math.random() * (2048 - newLavarock.width) + newLavarock.width / 2; newLavarock.y = 2732; var randomScale = 0.5 + Math.random() * 1.5; // Random scale between 0.5 and 2.0 newLavarock.scaleX = randomScale; newLavarock.scaleY = randomScale; } // Respawn Icerocks randomly in level 3 if (level === 3 && !LK.gameOver && LK.ticks % 50 == 0) { var newIcerock; for (var i = 0; i < spheres.length; i++) { if (spheres[i] instanceof Icerocks && spheres[i].y < -200) { newIcerock = spheres[i]; break; } } if (!newIcerock) { newIcerock = new Icerocks(); spheres.push(newIcerock); game.addChild(newIcerock); } newIcerock.x = Math.random() * (2048 - newIcerock.width) + newIcerock.width / 2; newIcerock.y = 2732; var randomScale = 0.5 + Math.random() * 1.5; // Random scale between 0.5 and 2.0 newIcerock.scaleX = randomScale; newIcerock.scaleY = randomScale; } }; // Initialize dragon dragon = game.addChild(new Dragon()); dragon.x = 2048 / 2; dragon.y = 200; // Initialize start text var startTxt = new Text2('Start', { size: 150, fill: 0xffa500, // Orange color font: "'Time new roman',Impact,'Arial Black',Tahoma" }); startTxt.anchor.set(0.5, 0.5); LK.gui.center.addChild(startTxt); // Function to show start text with alternating colors function showStartText() { startTxt.visible = true; LK.setTimeout(function () { startTxt.visible = false; showLevelTextTwice(); // Show level status text before start text }, 2000); } // Initialize level display var levelTxt = new Text2('Level: 1', { size: 100, fill: 0x800080, // Purple color font: "'Time new roman',Impact,'Arial Black',Tahoma" }); levelTxt.anchor.set(1, 1); LK.gui.bottomRight.addChild(levelTxt); levelTxt.x = -50; // Move the level text to the right side of the screen levelTxt.y = -50; // Position the level text at the bottom of the screen // Call the function to show start text at the beginning of the game showStartText(); // Initialize second level display in orange var levelTxtOrange = new Text2('Level: ' + level, { size: 100, fill: 0xffff00, // Yellow color font: "'Time new roman',Impact,'Arial Black',Tahoma" }); levelTxtOrange.anchor.set(0.5, 0.5); LK.gui.center.addChild(levelTxtOrange); levelTxtOrange.visible = false; // Initially hidden // Function to show the orange level text twice function showLevelTextOnce() { levelTxtOrange.fill = 0xffff00; // Yellow color levelTxtOrange.visible = true; tween(levelTxtOrange, { alpha: 0 }, { duration: 500, easing: tween.easeInOut, onFinish: function onFinish() { tween(levelTxtOrange, { alpha: 1 }, { duration: 500, easing: tween.easeInOut, onFinish: function onFinish() { tween(levelTxtOrange, { alpha: 0 }, { duration: 500, easing: tween.easeInOut, onFinish: function onFinish() { tween(levelTxtOrange, { alpha: 1 }, { duration: 500, easing: tween.easeInOut, onFinish: function onFinish() { levelTxtOrange.visible = false; // Start respawning objects after the text has disappeared startRespawningObjects(); } }); } }); } }); } }); } // Initialize score display scoreTxt = new Text2('Score: 0', { size: 100, fill: 0x800080, // Purple color font: "'Time new roman',Impact,'Arial Black',Tahoma" }); LK.gui.top.addChild(scoreTxt); scoreTxt.anchor.set(0, 0); // Sets anchor to the left of the top edge of the text. scoreTxt.x = 50; // Position the score text a little bit to the right scoreTxt.y = levelTxt.y - scoreTxt.height - 100; // Position the score text 100 pixels above the level text // Initialize health bar var healthBar = game.addChild(new HealthBar()); healthBar.x = 2000 / 2 - healthBar.width / 2 + 100; // Move health bar to the right a little bit healthBar.y = 2710 - healthBar.height / 2; // Move health bar to the middle of the bottom side scoreTxt.anchor.set(0, 1); LK.gui.bottomLeft.addChild(scoreTxt); scoreTxt.x = 50; // Position the score text a little bit to the right scoreTxt.y = -50; // Position the score text above the health bar // Handle touch input for dragging the dragon var dragNode = null; game.down = function (x, y, obj) { dragNode = dragon; }; game.up = function (x, y, obj) { dragNode = null; }; game.move = function (x, y, obj) { // Make the dragon follow the mouse cursor var newX = Math.max(dragon.width / 2, Math.min(2048 - dragon.width / 2, x)); var newY = Math.max(dragon.height / 2, Math.min(2732 - dragon.height / 2, y)); dragon.x = newX; dragon.y = newY; // Shoot a fireball at regular intervals if (LK.ticks % 10 == 0) { // Reduce the interval for shooting fireballs for (var i = 0; i < 1; i++) { var assetId; if (level === 2) { assetId = 'Shout2'; } else if (level === 3) { assetId = 'Shout3'; } else if (level === 4) { assetId = 'Shout4'; } else { assetId = 'Shout1'; } var fireball = new Fireball(assetId); fireball.x = dragon.x; fireball.y = dragon.y; fireballs.push(fireball); game.addChild(fireball); } } };
===================================================================
--- original.js
+++ change.js
@@ -126,24 +126,8 @@
// Move the lavarocks2 upwards
self.y -= self.speed;
};
});
-var Sphere = Container.expand(function () {
- var self = Container.call(this);
- var sphereGraphics = self.attachAsset('Sphere', {
- anchorX: 0.5,
- anchorY: 0.5,
- scaleX: 0.5,
- scaleY: 0.5,
- smooth: true,
- filterQuality: 1
- });
- self.speed = 10; // Set speed for Sphere objects
- self.update = function () {
- // Move the spheres upwards
- self.y -= self.speed;
- };
-});
var Stone = Container.expand(function () {
var self = Container.call(this);
var stoneGraphics = self.attachAsset('Stone', {
anchorX: 0.5,
@@ -200,9 +184,9 @@
scaleY: 0.8,
smooth: true,
filterQuality: 1
});
- self.speed = 5; // Reduce the speed of the tree
+ self.speed = 15; // Further increase the speed of the tree
self.update = function () {
// Move the tree straight up
self.y -= self.speed;
};
@@ -239,11 +223,8 @@
game.addChild(newTree);
}
newTree.x = Math.random() * (2048 - newTree.width) + newTree.width / 2;
newTree.y = 2732;
- var randomScaleY = 0.5 + Math.random() * 1.5; // Random scale between 0.5 and 2.0 for height
- newTree.scaleY = randomScaleY;
- newTree.speed = 5; // Reduce speed for trees in level 1
}
} else if (level === 2) {
// Respawn Lavarocks, Lavarocks1, and Lavarocks2 randomly in level 2
if (!LK.gameOver && LK.ticks % 50 == 0) {
@@ -276,24 +257,24 @@
// Respawn Icerocks randomly in level 3
if (!LK.gameOver && LK.ticks % 50 == 0) {
var newIcerock;
for (var i = 0; i < spheres.length; i++) {
- if (spheres[i] instanceof Sphere && spheres[i].y < -200) {
- newSphere = spheres[i];
+ if (spheres[i] instanceof Icerocks && spheres[i].y < -200) {
+ newIcerock = spheres[i];
break;
}
}
if (!newIcerock) {
- newSphere = new Sphere();
- spheres.push(newSphere);
- game.addChild(newSphere);
+ newIcerock = new Icerocks();
+ spheres.push(newIcerock);
+ game.addChild(newIcerock);
}
- newSphere.x = Math.random() * (2048 - newSphere.width) + newSphere.width / 2;
- newSphere.y = 2732;
+ newIcerock.x = Math.random() * (2048 - newIcerock.width) + newIcerock.width / 2;
+ newIcerock.y = 2732;
var randomScaleX = 0.5 + Math.random() * 1.5; // Random scale between 0.5 and 2.0 for width
- var randomScaleY = 0.5 + Math.random() * 2.5; // Random scale between 0.5 and 2.5 for height
- newSphere.scaleX = randomScaleX;
- newSphere.scaleY = randomScaleY;
+ var randomScaleY = 0.5 + Math.random() * 2.0; // Random scale between 0.5 and 2.5 for height
+ newIcerock.scaleX = randomScaleX;
+ newIcerock.scaleY = randomScaleY;
}
}
}
// Function to show the level text twice
@@ -399,12 +380,8 @@
game.addChild(newStone);
}
newStone.x = Math.random() * (2048 - newStone.width) + newStone.width / 2;
newStone.y = 2732;
- var randomScaleX = 0.5 + Math.random() * 1.5; // Random scale between 0.5 and 2.0 for width
- var randomScaleY = 0.5 + Math.random() * 2.0; // Random scale between 0.5 and 2.5 for height
- newStone.scaleX = randomScaleX;
- newStone.scaleY = randomScaleY;
}
// Check for collisions between fireballs and stones
for (var i = fireballs.length - 1; i >= 0; i--) {
if (fireballs[i].y > 2732) {
@@ -575,23 +552,23 @@
// Respawn Icerocks randomly in level 3
if (level === 3 && !LK.gameOver && LK.ticks % 50 == 0) {
var newIcerock;
for (var i = 0; i < spheres.length; i++) {
- if (spheres[i] instanceof Sphere && spheres[i].y < -200) {
- newSphere = spheres[i];
+ if (spheres[i] instanceof Icerocks && spheres[i].y < -200) {
+ newIcerock = spheres[i];
break;
}
}
if (!newIcerock) {
- newSphere = new Sphere();
- spheres.push(newSphere);
- game.addChild(newSphere);
+ newIcerock = new Icerocks();
+ spheres.push(newIcerock);
+ game.addChild(newIcerock);
}
- newSphere.x = Math.random() * (2048 - newSphere.width) + newSphere.width / 2;
- newSphere.y = 2732;
+ newIcerock.x = Math.random() * (2048 - newIcerock.width) + newIcerock.width / 2;
+ newIcerock.y = 2732;
var randomScale = 0.5 + Math.random() * 1.5; // Random scale between 0.5 and 2.0
- newSphere.scaleX = randomScale;
- newSphere.scaleY = randomScale;
+ newIcerock.scaleX = randomScale;
+ newIcerock.scaleY = randomScale;
}
};
// Initialize dragon
dragon = game.addChild(new Dragon());
floating land world imagination green colors not pixels no text in the image. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Pack of different standing white dragon of stone on four legs, looking down. HD different mixed colors. Blur. not a sculpt model! the dragon is a real dragon have all things of dragon with opened mouth like he ready to shoot, have eyes opened . Single Game Texture. In-Game asset. 2D. Blank background. High contrast. No shadows.
Different standing dragon on four legs, looking down. have mixed colors. Blur. the dragon is opened mouth like he is ready to shout. Single Game Texture. In-Game asset. 3D. Blank background. High contrast. No shadows.
Different standing dragon of forest on four legs, he's head is down and opened mouth to shout. HD colors. Single Game Texture. In-Game asset. 3D. Blank background. High contrast. No shadows.
Airball of dragon shout. sphere. HD colors.. In-Game asset. 2d. High contrast. No shadows
Airball explosion. sphere. mixed grey with white & blue colors. HD colors In-Game asset. 2d. High contrast. No shadows
Air airball shout of a dragon. sphere. mixed grey with white & blue colors. HD colors In-Game asset. 2d. High contrast. No shadows
Different standing dragons on four legs, looking down. HD colors. the dragon is opened mouth like he is ready to shout. Single Game Texture. In-Game asset. 3D. Blank background. High contrast. No shadows.
standing air dragons on four legs, looking down. HD blue color. the dragon is opened mouth like he is ready to shout. Single Game Texture. In-Game asset. 3D. Blank background. High contrast. No shadows.
Medieval "start game" buttons. HD colors. In-Game asset. High contrast. No shadows. 3D
Medieval 'High score' buttons. HD colors. In-Game asset. High contrast. No shadows. 3D
Airball of dragon shout. sphere. HD colors.. In-Game asset. 2d. High contrast. No shadows