/**** * Classes ****/ var SpinningSquare = Container.expand(function () { var self = Container.call(this); 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 () { self.rotation += self.rotationSpeed; }; self.originalX = 0; self.originalY = 0; self.velocityX = 0; self.velocityY = 0; }); /**** * 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; } } }; 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; } } });
===================================================================
--- 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