User prompt
Also update LK.setScore when updating scores
User prompt
increase point removal flash to 1000
User prompt
make dot and target flash red for 300ms
User prompt
Make dot and target flash red instead of background when subtracting a point
User prompt
make point subtraction flash last 50ms
User prompt
flash screen 0xff8585 for 150 ms when subtracting a point
User prompt
Set score to max of 0
User prompt
set shouldSubtractPoint = false when successfully bouncing dot and target
User prompt
in tick, if ticksToUnlock is less than zero and dot.intersects(target) does not intersect and shouldSubtractPoint is true, subtract one point else set shouldSubtractPoint
User prompt
in tick, if ticksToUnlock is less than zero and dot.intersects(target) does not intersect and shouldSubtractPoint is true, subtract one point
User prompt
in tick only do the intersection test if ticksToUnlock is less than zero. Also subtract one from ticksToUnlock each tick
User prompt
set ticksToUnlock to 20 when successfully bouncing dot and target
User prompt
Add a variable to game called ticksToUnlock
User prompt
in tick set shouldSubtractPoint to true if if dot and target overlaps
User prompt
In game add a variable called shouldSubtractPoint
User prompt
In tick add a variable called shouldSubtractPoint
User prompt
For each tick, test if dot and target intersects
User prompt
subtract one point for each time the dots pass each other without intersecting ยด
User prompt
make game over flash last 500ms
User prompt
flash screen ff8585 when dying
User prompt
when successfully tapping balls flash screen white for 150ms
User prompt
change flash color to 0xd9e7ea
User prompt
when during flash screen 3a404d
User prompt
add a shadow similar to do to target
User prompt
move up dot shadow by 10px, also set dot shadow alpha to .3
/**** * Classes ****/ var Dot = Container.expand(function () { var self = Container.call(this); var dotShadow = self.attachAsset('dotShadow', { anchorX: 0.5, anchorY: 0.5 }); dotShadow.y += 10; dotShadow.alpha = .3; var dotBackground = self.attachAsset('dotBackground', { anchorX: 0.5, anchorY: 0.5 }); var dotGraphics = self.attachAsset('dot', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 0.02; self.circleSize = 600; 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 targetShadow = self.attachAsset('targetShadow', { anchorX: 0.5, anchorY: 0.5 }); targetShadow.y += 10; targetShadow.alpha = .3; var targetBackground = self.attachAsset('targetBackground', { anchorX: 0.5, anchorY: 0.5 }); var targetGraphics = self.attachAsset('target', { anchorX: 0.5, anchorY: 0.5 }); self.speed = -0.01; self.maxSpeed = 0.02; self.circleSize = 600; 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; }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ var centerX = 2048 / 2; var centerY = 2732 / 2; game.setBackgroundColor(0xd9e7ea); var background = game.attachAsset('background', { anchorX: 0.5, anchorY: 0.5 }); background.x = centerX - 55; background.y = centerY + 25; var target = game.addChild(new Target()); target.x = centerX - target.circleSize; target.y = centerY; var dot = game.addChild(new Dot()); dot.x = centerX + dot.circleSize; dot.y = centerY; target.x = centerX - target.circleSize; target.y = centerY; var scoreTxt = new Text2('0', { size: 300, fill: "#3a404d", weight: 800 }); scoreTxt.anchor.set(.5, .5); LK.gui.center.addChild(scoreTxt); var score = 0; var shouldSubtractPoint = false; var ticksToUnlock = 0; LK.on('tick', function () { dot.rotate(centerX, centerY); target.rotate(centerX, centerY); if (ticksToUnlock < 0) { if (!dot.intersects(target) && shouldSubtractPoint) { score = Math.max(0, score - 1); LK.setScore(score); scoreTxt.setText(score.toString()); LK.effects.flashObject(dot, 0xff0000, 1000); LK.effects.flashObject(target, 0xff0000, 1000); } shouldSubtractPoint = dot.intersects(target); } ticksToUnlock--; }); game.on('down', function () { if (dot.intersects(target)) { score++; LK.setScore(score); scoreTxt.setText(score.toString()); dot.speed *= -1; target.maxSpeed += 0.002; target.speed = (Math.random() * target.maxSpeed + 0.01) * (target.speed > 0 ? -1 : 1); ticksToUnlock = 20; shouldSubtractPoint = false; LK.effects.flashScreen(0xffffff, 150); } else { LK.effects.flashScreen(0xff8585, 500); LK.showGameOver(); } });
===================================================================
--- original.js
+++ change.js
@@ -1,11 +1,23 @@
+/****
+* Classes
+****/
var Dot = Container.expand(function () {
var self = Container.call(this);
- var dotShadow = self.createAsset('dotShadow', 'Dot Shadow', .5, .5);
+ var dotShadow = self.attachAsset('dotShadow', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
dotShadow.y += 10;
dotShadow.alpha = .3;
- var dotBackground = self.createAsset('dotBackground', 'Dot Background', .5, .5);
- var dotGraphics = self.createAsset('dot', 'Dot Graphics', .5, .5);
+ var dotBackground = self.attachAsset('dotBackground', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ var dotGraphics = self.attachAsset('dot', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
self.speed = 0.02;
self.circleSize = 600;
self.rotate = function (centerX, centerY) {
var angle = Math.atan2(self.y - centerY, self.x - centerX) + self.speed;
@@ -14,13 +26,22 @@
};
});
var Target = Container.expand(function () {
var self = Container.call(this);
- var targetShadow = self.createAsset('targetShadow', 'Target Shadow', .5, .5);
+ var targetShadow = self.attachAsset('targetShadow', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
targetShadow.y += 10;
targetShadow.alpha = .3;
- var targetBackground = self.createAsset('targetBackground', 'Target Background', .5, .5);
- var targetGraphics = self.createAsset('target', 'Target Graphics', .5, .5);
+ var targetBackground = self.attachAsset('targetBackground', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ var targetGraphics = self.attachAsset('target', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
self.speed = -0.01;
self.maxSpeed = 0.02;
self.circleSize = 600;
self.rotate = function (centerX, centerY) {
@@ -28,60 +49,73 @@
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;
- LK.stageContainer.setBackgroundColor(0xd9e7ea);
- var background = self.createAsset('background', 'Background Graphics', .5, .5);
- background.x = centerX - 55;
- background.y = centerY + 25;
- var target = self.addChild(new Target());
- target.x = centerX - target.circleSize;
- target.y = centerY;
- var dot = self.addChild(new Dot());
- dot.x = centerX + dot.circleSize;
- dot.y = centerY;
- target.x = centerX - target.circleSize;
- target.y = centerY;
- var scoreTxt = new Text2('0', {
- size: 300,
- fill: "#3a404d",
- weight: 800
- });
- scoreTxt.anchor.set(.5, .5);
- LK.gui.center.addChild(scoreTxt);
- var score = 0;
- var shouldSubtractPoint = false;
- var ticksToUnlock = 0;
- LK.on('tick', function () {
- dot.rotate(centerX, centerY);
- target.rotate(centerX, centerY);
- if (ticksToUnlock < 0) {
- if (!dot.intersects(target) && shouldSubtractPoint) {
- score = Math.max(0, score - 1);
- scoreTxt.setText(score.toString());
- LK.effects.flashObject(dot, 0xff0000, 1000);
- LK.effects.flashObject(target, 0xff0000, 1000);
- }
- shouldSubtractPoint = dot.intersects(target);
- }
- ticksToUnlock--;
- });
- stage.on('down', function () {
- if (dot.intersects(target)) {
- score++;
+
+/****
+* Initialize Game
+****/
+var game = new LK.Game({
+ backgroundColor: 0x000000
+});
+
+/****
+* Game Code
+****/
+var centerX = 2048 / 2;
+var centerY = 2732 / 2;
+game.setBackgroundColor(0xd9e7ea);
+var background = game.attachAsset('background', {
+ anchorX: 0.5,
+ anchorY: 0.5
+});
+background.x = centerX - 55;
+background.y = centerY + 25;
+var target = game.addChild(new Target());
+target.x = centerX - target.circleSize;
+target.y = centerY;
+var dot = game.addChild(new Dot());
+dot.x = centerX + dot.circleSize;
+dot.y = centerY;
+target.x = centerX - target.circleSize;
+target.y = centerY;
+var scoreTxt = new Text2('0', {
+ size: 300,
+ fill: "#3a404d",
+ weight: 800
+});
+scoreTxt.anchor.set(.5, .5);
+LK.gui.center.addChild(scoreTxt);
+var score = 0;
+var shouldSubtractPoint = false;
+var ticksToUnlock = 0;
+LK.on('tick', function () {
+ dot.rotate(centerX, centerY);
+ target.rotate(centerX, centerY);
+ if (ticksToUnlock < 0) {
+ if (!dot.intersects(target) && shouldSubtractPoint) {
+ score = Math.max(0, score - 1);
+ LK.setScore(score);
scoreTxt.setText(score.toString());
- dot.speed *= -1;
- target.maxSpeed += 0.002;
- target.speed = (Math.random() * target.maxSpeed + 0.01) * (target.speed > 0 ? -1 : 1);
- ticksToUnlock = 20;
- shouldSubtractPoint = false;
- LK.effects.flashScreen(0xffffff, 150);
- } else {
- LK.effects.flashScreen(0xff8585, 500);
- LK.showGameOver();
+ LK.effects.flashObject(dot, 0xff0000, 1000);
+ LK.effects.flashObject(target, 0xff0000, 1000);
}
- });
+ shouldSubtractPoint = dot.intersects(target);
+ }
+ ticksToUnlock--;
});
+game.on('down', function () {
+ if (dot.intersects(target)) {
+ score++;
+ LK.setScore(score);
+ scoreTxt.setText(score.toString());
+ dot.speed *= -1;
+ target.maxSpeed += 0.002;
+ target.speed = (Math.random() * target.maxSpeed + 0.01) * (target.speed > 0 ? -1 : 1);
+ ticksToUnlock = 20;
+ shouldSubtractPoint = false;
+ LK.effects.flashScreen(0xffffff, 150);
+ } else {
+ LK.effects.flashScreen(0xff8585, 500);
+ LK.showGameOver();
+ }
+});
\ No newline at end of file