Code edit (1 edits merged)
Please save this source code
User prompt
move down background element by 100px
User prompt
set background color to 768792, but keep the background element.
User prompt
set game background color to 768792
User prompt
Add a background element to the game at the center
User prompt
On each successful tap, increase max speed by 0.002
User prompt
On each successful tap, increase max speed by 0.02
User prompt
Set self.maxSpeed in target to 0.02 when the game starts
User prompt
set dot speed to 0.02
User prompt
When tapping successfully set target speed to a random speed between zero and max speed. In the reverse direction of the targets current direction.
User prompt
On target have a variable called max speed
User prompt
When successfully tapping the screen where dot and target overlaps, reverse the speed of both dot and target
User prompt
remove the isGameOver variable in game
User prompt
If I tap the screen while the dot does not intersect call gameover
User prompt
move down handler to stage
User prompt
add a lk down handler that rewards one point if dot and target overlaps when I tap
User prompt
Add a new tick handler in game, which simply calls rotate on dot and target instances
User prompt
remove the tick handler in game
User prompt
On call rotate methods in tick
User prompt
If I tap anywhere on the screen while dot and target is overlapping I should be rewarded a point
User prompt
Remove the dot down handler
User prompt
Attach dot in game after you attach target
User prompt
Reverse the initial speed of target
User prompt
In tick also call target rotate
User prompt
Fix Bug: 'ReferenceError: Can't find variable: Dot' in this line: 'var dot = self.addChild(new Dot());' Line Number: 16
var Dot = Container.expand(function () { var self = Container.call(this); var dotGraphics = self.createAsset('dot', 'Dot Graphics', .5, .5); self.speed = 0.01; self.circleSize = 700; self.rotate = function (centerX, centerY) { var angle = Math.atan2(self.y - centerY, self.x - centerX) + self.speed; self.x = centerX + Math.cos(angle) * self.circleSize; self.y = centerY + Math.sin(angle) * self.circleSize; }; }); var Target = Container.expand(function () { var self = Container.call(this); var targetGraphics = self.createAsset('target', 'Target Graphics', .5, .5); self.speed = -0.01; self.circleSize = 700; self.rotate = function (centerX, centerY) { var angle = Math.atan2(self.y - centerY, self.x - centerX) + self.speed; self.x = centerX + Math.cos(angle) * self.circleSize; self.y = centerY + Math.sin(angle) * self.circleSize; }; }); var Game = Container.expand(function () { var self = Container.call(this); var centerX = 2048 / 2; var centerY = 2732 / 2; var dot = self.addChild(new Dot()); dot.x = centerX + dot.circleSize; dot.y = centerY; var target = self.addChild(new Target()); target.x = centerX - target.circleSize; target.y = centerY; var scoreTxt = new Text2('0', { size: 150, fill: "#ffffff" }); scoreTxt.anchor.set(.5, 0); LK.gui.topCenter.addChild(scoreTxt); var score = 0; var isGameOver = false; dot.on('down', function (obj) { if (Math.abs(dot.x - centerX) < 50) { score++; scoreTxt.setText(score); } else { isGameOver = true; } }); LK.on('tick', function () { if (isGameOver) { LK.effects.flashScreen(0xff0000, 1000); LK.showGameOver(); } else { dot.rotate(centerX, centerY); target.rotate(centerX, centerY); } }); });
===================================================================
--- original.js
+++ change.js
@@ -11,9 +11,9 @@
});
var Target = Container.expand(function () {
var self = Container.call(this);
var targetGraphics = self.createAsset('target', 'Target Graphics', .5, .5);
- self.speed = 0.01;
+ self.speed = -0.01;
self.circleSize = 700;
self.rotate = function (centerX, centerY) {
var angle = Math.atan2(self.y - centerY, self.x - centerX) + self.speed;
self.x = centerX + Math.cos(angle) * self.circleSize;