User prompt
Fix Bug: 'ReferenceError: speedMultiplier is not defined' in this line: 'particleSplash.speedMultiplier = speedMultiplier;' Line Number: 113
User prompt
Fix Bug: 'ReferenceError: speedMultiplier is not defined' in this line: 'particleSplash.speedMultiplier = speedMultiplier;' Line Number: 112
User prompt
speed of particlesplash should depend on throw speed
User prompt
spawn an array of 10 particlespashes instead of 1
User prompt
Increse the number of particles for faster throws
User prompt
move the particles in random directions from the center
User prompt
show a particle splash effect when a snowball hits its target
User prompt
revert last change
User prompt
when a snowball hit a kid the kid should explode into particles
User prompt
place the progressbar to the right bottom
User prompt
add a progressbar to visualise touchtime
User prompt
allow a maximum of 5 snowballs at a time
Code edit (1 edits merged)
Please save this source code
User prompt
add a variable to control throw speed with a start value of one. The variable should be multipled with speedMultiplier
User prompt
increase throw speed by 5
User prompt
showballs should be thrown faster if time between down event and up event i longer
User prompt
snowballs should be triggered on up event
User prompt
The game is over when a zombie kid reaches the bottom of the screen
User prompt
When a zombiekid is hit, score is increased by one
User prompt
Add a score counter in the top
User prompt
When a snowball hits a zombie kid the user should be a point
User prompt
Throw direction left/right should be reversed
User prompt
The snowballs throw direction should be up, no down
User prompt
When the user taps the screen, throw a snowball that way
User prompt
Make the enemies (zombie kids) approach from the top and move towards santa
var Snowball = Container.expand(function () { var self = Container.call(this); var snowballGraphics = self.createAsset('snowball', 'Snowball Graphics', .5, .5); self.speed = -5; self.targetX = 0; self.targetY = 0; self.speedX = 0; self.speedY = 0; self.move = function () { self.x += self.speedX; self.y += self.speedY; }; }); var ZombieKid = Container.expand(function () { var self = Container.call(this); var zombieKidGraphics = self.createAsset('zombieKid', 'Zombie Kid Graphics', .5, .5); self.speed = 1; self.move = function () { self.y += self.speed; }; }); var Santa = Container.expand(function () { var self = Container.call(this); var santaGraphics = self.createAsset('santa', 'Santa Graphics', .5, .5); }); var Game = Container.expand(function () { var self = Container.call(this); LK.stageContainer.setBackgroundColor(0x008080); var santa = self.addChild(new Santa()); santa.x = 2048 / 2; santa.y = 2732 - santa.height; var scoreTxt = new Text2('0', { size: 150, fill: "#ffffff" }); scoreTxt.anchor.set(.5, 0); LK.gui.topCenter.addChild(scoreTxt); self.updateScoreDisplay = function () { scoreTxt.setText(LK.getScore().toString()); }; self.updateScoreDisplay(); var snowballs = []; var zombieKids = []; var touchStartTime = 0; stage.on('down', function (obj) { touchStartTime = LK.ticks; }); stage.on('up', function (obj) { var event = obj.event; var pos = event.getLocalPosition(self); if (snowballs.length < 5) { var newSnowball = new Snowball(); newSnowball.x = santa.x; newSnowball.y = santa.y; newSnowball.targetX = pos.x; newSnowball.targetY = pos.y; var dx = newSnowball.targetX - newSnowball.x; var dy = newSnowball.targetY - newSnowball.y; var distance = Math.sqrt(dx * dx + dy * dy); var throwSpeed = 5; var touchDuration = LK.ticks - touchStartTime; var speedMultiplier = Math.min(touchDuration / 30, 10) * throwSpeed; newSnowball.speedX = -dx / distance * newSnowball.speed * speedMultiplier; newSnowball.speedY = -Math.abs(dy / distance * newSnowball.speed) * speedMultiplier; snowballs.push(newSnowball); self.addChild(newSnowball); } }); LK.on('tick', function () { for (var a = snowballs.length - 1; a >= 0; a--) { if (snowballs[a]) { snowballs[a].move(); for (var b = zombieKids.length - 1; b >= 0; b--) { if (zombieKids[b] && snowballs[a].intersects(zombieKids[b])) { LK.setScore(LK.getScore() + 1); self.updateScoreDisplay(); zombieKids[b].destroy(); zombieKids.splice(b, 1); snowballs[a].destroy(); snowballs.splice(a, 1); break; } } if (snowballs[a] && snowballs[a].y < -50) { snowballs[a].destroy(); snowballs.splice(a, 1); } } } for (var b = zombieKids.length - 1; b >= 0; b--) { if (zombieKids[b]) { zombieKids[b].move(); } if (zombieKids[b].y > 2732) { LK.showGameOver(); } } if (LK.ticks % 60 == 0) { var newZombieKid = new ZombieKid(); newZombieKid.x = Math.random() * (2048 - newZombieKid.width); newZombieKid.y = -newZombieKid.height; zombieKids.push(newZombieKid); self.addChild(newZombieKid); } }); });
===================================================================
--- original.js
+++ change.js
@@ -47,23 +47,25 @@
});
stage.on('up', function (obj) {
var event = obj.event;
var pos = event.getLocalPosition(self);
- var newSnowball = new Snowball();
- newSnowball.x = santa.x;
- newSnowball.y = santa.y;
- newSnowball.targetX = pos.x;
- newSnowball.targetY = pos.y;
- var dx = newSnowball.targetX - newSnowball.x;
- var dy = newSnowball.targetY - newSnowball.y;
- var distance = Math.sqrt(dx * dx + dy * dy);
- var throwSpeed = 5;
- var touchDuration = LK.ticks - touchStartTime;
- var speedMultiplier = Math.min(touchDuration / 30, 10) * throwSpeed;
- newSnowball.speedX = -dx / distance * newSnowball.speed * speedMultiplier;
- newSnowball.speedY = -Math.abs(dy / distance * newSnowball.speed) * speedMultiplier;
- snowballs.push(newSnowball);
- self.addChild(newSnowball);
+ if (snowballs.length < 5) {
+ var newSnowball = new Snowball();
+ newSnowball.x = santa.x;
+ newSnowball.y = santa.y;
+ newSnowball.targetX = pos.x;
+ newSnowball.targetY = pos.y;
+ var dx = newSnowball.targetX - newSnowball.x;
+ var dy = newSnowball.targetY - newSnowball.y;
+ var distance = Math.sqrt(dx * dx + dy * dy);
+ var throwSpeed = 5;
+ var touchDuration = LK.ticks - touchStartTime;
+ var speedMultiplier = Math.min(touchDuration / 30, 10) * throwSpeed;
+ newSnowball.speedX = -dx / distance * newSnowball.speed * speedMultiplier;
+ newSnowball.speedY = -Math.abs(dy / distance * newSnowball.speed) * speedMultiplier;
+ snowballs.push(newSnowball);
+ self.addChild(newSnowball);
+ }
});
LK.on('tick', function () {
for (var a = snowballs.length - 1; a >= 0; a--) {
if (snowballs[a]) {
a christmas gift Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
red crosshair Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
snowball of soft snow Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Christmas gift with glowing green wrapping paper Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a christmas gift in beautiful glowing wrapping paper Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Christmas gift beautifully wrapped in green glowing wrapping paper Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Snowy flat surface viewed from above at nighttime Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
an empty painting with a winter styled frame Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a kid thief in wearing a black hoodie. Also looking like a zombie Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A button with the text "play". Winter theme Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A winter themed button, with no text Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A buy upgrade button, winter theme, no text Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a wide white sheet of paper Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a snowball Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a snowball
A game over screen for the game "Snowball Santa". Santa is very sad because all the presents has been stolen from ninja kids. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A wooden sign with text "UPGRADES" in a winter theme. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A ninja kid thief, full body, with a dark purple hoodie. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A ninja kid thief, full body, with a dark colored hoodie. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A ninja kid thief, full body, with a dark colored hoodie. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a precious colorful glowing gem with snow and ice on it. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a logo for the game "Snowball santa" with the text "Snowball Santa". Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A beautiful winter snowy christmas landscape with ninja thieves kids lurking. Christmas gifts are hidden in the snow. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.