/**** * Classes ****/ // Assets will be automatically created based on usage in the code. // Ball class var Ball = Container.expand(function () { var self = Container.call(this); var ballGraphics = self.attachAsset('ball', { anchorX: 0.5, anchorY: 0.5 }); self.speedX = 0; self.speedY = 0; self.isMoving = false; self.launch = function (speedX, speedY) { self.speedX = speedX; self.speedY = speedY; self.isMoving = true; }; self.update = function () { if (self.isMoving) { self.x += self.speedX; self.y += self.speedY; self.speedY += 0.98; // Gravity effect } }; self.reset = function () { self.x = 1024; // Center horizontally self.y = 2500; // Start position near bottom self.speedX = 0; self.speedY = 0; self.isMoving = false; }; }); // Basket class var Basket = Container.expand(function () { var self = Container.call(this); var basketGraphics = self.attachAsset('basket', { anchorX: 0.5, anchorY: 0.5 }); }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87CEEB // Light blue background }); /**** * Game Code ****/ var ball = game.addChild(new Ball()); ball.reset(); var baskets = []; // Create baskets at different heights for (var i = 0; i < 5; i++) { var basket = game.addChild(new Basket()); basket.x = 1024; // Center horizontally basket.y = 500 * (i + 1); // Space them out vertically baskets.push(basket); } var lastTouchPosition = { x: 0, y: 0 }; game.on('down', function (obj) { var pos = obj.event.getLocalPosition(game); lastTouchPosition.x = pos.x; lastTouchPosition.y = pos.y; }); game.on('up', function (obj) { if (!ball.isMoving) { var pos = obj.event.getLocalPosition(game); var speedX = (pos.x - lastTouchPosition.x) / 10; var speedY = (pos.y - lastTouchPosition.y) / 10; ball.launch(speedX, speedY); } }); LK.on('tick', function () { ball.update(); // Check for collisions with baskets baskets.forEach(function (basket) { if (ball.intersects(basket)) { LK.effects.flashScreen(0x00FF00, 500); // Flash green for success ball.reset(); } }); // Reset ball if it goes off screen if (ball.y > 2732) { ball.reset(); } });
/****
* Classes
****/
// Assets will be automatically created based on usage in the code.
// Ball class
var Ball = Container.expand(function () {
var self = Container.call(this);
var ballGraphics = self.attachAsset('ball', {
anchorX: 0.5,
anchorY: 0.5
});
self.speedX = 0;
self.speedY = 0;
self.isMoving = false;
self.launch = function (speedX, speedY) {
self.speedX = speedX;
self.speedY = speedY;
self.isMoving = true;
};
self.update = function () {
if (self.isMoving) {
self.x += self.speedX;
self.y += self.speedY;
self.speedY += 0.98; // Gravity effect
}
};
self.reset = function () {
self.x = 1024; // Center horizontally
self.y = 2500; // Start position near bottom
self.speedX = 0;
self.speedY = 0;
self.isMoving = false;
};
});
// Basket class
var Basket = Container.expand(function () {
var self = Container.call(this);
var basketGraphics = self.attachAsset('basket', {
anchorX: 0.5,
anchorY: 0.5
});
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x87CEEB // Light blue background
});
/****
* Game Code
****/
var ball = game.addChild(new Ball());
ball.reset();
var baskets = [];
// Create baskets at different heights
for (var i = 0; i < 5; i++) {
var basket = game.addChild(new Basket());
basket.x = 1024; // Center horizontally
basket.y = 500 * (i + 1); // Space them out vertically
baskets.push(basket);
}
var lastTouchPosition = {
x: 0,
y: 0
};
game.on('down', function (obj) {
var pos = obj.event.getLocalPosition(game);
lastTouchPosition.x = pos.x;
lastTouchPosition.y = pos.y;
});
game.on('up', function (obj) {
if (!ball.isMoving) {
var pos = obj.event.getLocalPosition(game);
var speedX = (pos.x - lastTouchPosition.x) / 10;
var speedY = (pos.y - lastTouchPosition.y) / 10;
ball.launch(speedX, speedY);
}
});
LK.on('tick', function () {
ball.update();
// Check for collisions with baskets
baskets.forEach(function (basket) {
if (ball.intersects(basket)) {
LK.effects.flashScreen(0x00FF00, 500); // Flash green for success
ball.reset();
}
});
// Reset ball if it goes off screen
if (ball.y > 2732) {
ball.reset();
}
});
Basket. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Стена белая синия. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
граффити слово Swipe. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Граффити с текстом "after three bounces of the ball, a goal is scored". Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.