User prompt
instead of despawning the ufo after 15 seconds, start moving to the right after 15 seconds. despawn it once it has touched the right side of the screen.
User prompt
stop the ufo moving after it has reached x=1300
User prompt
make the ufo spawn after 20 seconds
User prompt
make the ufo move in from the right of the screen
User prompt
despawn the ufo after it has been spawned in for 15 seconds.
User prompt
delete the ufo after it has been spawned in for 15 seconds.
Code edit (1 edits merged)
Please save this source code
User prompt
after 15 sec despawn the ufo
User prompt
make the ufo despawn after 15 seconds
User prompt
spawn the ufo every 70 seconds, at y 200 and x=1300
User prompt
Fix Bug: 'ReferenceError: PowerUp is not defined' in this line: 'var newPowerUp = self.addChild(new PowerUp());' Line Number: 238
User prompt
spawn the ufo every minute, at y 200 and x=1300
User prompt
Fix Bug: 'Uncaught ReferenceError: Cloud is not defined' in this line: 'var cloud = self.addChild(new Cloud());' Line Number: 185
User prompt
make an ufo asset and a ufo beam asset
User prompt
destroy the thanks asset when it touches the left of the screen
User prompt
account for its width when destroying it at the end of the screen
User prompt
destroy the thanks asset when it reaches the end of the screen
User prompt
despawn the thanks messages when they get off screen
User prompt
show the thanks asset on top of chimneys when a present touched them. move the asset with the chimney. despawn it after the chimney despawns.
User prompt
create an thanks asset
User prompt
ensure that the `LK.setTimeout` function has a delay specified that allows the "Thanks" asset to be visible for a desired amount of time before being destroyed. For example, set a delay of 2000 milliseconds (2 seconds) to allow the "Thanks" asset to be visible for that duration before calling `self.destroy()`.
User prompt
display it above the chimneys (account for the height). move it with the chimney
User prompt
display the thanks asset above chimneys that have been filled with presents
User prompt
add an thanks asset
User prompt
alternate the spawning of the chimneys: 1-2-1-3-2-1-2-3 and then over again
var Chimney2 = Container.expand(function () {
var self = Container.call(this);
var chimney2Graphics = self.createAsset('chimney2', 'Chimney2 Graphics', .5, .5);
self.touchedByGift = false;
});
var PowerUp = Container.expand(function () {
var self = Container.call(this);
var powerUpGraphics = self.createAsset('powerUp', 'PowerUp Graphics', .5, .5);
self.speed = 2;
self.move = function () {
self.y -= self.speed;
if (self.y < 0) {
self.destroy();
}
};
});
var Snow3 = Container.expand(function () {
var self = Container.call(this);
var snowGraphics = self.createAsset('snow3', 'Snow3 Graphics', .5, .5);
self.speed = Math.random() * 5;
self.move = function () {
self.y += self.speed;
self.rotation += 0.01;
if (self.y > 2732) {
self.y = 0;
self.speed += 0.01;
if (self.speed > 5) self.speed = 5;
}
};
});
var Snow2 = Container.expand(function () {
var self = Container.call(this);
var snowGraphics = self.createAsset('snow2', 'Snow2 Graphics', .5, .5);
self.speed = Math.random() * 5;
self.move = function () {
self.y += self.speed;
self.rotation += 0.01;
if (self.y > 2732) {
self.y = 0;
self.speed += 0.01;
if (self.speed > 5) self.speed = 5;
}
};
});
var Chimney3 = Container.expand(function () {
var self = Container.call(this);
var chimney3Graphics = self.createAsset('chimney3', 'Chimney3 Graphics', .5, .5);
self.touchedByGift = false;
});
var Grinch = Container.expand(function () {
var self = Container.call(this);
var grinchGraphics = self.createAsset('grinch', 'Grinch Graphics', .5, .5);
self.speed = 12;
self.direction = 1;
self.lifespan = 600;
self.move = function () {
if (self.x + self.width / 2 >= 2048 || self.x - self.width / 2 <= 0) {
self.direction *= -1;
}
self.x += self.speed * self.direction;
if (--self.lifespan <= 0) {
if (self.x < 2048 / 2) {
self.x -= self.speed;
} else {
self.x += self.speed;
}
if (self.x + self.width / 2 < 0 || self.x - self.width / 2 > 2048) {
self.destroy();
}
}
};
});
var SantaSleigh = Container.expand(function () {
var self = Container.call(this);
self.updatePosition = function (mouseX) {
self.targetX = mouseX;
};
self.move = function () {
var delayFactor = 0.1;
var maxSpeed = 10;
var moveAmount = (self.targetX - self.x) * delayFactor;
moveAmount = Math.max(Math.min(moveAmount, maxSpeed), -maxSpeed);
self.x += moveAmount;
};
var santaSleighGraphics = self.createAsset('santaSleigh', 'Santa in sleigh', .5, .5);
self.targetX = self.x;
});
var Cloud = Container.expand(function () {
var self = Container.call(this);
var cloudGraphics = self.createAsset('cloud', 'Cloud Graphics', .5, .5);
self.speed = 2;
self.move = function () {};
});
var Gift = Container.expand(function () {
var self = Container.call(this);
var giftGraphics = self.createAsset('gift', 'Gift Graphics', .5, .5);
self.speed = 0;
self.gravity = 0.2;
self.move = function () {
self.speed += self.gravity;
self.y += self.speed;
if (!self.initialFlingDone) {
self.x += 150 / 60;
self.rotation += 0.1;
self.flingTicks = (self.flingTicks || 0) + 1;
if (self.flingTicks >= 400) {
self.initialFlingDone = true;
}
}
};
});
var Chimney = Container.expand(function () {
var self = Container.call(this);
var chimneyGraphics = self.createAsset('chimney', 'Chimney Graphics', .5, .5);
self.touchedByGift = false;
});
var Game = Container.expand(function () {
var self = Container.call(this);
var chimneyType = 0;
function spawnChimney() {
var chimneyClasses = [Chimney, Chimney2, Chimney, Chimney3, Chimney2, Chimney, Chimney2, Chimney3];
var newChimney = new chimneyClasses[chimneyType % chimneyClasses.length]();
newChimney.x = 2048;
newChimney.y = 2500 + Math.floor(Math.random() * 301) - 100;
chimneys.push(newChimney);
self.addChild(newChimney);
chimneyType++;
}
stage.on('move', function (obj) {
var event = obj.event;
var pos = event.getLocalPosition(self);
santaSleigh.updatePosition(pos.x);
});
stage.on('down', function (obj) {
if (throwPowerUpActive && LK.ticks - lastThrowTick >= 30 || !throwPowerUpActive && LK.ticks - lastThrowTick >= 120) {
if (throwPowerUpActive && LK.ticks - powerUpTimer >= 300) {
throwPowerUpActive = false;
lastThrowTick = LK.ticks;
}
var event = obj.event;
var pos = event.getLocalPosition(self);
var newGift = self.addChild(new Gift());
newGift.x = santaSleigh.x;
newGift.y = santaSleigh.y;
gifts.push(newGift);
lastThrowTick = LK.ticks;
}
});
LK.stageContainer.setBackgroundColor(0x000000);
var scoreTxt = new Text2('0', {
size: 150,
fill: "#ffffff"
});
var santaSleigh = self.addChild(new SantaSleigh());
santaSleigh.x = 2048 / 2;
santaSleigh.y = 2732 / 4;
var snow = [];
for (var i = 0; i < 10; i++) {
var newSnow3 = self.addChild(new Snow3());
newSnow3.x = Math.random() * 2048;
newSnow3.y = Math.random() * 2732;
snow.push(newSnow3);
self.setChildIndex(newSnow3, self.children.length - 1);
var newSnow2 = self.addChild(new Snow2());
newSnow2.x = Math.random() * 2048;
newSnow2.y = Math.random() * 2732;
snow.push(newSnow2);
self.setChildIndex(newSnow2, self.children.length - 1);
var newSnow3 = self.addChild(new Snow3());
newSnow3.x = Math.random() * 2048;
newSnow3.y = Math.random() * 2732;
snow.push(newSnow3);
self.setChildIndex(newSnow3, self.children.length - 1);
}
var cloud = self.addChild(new Cloud());
cloud.x = 2048 / 2;
cloud.y = 2732 / 2;
self.setChildIndex(cloud, 0);
self.setChildIndex(santaSleigh, 1);
scoreTxt.anchor.set(.5, 0);
LK.gui.topCenter.addChild(scoreTxt);
var gifts = [];
var chimneys = [];
var score = 0;
var isGameOver = false;
var tickOffset = 0;
var giftThrowSpeed = -5;
var chimneySpeed = 2;
spawnChimney();
LK.on('tick', function () {
santaSleigh.move();
cloud.move();
for (var i = 0; i < snow.length; i++) {
snow[i].move();
}
for (var i = chimneys.length - 1; i >= 0; i--) {
var chimney = chimneys[i];
if (chimney.x < 0) {
chimney.destroy();
chimneys.splice(i, 1);
}
}
if (isGameOver) {
LK.clearInterval(chimneySpawnInterval);
}
if (LK.ticks - lastGrinchSpawnTick >= 1800) {
var newGrinch = self.addChild(new Grinch());
newGrinch.x = 2048 / 2;
newGrinch.y = 2732 / 2;
grinches.push(newGrinch);
lastGrinchSpawnTick = LK.ticks;
}
if (LK.ticks - lastPowerUpSpawnTick >= 2400) {
var newPowerUp = self.addChild(new PowerUp());
newPowerUp.x = Math.random() * 2048;
newPowerUp.y = 1800;
powerUps.push(newPowerUp);
lastPowerUpSpawnTick = LK.ticks;
self.setChildIndex(newPowerUp, self.children.length - 1);
}
for (var i = 0; i < grinches.length; i++) {
var grinch = grinches[i];
grinch.move();
for (var j = gifts.length - 1; j >= 0; j--) {
var gift = gifts[j];
if (gift.intersects(grinch)) {
gift.destroy();
gifts.splice(j, 1);
}
}
}
});
var lastThrowTick = -120;
var lastGrinchSpawnTick = 0;
var lastPowerUpSpawnTick = 0;
var grinches = [];
var powerUps = [];
var throwPowerUpActive = false;
var powerUpTimer = 0;
LK.on('tick', function () {
for (var i = gifts.length - 1; i >= 0; i--) {
var gift = gifts[i];
gift.move();
if (gift.y < 0) {
gift.destroy();
gifts.splice(i, 1);
}
}
for (var i = chimneys.length - 1; i >= 0; i--) {
var chimney = chimneys[i];
chimney.x -= chimneySpeed;
if (chimney.x < 0) {
if (!chimney.touchedByGift) {
score -= 2;
scoreTxt.setText(score);
if (score < 0) {
isGameOver = true;
if (score < 0) {
scoreTxt.setText('You disappointed too many kids');
scoreTxt.scale.set(0.6);
}
}
LK.effects.flashScreen(0xff0000, 1000);
spawnChimney();
}
chimneys.splice(i, 1);
chimney.destroy();
}
}
for (var i = gifts.length - 1; i >= 0; i--) {
var gift = gifts[i];
for (var j = chimneys.length - 1; j >= 0; j--) {
var chimney = chimneys[j];
if (gift.intersects(chimney) && !chimney.touchedByGift) {
score++;
scoreTxt.setText(score);
chimney.touchedByGift = true;
LK.effects.flashScreen(0x00ff00, 500);
gift.destroy();
gifts.splice(i, 1);
chimneySpeed += 0.2;
spawnChimney();
break;
}
}
for (var k = powerUps.length - 1; k >= 0; k--) {
var powerUp = powerUps[k];
if (gift.intersects(powerUp)) {
LK.effects.flashScreen(0x0000ff, 500);
powerUp.destroy();
powerUps.splice(k, 1);
lastThrowTick = LK.ticks - 60;
throwPowerUpActive = true;
powerUpTimer = LK.ticks;
break;
}
}
}
if (isGameOver) {
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
}
});
});
chimney. pixelart. residential chimney. only chimney. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
gift. pixelart. christmas. green and red. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
night sky. pixelart. seamless. clouds. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
pixelart. christmas. santa in sleigh. from the side. flying. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
grinch. green monster. pixelart. only face. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
pixelart. chistmas present. powerup. game art Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.