===================================================================
--- original.js
+++ change.js
@@ -1,7 +1,13 @@
+/****
+* Classes
+****/
var SpinningSquare = Container.expand(function () {
var self = Container.call(this);
- var squareGraphics = self.createAsset('square', 'Spinning Square', 0.5, 0.5);
+ var squareGraphics = self.attachAsset('square', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
squareGraphics.tint = Math.random() * 0xFFFFFF;
squareGraphics.blendMode = 1;
self.rotationSpeed = 0.01;
self.rotate = function () {
@@ -11,61 +17,75 @@
self.originalY = 0;
self.velocityX = 0;
self.velocityY = 0;
});
-var Game = Container.expand(function () {
- var self = Container.call(this);
- var spinningSquares = [];
- var lastTouchTime = LK.ticks;
- for (var i = 0; i < 2000; i++) {
- var spinningSquare = self.addChild(new SpinningSquare());
- spinningSquare.x = Math.random() * 2048;
- spinningSquare.y = Math.random() * 2732;
- spinningSquare.rotation = Math.atan2(spinningSquare.y - 2732 / 2, spinningSquare.x - 2048 / 2);
- spinningSquare.originalX = spinningSquare.x;
- spinningSquare.originalY = spinningSquare.y;
- spinningSquares.push(spinningSquare);
- }
- self.drag = function (obj) {
- var event = obj.event;
- var pos = event.getLocalPosition(self);
- lastTouchTime = LK.ticks;
- for (var i = 0; i < spinningSquares.length; i++) {
- var dx = spinningSquares[i].x - pos.x;
- var dy = spinningSquares[i].y - pos.y;
- var distance = Math.sqrt(dx * dx + dy * dy);
- if (distance < 200) {
- spinningSquares[i].bounceBack = true;
- spinningSquares[i].bounceBackX = dx * 1.5;
- spinningSquares[i].bounceBackY = dy * 1.5;
- }
+
+/****
+* Initialize Game
+****/
+var game = new LK.Game({
+ backgroundColor: 0x000000
+});
+
+/****
+* Game Code
+****/
+var spinningSquares = [];
+var lastTouchTime = LK.ticks;
+for (var i = 0; i < 2000; i++) {
+ var spinningSquare = game.addChild(new SpinningSquare());
+ spinningSquare.x = Math.random() * 2048;
+ spinningSquare.y = Math.random() * 2732;
+ spinningSquare.rotation = Math.atan2(spinningSquare.y - 2732 / 2, spinningSquare.x - 2048 / 2);
+ spinningSquare.originalX = spinningSquare.x;
+ spinningSquare.originalY = spinningSquare.y;
+ spinningSquares.push(spinningSquare);
+}
+game.drag = function (obj) {
+ var event = obj.event;
+ var pos = game.toLocal(event.global);
+ lastTouchTime = LK.ticks;
+ for (var i = 0; i < spinningSquares.length; i++) {
+ var dx = spinningSquares[i].x - pos.x;
+ var dy = spinningSquares[i].y - pos.y;
+ var distance = Math.sqrt(dx * dx + dy * dy);
+ if (distance < 200) {
+ spinningSquares[i].bounceBack = true;
+ spinningSquares[i].bounceBackX = dx * 1.5;
+ spinningSquares[i].bounceBackY = dy * 1.5;
}
- };
- stage.on('down', self.drag);
- stage.on('move', self.drag);
- LK.on('tick', function () {
- for (var i = 0; i < spinningSquares.length; i++) {
- spinningSquares[i].rotate();
- if (spinningSquares[i].bounceBack) {
- spinningSquares[i].x += spinningSquares[i].bounceBackX * 0.1;
- spinningSquares[i].y += spinningSquares[i].bounceBackY * 0.1;
- spinningSquares[i].bounceBackX *= 0.9;
- spinningSquares[i].bounceBackY *= 0.9;
- if (Math.abs(spinningSquares[i].bounceBackX) < .025 && Math.abs(spinningSquares[i].bounceBackY) < .025) {
- if (LK.ticks - lastTouchTime > 60) {
- spinningSquares[i].bounceBack = false;
- }
+ }
+};
+game.on('down', function (x, y, obj) {
+ obj.event = obj;
+ game.drag(obj);
+});
+game.on('move', function (x, y, obj) {
+ obj.event = obj;
+ game.drag(obj);
+});
+LK.on('tick', function () {
+ for (var i = 0; i < spinningSquares.length; i++) {
+ spinningSquares[i].rotate();
+ if (spinningSquares[i].bounceBack) {
+ spinningSquares[i].x += spinningSquares[i].bounceBackX * 0.1;
+ spinningSquares[i].y += spinningSquares[i].bounceBackY * 0.1;
+ spinningSquares[i].bounceBackX *= 0.9;
+ spinningSquares[i].bounceBackY *= 0.9;
+ if (Math.abs(spinningSquares[i].bounceBackX) < .025 && Math.abs(spinningSquares[i].bounceBackY) < .025) {
+ if (LK.ticks - lastTouchTime > 60) {
+ spinningSquares[i].bounceBack = false;
}
}
- if (!spinningSquares[i].bounceBack) {
- var dx = spinningSquares[i].originalX - spinningSquares[i].x;
- var dy = spinningSquares[i].originalY - spinningSquares[i].y;
- spinningSquares[i].velocityX += dx * 0.01;
- spinningSquares[i].velocityY += dy * 0.01;
- spinningSquares[i].x += spinningSquares[i].velocityX;
- spinningSquares[i].y += spinningSquares[i].velocityY;
- spinningSquares[i].velocityX *= 0.9;
- spinningSquares[i].velocityY *= 0.9;
- }
}
- });
-});
+ if (!spinningSquares[i].bounceBack) {
+ var dx = spinningSquares[i].originalX - spinningSquares[i].x;
+ var dy = spinningSquares[i].originalY - spinningSquares[i].y;
+ spinningSquares[i].velocityX += dx * 0.01;
+ spinningSquares[i].velocityY += dy * 0.01;
+ spinningSquares[i].x += spinningSquares[i].velocityX;
+ spinningSquares[i].y += spinningSquares[i].velocityY;
+ spinningSquares[i].velocityX *= 0.9;
+ spinningSquares[i].velocityY *= 0.9;
+ }
+ }
+});
\ No newline at end of file