Code edit (23 edits merged)
Please save this source code
User prompt
make the roundText opaque
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
User prompt
remove the little ball at the top left of the screen
User prompt
if ball intersects with defender reset multiplier
User prompt
if ball intersects with defender remove multiplier
Code edit (1 edits merged)
Please save this source code
User prompt
once score reaches 2 change background to background2
User prompt
when score reaches 30 change background to background2
User prompt
once score reaches 30 reset timer to 100
User prompt
if user score reaches 30 change background to background2
User prompt
if user reaches 30 reset score to 0
Code edit (2 edits merged)
Please save this source code
User prompt
if user reaches 30 points reset timer
User prompt
remove the ball from the top left corner
Code edit (4 edits merged)
Please save this source code
User prompt
add ROUND 1 text before game starts
User prompt
remove teammate asset and all iterations related to it
User prompt
remove platform asset and all iterations related to it
User prompt
gradually reduce visibility of dust to zero over 5 seconds
User prompt
make dust invisible after 5 seconds
Code edit (1 edits merged)
Please save this source code
Code edit (15 edits merged)
Please save this source code
User prompt
if ball intersects with defender, make three dust assets flash and reset the ball
===================================================================
--- original.js
+++ change.js
@@ -108,9 +108,9 @@
x: (Math.random() - 0.5) * 10,
y: (Math.random() - 0.5) * 10
};
self.scale.set(Math.random() * 0.5 + 0.5); // Random scale between 0.5 to 1
- self.rotation = Math.random() * Math.PI * 2;
+ //self.rotation = Math.random() * Math.PI * 2;
self.move = function () {
self.x += self.speed.x;
self.y += self.speed.y;
self.lifeSpan--;
@@ -355,20 +355,25 @@
}
}
});
// Display ROUND 1 text at the beginning of the game
-var roundText = new Text2('ROUND 1', {
- size: 200,
- fill: "#ffffff"
-});
-roundText.anchor.set(0.5, 0.5); // Center the text
-roundText.x = 2048 / 2; // Center horizontally
-roundText.y = 500; // Center vertically
-game.addChild(roundText);
-// Remove ROUND 1 text after 3 seconds
-LK.setTimeout(function () {
- game.removeChild(roundText);
-}, 3000);
+var gameRound = 1;
+var displayRoundText = function displayRoundText(round) {
+ var roundText = new Text2('ROUND ' + round, {
+ size: 200,
+ fill: "#ffffff",
+ alpha: 1
+ });
+ roundText.anchor.set(0.5, 0.5); // Center the text
+ roundText.x = 2048 / 2; // Center horizontally
+ roundText.y = 500; // Center vertically
+ game.addChild(roundText);
+ // Remove ROUND 1 text after 3 seconds
+ LK.setTimeout(function () {
+ game.removeChild(roundText);
+ }, 3000);
+};
+displayRoundText(gameRound);
var bg = LK.getAsset('background2', {
anchorX: 0.5,
anchorY: 0.5
});
@@ -551,56 +556,8 @@
ballShadow.scale.set(scale);
ballShadow.alpha = (1 - scale + 1) / 2 * ball.alpha;
// Removed code that makes ball go in opposite direction if it intersects with hands
// Check for intersection with defender and make ball disappear for 1 second
- if (ball.intersects(defender) && !ball.hasScored && ball.hasThrown) {
- scoreMultiplier = 1; // Reset multiplier
- // Flash three dust assets
- var dustArray = [];
- for (var i = 0; i < 3; i++) {
- var dust = new ExplosionParticle();
- dust.x = defender.x + (Math.random() - 0.5) * defender.width;
- dust.y = defender.y + (Math.random() - 0.5) * defender.height;
- game.addChild(dust);
- dustArray.push(dust);
- //game.removeChild(dust);
- //LK.setTimeout(function () {
- // game.removeChild(dust);
- //}, 500);
- }
- LK.setTimeout(function () {
- game.removeChild(dustArray);
- }, 500);
- // Display miniball assets while ball is invisible
- // Display 8 miniballs while the main ball is invisible
- /*var miniballPositions = [];
- if (defender.x > 2048 / 2) {
- // Defender is on the right side
- for (var i = 0; i < 5; i++) {
- miniballPositions.push({
- x: 2048 / 2 + 2048 / 10 * i,
- // Spread across the right half of the screen
- y: ball.y - 50
- });
- }
- } else {
- // Defender is on the left side
- for (var i = 0; i < 5; i++) {
- miniballPositions.push({
- x: 2048 / 10 * i,
- // Spread across the left half of the screen
- y: ball.y - 50
- });
- }
- }*/
- // Reset ball
- ball.x = 2048 / 2;
- ball.y = floorY - ball.height - 50;
- ball.speed.x = 0;
- ball.speed.y = 0;
- ball.hasThrown = false;
- ball.visible = true; // Ensure ball is visible after reset
- }
// Check if ball lands on the platform or the floor and hasn't scored yet
if (ball.y + ball.height > floorY && ball.speed.y > 0) {
ball.y = floorY - ball.height;
ball.speed.y *= -0.75;
@@ -674,8 +631,10 @@
gameTime = 100; // Reset timer to 100
timerTxt.setText(gameTime.toString()); // Update timer display
hoop.scoreLabel.setText(score.toString());
hoop.setScore(score);
+ gameRound = gameRound + 1;
+ displayRoundText(gameRound);
} else if (score === 30) {
var bg2 = LK.getAsset('background2', {
anchorX: 0.5,
anchorY: 0.5
@@ -689,5 +648,45 @@
hoop.scoreLabel.setText(score.toString());
hoop.setScore(score);
}
}
+ if (ball.intersects(defender) && !ball.hasScored && ball.hasThrown) {
+ scoreMultiplier = 1; // Reset multiplier
+ var dust = new ExplosionParticle();
+ dust.x = defender.x + (Math.random() - 0.5) * defender.width;
+ dust.y = defender.y + (Math.random() - 0.5) * defender.height;
+ game.addChild(dust);
+ LK.setTimeout(function () {
+ game.removeChild(dust);
+ }, 500);
+ hoop.multiplierLabel.setText('');
+ // Display miniball assets while ball is invisible
+ // Display 8 miniballs while the main ball is invisible
+ /*var miniballPositions = [];
+ if (defender.x > 2048 / 2) {
+ // Defender is on the right side
+ for (var i = 0; i < 5; i++) {
+ miniballPositions.push({
+ x: 2048 / 2 + 2048 / 10 * i,
+ // Spread across the right half of the screen
+ y: ball.y - 50
+ });
+ }
+ } else {
+ // Defender is on the left side
+ for (var i = 0; i < 5; i++) {
+ miniballPositions.push({
+ x: 2048 / 10 * i,
+ // Spread across the left half of the screen
+ y: ball.y - 50
+ });
+ }
+ }*/
+ // Reset ball
+ ball.x = 2048 / 2;
+ ball.y = floorY - ball.height - 50;
+ ball.speed.x = 0;
+ ball.speed.y = 0;
+ ball.hasThrown = false;
+ ball.visible = true; // Ensure ball is visible after reset
+ }
});
\ No newline at end of file
Basketball, cartoon style Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
4:3 Simple rectangle white outline. Black background
Paris. Paris basketball backgroung. Eiffel Tower. Eurosport logo. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
rainbow sparkle. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
two white palms facing forward no background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows. HD Color
POV basketball court in forest. Full screen. Background. High detail
basketball barn background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
basketball dungeon background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
heaven background. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
pow effect. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
left hand. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Wide Single Orange metal bar lying down Single Game Texture. In-Game asset. 2d. Pixelart. White background. Blank background. Low detail. High contrast. —ar 2:1
https://kagi.com/proxy/basketball_backboard.png?c=iNrrnnUOe99nVfDGJsYBLujiaX2Hu-zxBFRkvLEyXdRnJ8cU3RjcAYbR-o12E923qVNGy1CEGrQG87ogCD3yUarJdZYt5R03mmEMb7Jrh-8%3D blank backboard Single Game Texture. In-Game asset. 2d. Pixelart. White background. Blank background. Low detail. High contrast.