var Ring = Container.expand(function (size) { var self = Container.call(this); self.size = size; var ringGraphics = self.createAsset('ring', 'Ring for the game', 0.5, 0.5); ringGraphics.scale.y = 1 - size * 0.15; ringGraphics.rotation = Math.PI / 2; self.type = Math.floor(Math.random() * 5); var colors = [0xFF9999, 0xFFFF99, 0x99FF99, 0x9999FF, 0xFF99FF]; ringGraphics.tint = colors[self.type]; }); var Stack = Container.expand(function () { var self = Container.call(this); self.rings = []; self.targetY = self.y; self.move = function () { if (self.y !== self.targetY) { if (Math.abs(self.y - self.targetY) < 1) { self.y = self.targetY; } else { self.y += (self.targetY - self.y) / 10; } } }; var stackBG = self.createAsset('background', 'Background for the game', 0.5, 0.5); self.setBGAlpha = function (alpha) { stackBG.alpha = alpha; }; self.setBGAlpha(0); var rod = self.createAsset('rod', 'Rod for the game', 0.5, 0.5); self.addRing = function (ring) { if (self.rings.length < 5) { self.rings.push(ring); self.addChild(ring); ring.y = 358 / 2 - self.rings.length * ring.height + ring.height / 2 - 5; } }; self.removeRing = function () { if (self.rings.length > 0) { var ring = self.rings.pop(); return ring; } }; self.checkRings = function () { if (self.rings.length === 5 && self.rings[0].size === 0) { var type = self.rings[0].type; for (var i = 1; i < 5; i++) { if (self.rings[i].type !== type || self.rings[i].size !== i) { return false; } } return true; } return false; }; self.on('down', function () { if (Game.selectedStack) { if (self.rings.length < 5) { var ring = Game.selectedStack.removeRing(); if (ring) { self.addRing(ring); } } Game.selectedStack.setBGAlpha(0); Game.selectedStack = null; } else { Game.selectedStack = self; self.setBGAlpha(0.5); } }); }); var Game = Container.expand(function () { var self = Container.call(this); self.stacks = [[], [], [], [], []]; self.selectedStack = null; self.score = 0; var background = self.createAsset('game_background', 'Background for the game', 0.5, 0.5); background.zIndex = -1; background.x = 2048 / 2; background.y = 2732 / 2; background.alpha = .3; var stackContainer = self.addChild(new Container()); stackContainer.x = 368 / 2 + 79; stackContainer.y = 368 / 2 + 500; var scoreTxt = new Text2('0', { size: 150, fill: '#ffffff', font: 'Impact', dropShadow: true, dropShadowColor: '#000000' }); scoreTxt.setText(self.score); scoreTxt.anchor.set(.5, 0); LK.gui.topCenter.addChild(scoreTxt); for (var row = 0; row < 5; row++) { for (var col = 0; col < 5; col++) { var stack = stackContainer.addChild(new Stack()); stack.x = col * (stack.width + 10); stack.y = row * (stack.height + 10); stack.targetY = stack.y; if (!(row === 2 && col === 2)) { for (var i = 0; i < 5; i++) { var ring = new Ring(i); stack.addRing(ring); } } self.stacks[row][col] = stack; } } LK.on('tick', function () { for (var row = 0; row < self.stacks.length; row++) { for (var col = 0; col < self.stacks[row].length; col++) { if (self.stacks[row][col] && self.stacks[row][col].checkRings()) { self.stacks[row][col].destroy(); self.stacks[row][col] = null; self.score += 1; scoreTxt.setText(self.score); } } } for (var row = self.stacks.length - 1; row >= 0; row--) { for (var col = 0; col < self.stacks[row].length; col++) { if (self.stacks[row][col] === null && row > 0 && self.stacks[row - 1][col] !== null) { self.stacks[row][col] = self.stacks[row - 1][col]; self.stacks[row - 1][col] = null; self.stacks[row][col].targetY += self.stacks[row][col].height + 10; } if (self.stacks[0][col] === null) { var newStack = new Stack(); for (var i = 0; i < 5; i++) { var ring = new Ring(i); newStack.addRing(ring); } self.stacks[0][col] = newStack; stackContainer.addChild(newStack); newStack.x = col * (newStack.width + 10); newStack.y = -newStack.height; newStack.targetY = 0; } if (self.stacks[row][col]) { self.stacks[row][col].move(); } } } }); });
var Ring = Container.expand(function (size) {
var self = Container.call(this);
self.size = size;
var ringGraphics = self.createAsset('ring', 'Ring for the game', 0.5, 0.5);
ringGraphics.scale.y = 1 - size * 0.15;
ringGraphics.rotation = Math.PI / 2;
self.type = Math.floor(Math.random() * 5);
var colors = [0xFF9999, 0xFFFF99, 0x99FF99, 0x9999FF, 0xFF99FF];
ringGraphics.tint = colors[self.type];
});
var Stack = Container.expand(function () {
var self = Container.call(this);
self.rings = [];
self.targetY = self.y;
self.move = function () {
if (self.y !== self.targetY) {
if (Math.abs(self.y - self.targetY) < 1) {
self.y = self.targetY;
} else {
self.y += (self.targetY - self.y) / 10;
}
}
};
var stackBG = self.createAsset('background', 'Background for the game', 0.5, 0.5);
self.setBGAlpha = function (alpha) {
stackBG.alpha = alpha;
};
self.setBGAlpha(0);
var rod = self.createAsset('rod', 'Rod for the game', 0.5, 0.5);
self.addRing = function (ring) {
if (self.rings.length < 5) {
self.rings.push(ring);
self.addChild(ring);
ring.y = 358 / 2 - self.rings.length * ring.height + ring.height / 2 - 5;
}
};
self.removeRing = function () {
if (self.rings.length > 0) {
var ring = self.rings.pop();
return ring;
}
};
self.checkRings = function () {
if (self.rings.length === 5 && self.rings[0].size === 0) {
var type = self.rings[0].type;
for (var i = 1; i < 5; i++) {
if (self.rings[i].type !== type || self.rings[i].size !== i) {
return false;
}
}
return true;
}
return false;
};
self.on('down', function () {
if (Game.selectedStack) {
if (self.rings.length < 5) {
var ring = Game.selectedStack.removeRing();
if (ring) {
self.addRing(ring);
}
}
Game.selectedStack.setBGAlpha(0);
Game.selectedStack = null;
} else {
Game.selectedStack = self;
self.setBGAlpha(0.5);
}
});
});
var Game = Container.expand(function () {
var self = Container.call(this);
self.stacks = [[], [], [], [], []];
self.selectedStack = null;
self.score = 0;
var background = self.createAsset('game_background', 'Background for the game', 0.5, 0.5);
background.zIndex = -1;
background.x = 2048 / 2;
background.y = 2732 / 2;
background.alpha = .3;
var stackContainer = self.addChild(new Container());
stackContainer.x = 368 / 2 + 79;
stackContainer.y = 368 / 2 + 500;
var scoreTxt = new Text2('0', {
size: 150,
fill: '#ffffff',
font: 'Impact',
dropShadow: true,
dropShadowColor: '#000000'
});
scoreTxt.setText(self.score);
scoreTxt.anchor.set(.5, 0);
LK.gui.topCenter.addChild(scoreTxt);
for (var row = 0; row < 5; row++) {
for (var col = 0; col < 5; col++) {
var stack = stackContainer.addChild(new Stack());
stack.x = col * (stack.width + 10);
stack.y = row * (stack.height + 10);
stack.targetY = stack.y;
if (!(row === 2 && col === 2)) {
for (var i = 0; i < 5; i++) {
var ring = new Ring(i);
stack.addRing(ring);
}
}
self.stacks[row][col] = stack;
}
}
LK.on('tick', function () {
for (var row = 0; row < self.stacks.length; row++) {
for (var col = 0; col < self.stacks[row].length; col++) {
if (self.stacks[row][col] && self.stacks[row][col].checkRings()) {
self.stacks[row][col].destroy();
self.stacks[row][col] = null;
self.score += 1;
scoreTxt.setText(self.score);
}
}
}
for (var row = self.stacks.length - 1; row >= 0; row--) {
for (var col = 0; col < self.stacks[row].length; col++) {
if (self.stacks[row][col] === null && row > 0 && self.stacks[row - 1][col] !== null) {
self.stacks[row][col] = self.stacks[row - 1][col];
self.stacks[row - 1][col] = null;
self.stacks[row][col].targetY += self.stacks[row][col].height + 10;
}
if (self.stacks[0][col] === null) {
var newStack = new Stack();
for (var i = 0; i < 5; i++) {
var ring = new Ring(i);
newStack.addRing(ring);
}
self.stacks[0][col] = newStack;
stackContainer.addChild(newStack);
newStack.x = col * (newStack.width + 10);
newStack.y = -newStack.height;
newStack.targetY = 0;
}
if (self.stacks[row][col]) {
self.stacks[row][col].move();
}
}
}
});
});
Amazing games background for wooden children’s rainbow stacking tower game.
Horizontal wooden rod. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Narrow Horizontal rod. Light wood Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.