User prompt
enemies should move 50 pixels up and 50 pixels down in a lapsus of 5 seconds
User prompt
make enemy move up and down slowly
Code edit (2 edits merged)
Please save this source code
User prompt
all enemies should move in the same way up and down
User prompt
decrease enemy speed 80%
User prompt
enemies shoould move up and down 100 pixels in the lapse of 5 second
Code edit (5 edits merged)
Please save this source code
User prompt
make enemy movement half speed
User prompt
enemies should oscilate up and down like persons walking
User prompt
up and down movement from enemy should be very slow
User prompt
add up and down movement for the enemies
Code edit (1 edits merged)
Please save this source code
User prompt
center wing 20 pixels higher than now with hero
User prompt
move wing 10 pixels higher
User prompt
make the game more difficult with time
User prompt
make game more dificult
User prompt
do not destroy obstacles when the herobullet hits it. yes destroy de enemies
User prompt
add score only when herobullet collides with enemy
User prompt
add movement to obstacles
User prompt
when herobullet and obstacle collide, only destroy hero bullet
User prompt
herobullet should not destroy obstacles
User prompt
destroy bullet when it collides with enemy
User prompt
when herobullet collides with obstacle, bullet will be destroyed
User prompt
move wing up and down 10 pixels all the time
User prompt
add an asset for wing for hero
var Obstacle = Container.expand(function () { var self = Container.call(this); var obstacleGraphics = self.createAsset('obstacle', 'Obstacle', .5, .5); self.baseSpeed = -5; self.speedIncrease = 0; self.move = function () { self.x += self.baseSpeed - self.speedIncrease; }; }); var HeroBullet = Container.expand(function () { var self = Container.call(this); var bulletGraphics = self.createAsset('bullet', 'Hero Bullet', .5, .5); self.speed = 5; self.move = function () { self.y += self.speed; }; }); var Hero = Container.expand(function () { var self = Container.call(this); var heroGraphics = self.createAsset('hero', 'Hero character', .5, .5); var wingGraphics = self.createAsset('wing', 'Hero Wing', .7, .8); wingGraphics.direction = 1; self.speed = 0; self.bullets = []; self.gravity = 0.3; self.jump = function () { self.speed = -10; }; self.update = function () { self.speed += self.gravity; self.y += self.speed; self.rotation = self.speed * 0.05; wingGraphics.y += wingGraphics.direction * 2 || -2; if (wingGraphics.y > 10 || wingGraphics.y < -10) { wingGraphics.direction = -wingGraphics.direction; } for (var i = self.bullets.length - 1; i >= 0; i--) { self.bullets[i].move(); if (self.bullets[i].y > 2732) { self.bullets[i].destroy(); self.bullets.splice(i, 1); } } }; }); var Enemy = Container.expand(function () { var self = Container.call(this); var enemyGraphics = self.createAsset('enemy', 'Enemy', .5, .5); self.speedX = -0.6; self.speedY = 0; self.verticalMovementRange = 50; self.verticalSpeed = self.verticalMovementRange / (5 * 60); self.verticalDirection = 1; self.initialY = 0; self.move = function () { self.x += self.speedX; if (self.initialY === 0) self.initialY = self.y; self.y += self.verticalSpeed * self.verticalDirection; if (Math.abs(self.y - self.initialY) >= self.verticalMovementRange) { self.verticalDirection *= -1; } }; }); var Game = Container.expand(function () { var self = Container.call(this); LK.stageContainer.setBackgroundColor(0x87CEEB); var hero = self.addChild(new Hero()); hero.x = 2048 / 2 - 200; hero.y = 2732 / 2; var obstacles = []; var score = 0; var scoreTxt = new Text2('0', { size: 150, fill: "#ffffff" }); LK.gui.topCenter.addChild(scoreTxt); scoreTxt.anchor.set(.5, 0); var isGameOver = false; var tickOffset = 0; var speedIncreaseFactor = 0; LK.on('tick', function () { hero.update(); if (hero.y > 2732 || hero.y < 0) { isGameOver = true; } for (var i = obstacles.length - 1; i >= 0; i--) { obstacles[i].move(); if (obstacles[i].x < -50) { obstacles[i].destroy(); obstacles.splice(i, 1); scoreTxt.setText(score); } if (hero.intersects(obstacles[i])) { isGameOver = true; } else { for (var j = hero.bullets.length - 1; j >= 0; j--) { if (hero.bullets[j].intersects(obstacles[i])) { hero.bullets[j].destroy(); hero.bullets.splice(j, 1); if (obstacles[i] instanceof Enemy) { score++; scoreTxt.setText(score); obstacles[i].destroy(); obstacles.splice(i, 1); } } } } } if (tickOffset++ % 90 == 0) { var newObstacle = new Obstacle(); newObstacle.x = 2048; newObstacle.y = Math.random() * 2732; newObstacle.speedIncrease = speedIncreaseFactor; obstacles.push(newObstacle); self.addChild(newObstacle); } if (tickOffset % 600 == 0) { speedIncreaseFactor += 0.5; } if (tickOffset % 240 == 0) { var enemy = new Enemy(); enemy.x = 2048; enemy.y = 2732 - enemy.height / 2; self.addChild(enemy); obstacles.push(enemy); } if (isGameOver) { LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } }); stage.on('down', function (obj) { hero.jump(); var bullet = new HeroBullet(); bullet.x = hero.x; bullet.y = hero.y; self.addChild(bullet); hero.bullets.push(bullet); }); });
===================================================================
--- original.js
+++ change.js
@@ -46,14 +46,19 @@
var Enemy = Container.expand(function () {
var self = Container.call(this);
var enemyGraphics = self.createAsset('enemy', 'Enemy', .5, .5);
self.speedX = -0.6;
- self.speedY = 0.6;
+ self.speedY = 0;
+ self.verticalMovementRange = 50;
+ self.verticalSpeed = self.verticalMovementRange / (5 * 60);
+ self.verticalDirection = 1;
+ self.initialY = 0;
self.move = function () {
self.x += self.speedX;
- self.y += self.speedY;
- if (self.y < 100 || self.y > 2632) {
- self.speedY *= -1;
+ if (self.initialY === 0) self.initialY = self.y;
+ self.y += self.verticalSpeed * self.verticalDirection;
+ if (Math.abs(self.y - self.initialY) >= self.verticalMovementRange) {
+ self.verticalDirection *= -1;
}
};
});
var Game = Container.expand(function () {