===================================================================
--- original.js
+++ change.js
@@ -1,23 +1,107 @@
-var skaters = [];
-var Snowboarder = Container.expand(function () {
+/****
+* Classes
+****/
+var Bubble = Container.expand(function () {
var self = Container.call(this);
- var snowboarderGraphics = self.createAsset('snowboarder', 'Snowboarder Graphics', 0.5, 0.5);
+ var bubbleGraphics = self.attachAsset('bubble', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ bubbleGraphics.width *= 0.7;
+ bubbleGraphics.height *= 0.7;
+ self.speed = 45;
+ self._move_migrated = function () {
+ self.x += Math.cos(self.rotation) * self.speed;
+ self.y += Math.sin(self.rotation) * self.speed;
+ };
+});
+var BubbleUI = Container.expand(function () {
+ var self = Container.call(this);
+ self.bubbles = [];
+ var bubble = self.attachAsset('bubble', {
+ anchorY: 0.5
+ });
+ var totalWidth = 4 * (bubble.width + 10) - 10;
+ self.x = (2048 - totalWidth) / 2;
+ for (var i = 0; i < 4; i++) {
+ var bubble = self.attachAsset('bubble', {
+ anchorY: 0.5
+ });
+ bubble.x = i * (bubble.width + 10);
+ bubble.y = 0;
+ self.bubbles.push(bubble);
+ self.addChild(bubble);
+ }
+ self.updateBubbles = function (lives) {
+ for (var i = 0; i < self.bubbles.length; i++) {
+ if (i < lives) {
+ self.bubbles[i].tint = 0xFFFFFF;
+ if (!self.bubbles[i].restored) {
+ var lifeRestoration = new LifeRestorationAsset();
+ self.addChild(lifeRestoration);
+ lifeRestoration.show(self.bubbles[i].x + self.bubbles[i].width / 2, self.bubbles[i].y - lifeRestoration.height / 2 + 65);
+ self.bubbles[i].restored = true;
+ }
+ } else {
+ self.bubbles[i].tint = 0x000000;
+ self.bubbles[i].restored = false;
+ }
+ }
+ };
+ self.y = 2732 - self.bubbles[0].height - 5;
+});
+var LifeRestorationAsset = Container.expand(function () {
+ var self = Container.call(this);
+ var lifeRestorationGraphics = self.attachAsset('lifeRestoration', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.show = function (x, y) {
+ self.x = x;
+ self.y = y;
+ self.visible = true;
+ LK.setTimeout(function () {
+ self.destroy();
+ }, 500);
+ };
+});
+var Shooter = Container.expand(function () {
+ var self = Container.call(this);
+ self.rotationAngle = 0;
+ var shooterGraphics = self.attachAsset('cannon', {
+ anchorX: 0.5,
+ anchorY: 1
+ });
+ var cannonSize = Math.min(shooterGraphics.width, shooterGraphics.height) * 0.375;
+ shooterGraphics.width = cannonSize;
+ shooterGraphics.height = cannonSize;
+});
+var Skater = Container.expand(function () {
+ var self = Container.call(this);
+ var skaterGraphics = self.attachAsset('skater', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
self.direction = Math.random() * 2 * Math.PI;
self.speed = 3;
self.rotationSpeed = 0.05;
self.isRotating = false;
self.rotateTimer = 0;
self.rotateDuration = 60;
- self.move = function () {
+ self._move_migrated = function () {
var newX = self.x + Math.cos(self.direction) * self.speed;
var newY = self.y + Math.sin(self.direction) * self.speed;
- if (newX > 1798 || newX < 300) self.direction = Math.PI - self.direction;
- if (newY > 2482 || newY < 250) self.direction = -self.direction;
+ if (newX > 1798 || newX < 300) {
+ self.direction = Math.PI - self.direction;
+ }
+ if (newY > 2482 || newY < 250) {
+ self.direction = -self.direction;
+ }
self.x = newX;
self.y = newY;
};
- self.update = function () {
+ self._update_migrated = function () {
if (self.isRotating) {
self.rotation += self.rotationSpeed * 0.5;
self.rotateTimer++;
if (self.rotateTimer >= self.rotateDuration) {
@@ -27,9 +111,9 @@
}
} else if (Math.random() < 0.01) {
self.isRotating = true;
}
- self.move();
+ self._move_migrated();
for (var i = 0; i < skaters.length; i++) {
if (self !== skaters[i] && self.intersects(skaters[i], 0.1)) {
var angle = Math.atan2(skaters[i].y - self.y, skaters[i].x - self.x);
self.direction = angle + Math.PI;
@@ -46,69 +130,33 @@
self.direction = angle + Math.PI;
}
};
});
-var LifeRestorationAsset = Container.expand(function () {
+var Snowboarder = Container.expand(function () {
var self = Container.call(this);
- var lifeRestorationGraphics = self.createAsset('lifeRestoration', 'Life Restoration Graphics', 0.5, 0.5);
- self.show = function (x, y) {
- self.x = x;
- self.y = y;
- self.visible = true;
- LK.setTimeout(function () {
- self.destroy();
- }, 500);
- };
-});
-var BubbleUI = Container.expand(function () {
- var self = Container.call(this);
- self.bubbles = [];
- var bubble = self.createAsset('bubble', 'UI Bubble', 0, 0.5);
- var totalWidth = 4 * (bubble.width + 10) - 10;
- self.x = (2048 - totalWidth) / 2;
- for (var i = 0; i < 4; i++) {
- var bubble = self.createAsset('bubble', 'UI Bubble', 0, 0.5);
- bubble.x = i * (bubble.width + 10);
- bubble.y = 0;
- self.bubbles.push(bubble);
- self.addChild(bubble);
- }
- self.updateBubbles = function (lives) {
- for (var i = 0; i < self.bubbles.length; i++) {
- if (i < lives) {
- self.bubbles[i].tint = 0xFFFFFF;
- if (!self.bubbles[i].restored) {
- var lifeRestoration = new LifeRestorationAsset();
- self.addChild(lifeRestoration);
- lifeRestoration.show(self.bubbles[i].x + self.bubbles[i].width / 2, self.bubbles[i].y - lifeRestoration.height / 2 + 65);
- self.bubbles[i].restored = true;
- }
- } else {
- self.bubbles[i].tint = 0x000000;
- self.bubbles[i].restored = false;
- }
- }
- };
- self.y = 2732 - self.bubbles[0].height - 5;
-});
-var Skater = Container.expand(function () {
- var self = Container.call(this);
- var skaterGraphics = self.createAsset('skater', 'Skater Graphics', 0.5, 0.5);
+ var snowboarderGraphics = self.attachAsset('snowboarder', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
self.direction = Math.random() * 2 * Math.PI;
self.speed = 3;
self.rotationSpeed = 0.05;
self.isRotating = false;
self.rotateTimer = 0;
self.rotateDuration = 60;
- self.move = function () {
+ self._move_migrated = function () {
var newX = self.x + Math.cos(self.direction) * self.speed;
var newY = self.y + Math.sin(self.direction) * self.speed;
- if (newX > 1798 || newX < 300) self.direction = Math.PI - self.direction;
- if (newY > 2482 || newY < 250) self.direction = -self.direction;
+ if (newX > 1798 || newX < 300) {
+ self.direction = Math.PI - self.direction;
+ }
+ if (newY > 2482 || newY < 250) {
+ self.direction = -self.direction;
+ }
self.x = newX;
self.y = newY;
};
- self.update = function () {
+ self._update_migrated = function () {
if (self.isRotating) {
self.rotation += self.rotationSpeed * 0.5;
self.rotateTimer++;
if (self.rotateTimer >= self.rotateDuration) {
@@ -118,9 +166,9 @@
}
} else if (Math.random() < 0.01) {
self.isRotating = true;
}
- self.move();
+ self._move_migrated();
for (var i = 0; i < skaters.length; i++) {
if (self !== skaters[i] && self.intersects(skaters[i], 0.1)) {
var angle = Math.atan2(skaters[i].y - self.y, skaters[i].x - self.x);
self.direction = angle + Math.PI;
@@ -137,221 +185,223 @@
self.direction = angle + Math.PI;
}
};
});
-var Bubble = Container.expand(function () {
- var self = Container.call(this);
- var bubbleGraphics = self.createAsset('bubble', 'Bubble Graphics', .5, .5);
- bubbleGraphics.width *= 0.7;
- bubbleGraphics.height *= 0.7;
- self.speed = 45;
- self.move = function () {
- self.x += Math.cos(self.rotation) * self.speed;
- self.y += Math.sin(self.rotation) * self.speed;
- };
+
+/****
+* Initialize Game
+****/
+var game = new LK.Game({
+ backgroundColor: 0x000000
});
-var Shooter = Container.expand(function () {
- var self = Container.call(this);
- self.rotationAngle = 0;
- var shooterGraphics = self.createAsset('cannon', 'Cannon Graphics', 0.5, 1);
- var cannonSize = Math.min(shooterGraphics.width, shooterGraphics.height) * 0.375;
- shooterGraphics.width = cannonSize;
- shooterGraphics.height = cannonSize;
-});
-var Game = Container.expand(function () {
- LK.stage.on('move', function (obj) {
- self.levelUp = function () {
- self.levelTransitionInProgress = true;
- self.level++;
- self.setLives(4);
- skaters.forEach(function (entity) {
- if (entity instanceof Snowboarder) {
- entity.destroy();
- }
- });
- skaters = skaters.filter(function (entity) {
- return !(entity instanceof Snowboarder);
- });
- self.spawnSkaters(self.level);
- self.levelTransitionInProgress = false;
- self.levelTransitionInitiated = false;
- };
- var event = obj.event;
- var pos = event.getLocalPosition(self);
- var angle = Math.atan2(pos.y - shooter.y, pos.x - shooter.x) + Math.PI / 2;
- shooter.rotation = angle;
- });
- LK.stage.on('up', function (obj) {
- if (self.lives > 0 && !self.levelTransitionInitiated && !self.levelTransitionInProgress) {
- var event = obj.event;
- var pos = event.getLocalPosition(self);
- var newBubble = self.addChild(new Bubble());
- newBubble.rotation = Math.atan2(pos.y - shooter.y, pos.x - shooter.x);
- newBubble.x = shooter.x;
- newBubble.y = shooter.y;
- bubbles.push(newBubble);
- if (self.lives > 0) {
- self.lives--;
+
+/****
+* Game Code
+****/
+var skaters = [];
+game.on('move', function (x, y, obj) {
+ game.levelUp = function () {
+ game.levelTransitionInProgress = true;
+ game.level++;
+ game.setLives(4);
+ skaters.forEach(function (entity) {
+ if (entity instanceof Snowboarder) {
+ entity.destroy();
}
- bubbleUI.updateBubbles(self.lives);
- }
- });
- var self = Container.call(this);
- self.level = 1;
- self.levelTransitionInitiated = false;
- self.levelTransitionInProgress = false;
- var bubbleUI = self.addChild(new BubbleUI());
- self.setLives = function (lives) {
- self.lives = lives;
- bubbleUI.updateBubbles(self.lives);
+ });
+ skaters = skaters.filter(function (entity) {
+ return !(entity instanceof Snowboarder);
+ });
+ game.spawnSkaters(game.level);
+ game.levelTransitionInProgress = false;
+ game.levelTransitionInitiated = false;
};
- self.setLives(4);
- self.score = 0;
- var scoreText = new Text2(self.score.toString(), {
- size: 150,
- fill: "#ffffff",
- stroke: "#075079",
- strokeThickness: 11.25,
- font: "'Luckiest Guy', 'Arial Black', sans-serif"
- });
- scoreText.anchor.set(0.5, 0);
- LK.gui.topCenter.addChild(scoreText);
- self.spawnSkaters = function (level) {
- for (var i = 0; i < level + 4; i++) {
- var skater = self.addChild(new Skater());
- do {
- skater.x = 300 + Math.random() * (2048 - 600);
- skater.y = 250 + Math.random() * (2732 - 500);
- } while (Math.sqrt(Math.pow(skater.x - 2048 / 2, 2) + Math.pow(skater.y - 2732 / 2, 2)) < 400);
- skaters.push(skater);
+ var event = obj;
+ var pos = game.toLocal(event.global);
+ var angle = Math.atan2(pos.y - shooter.y, pos.x - shooter.x) + Math.PI / 2;
+ shooter.rotation = angle;
+});
+game.on('up', function (x, y, obj) {
+ if (game.lives > 0 && !game.levelTransitionInitiated && !game.levelTransitionInProgress) {
+ var event = obj;
+ var pos = game.toLocal(event.global);
+ var newBubble = game.addChild(new Bubble());
+ newBubble.rotation = Math.atan2(pos.y - shooter.y, pos.x - shooter.x);
+ newBubble.x = shooter.x;
+ newBubble.y = shooter.y;
+ bubbles.push(newBubble);
+ if (game.lives > 0) {
+ game.lives--;
}
- var numberOfSnowboarders = Math.max(0, Math.ceil((self.level - 1) / 2));
- for (var sb = 0; sb < numberOfSnowboarders; sb++) {
- var snowboarder = self.addChild(new Snowboarder());
- do {
- snowboarder.x = 300 + Math.random() * (2048 - 600);
- snowboarder.y = 250 + Math.random() * (2732 - 500);
- } while (Math.sqrt(Math.pow(snowboarder.x - 2048 / 2, 2) + Math.pow(snowboarder.y - 2732 / 2, 2)) < 400);
- skaters.push(snowboarder);
- }
- };
- isGameOver = false;
- self.levelCompleted = true;
- if (!self.levelTransitionInitiated) {
- self.spawnSkaters(self.level);
+ bubbleUI.updateBubbles(game.lives);
}
- var backgroundLayer2 = self.createAsset('backgroundLayer2', 'Background Layer 2', 0.5, 0.5);
- backgroundLayer2.width = 2048;
- backgroundLayer2.height = 2732;
- backgroundLayer2.x = 2048 / 2;
- backgroundLayer2.y = 2732 / 2;
- self.addChildAt(backgroundLayer2, 0);
- var background = self.createAsset('background', 'Background Image', 0.5, 0.5);
- background.width = 2048;
- background.height = 2732;
- background.x = 2048 / 2;
- background.y = 2732 / 2;
- self.addChildAt(background, 1);
- var bubbles = [];
- var bubbleHitEdge = false;
- var shooter = self.addChild(new Shooter());
- shooter.x = 2048 / 2;
- shooter.y = 2732 / 2;
- var circle = self.createAsset('circle', 'Red Circle', 0.5, 0.5);
- circle.width = 600;
- circle.height = 600;
- circle.alpha = 1;
- circle.x = 2048 / 2;
- circle.y = 2732 / 2;
- self.addChildAt(circle, 2);
- var isGameOver = false;
- var tickOffset = 0;
- LK.on('tick', function () {
- var levelCompleted = false;
- var gameOver = false;
- if (isGameOver) {
- LK.effects.flashScreen(0xff0000, 1000);
- LK.showGameOver();
- }
- for (var i = 0; i < skaters.length; i++) {
- skaters[i].update();
- }
- for (var a = bubbles.length - 1; a >= 0; a--) {
- bubbles[a].move();
- for (var s = skaters.length - 1; s >= 0; s--) {
- if (bubbles[a].intersects(skaters[s])) {
- if (skaters[s] instanceof Snowboarder) {
- isGameOver = true;
- } else if (skaters[s]) {
- var explosion = self.createAsset('explosion', 'Explosion Graphics', 0.5, 0.5);
- explosion.x = skaters[s].x;
- explosion.y = skaters[s].y;
- self.addChild(explosion);
- LK.setTimeout(function () {
- explosion.destroy();
- }, 100);
- skaters[s].destroy();
- skaters.splice(s, 1);
- if (!bubbles[a].skatersHit) {
- bubbles[a].skatersHit = [];
+});
+game.level = 1;
+game.levelTransitionInitiated = false;
+game.levelTransitionInProgress = false;
+var bubbleUI = game.addChild(new BubbleUI());
+game.setLives = function (lives) {
+ game.lives = lives;
+ bubbleUI.updateBubbles(game.lives);
+};
+game.setLives(4);
+game.score = 0;
+var scoreText = new Text2(game.score.toString(), {
+ size: 150,
+ fill: "#ffffff",
+ stroke: "#075079",
+ strokeThickness: 11.25,
+ font: "'Luckiest Guy', 'Arial Black', sans-serif"
+});
+scoreText.anchor.set(0.5, 0);
+LK.gui.top.addChild(scoreText);
+game.spawnSkaters = function (level) {
+ for (var i = 0; i < level + 4; i++) {
+ var skater = game.addChild(new Skater());
+ do {
+ skater.x = 300 + Math.random() * (2048 - 600);
+ skater.y = 250 + Math.random() * (2732 - 500);
+ } while (Math.sqrt(Math.pow(skater.x - 2048 / 2, 2) + Math.pow(skater.y - 2732 / 2, 2)) < 400);
+ skaters.push(skater);
+ }
+ var numberOfSnowboarders = Math.max(0, Math.ceil((game.level - 1) / 2));
+ for (var sb = 0; sb < numberOfSnowboarders; sb++) {
+ var snowboarder = game.addChild(new Snowboarder());
+ do {
+ snowboarder.x = 300 + Math.random() * (2048 - 600);
+ snowboarder.y = 250 + Math.random() * (2732 - 500);
+ } while (Math.sqrt(Math.pow(snowboarder.x - 2048 / 2, 2) + Math.pow(snowboarder.y - 2732 / 2, 2)) < 400);
+ skaters.push(snowboarder);
+ }
+};
+isGameOver = false;
+game.levelCompleted = true;
+if (!game.levelTransitionInitiated) {
+ game.spawnSkaters(game.level);
+}
+var backgroundLayer2 = game.attachAsset('backgroundLayer2', {
+ anchorX: 0.5,
+ anchorY: 0.5
+});
+backgroundLayer2.width = 2048;
+backgroundLayer2.height = 2732;
+backgroundLayer2.x = 2048 / 2;
+backgroundLayer2.y = 2732 / 2;
+game.addChildAt(backgroundLayer2, 0);
+var background = game.attachAsset('background', {
+ anchorX: 0.5,
+ anchorY: 0.5
+});
+background.width = 2048;
+background.height = 2732;
+background.x = 2048 / 2;
+background.y = 2732 / 2;
+game.addChildAt(background, 1);
+var bubbles = [];
+var bubbleHitEdge = false;
+var shooter = game.addChild(new Shooter());
+shooter.x = 2048 / 2;
+shooter.y = 2732 / 2;
+var circle = game.attachAsset('circle', {
+ anchorX: 0.5,
+ anchorY: 0.5
+});
+circle.width = 600;
+circle.height = 600;
+circle.alpha = 1;
+circle.x = 2048 / 2;
+circle.y = 2732 / 2;
+game.addChildAt(circle, 2);
+var isGameOver = false;
+var tickOffset = 0;
+LK.on('tick', function () {
+ var levelCompleted = false;
+ var gameOver = false;
+ if (isGameOver) {
+ LK.effects.flashScreen(0xff0000, 1000);
+ LK.showGameOver();
+ }
+ for (var i = 0; i < skaters.length; i++) {
+ skaters[i]._update_migrated();
+ }
+ for (var a = bubbles.length - 1; a >= 0; a--) {
+ bubbles[a]._move_migrated();
+ for (var s = skaters.length - 1; s >= 0; s--) {
+ if (bubbles[a].intersects(skaters[s])) {
+ if (skaters[s] instanceof Snowboarder) {
+ isGameOver = true;
+ } else if (skaters[s]) {
+ var explosion = game.attachAsset('explosion', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ explosion.x = skaters[s].x;
+ explosion.y = skaters[s].y;
+ game.addChild(explosion);
+ LK.setTimeout(function () {
+ explosion.destroy();
+ }, 100);
+ skaters[s].destroy();
+ skaters.splice(s, 1);
+ if (!bubbles[a].skatersHit) {
+ bubbles[a].skatersHit = [];
+ }
+ bubbles[a].skatersHit.push(skaters[s]);
+ var skaterScore = bubbles[a].skatersHit.length;
+ LK.setScore(LK.getScore() + skaterScore);
+ if (skaterScore >= 2) {
+ if (game.lives < 4) {
+ game.lives++;
+ bubbleUI.updateBubbles(game.lives);
}
- bubbles[a].skatersHit.push(skaters[s]);
- var skaterScore = bubbles[a].skatersHit.length;
- LK.setScore(LK.getScore() + skaterScore);
- if (skaterScore >= 2) {
- if (self.lives < 4) {
- self.lives++;
- bubbleUI.updateBubbles(self.lives);
- }
- }
- scoreText.setText(LK.getScore().toString());
}
- var skaterCount = skaters.filter(function (entity) {
- return !(entity instanceof Snowboarder);
- }).length;
- break;
+ scoreText.setText(LK.getScore().toString());
}
- }
- if (bubbles[a].x > 2048 || bubbles[a].x < 0 || bubbles[a].y > 2732 || bubbles[a].y < 0 || !bubbles[a].parent) {
- bubbleHitEdge = true;
- bubbles[a].destroy();
- bubbles.splice(a, 1);
var skaterCount = skaters.filter(function (entity) {
return !(entity instanceof Snowboarder);
}).length;
- if (skaterCount === 0 && !self.levelTransitionInitiated && !self.levelTransitionInProgress) {
- self.levelCompleted = true;
- self.levelTransitionInitiated = true;
- if (!self.levelTransitionInProgress) {
- LK.setScore(LK.getScore() + self.lives * 5);
- scoreText.setText(LK.getScore().toString());
- self.levelUp();
- }
- } else if (bubbles.length === 0 && self.lives === 0) {
- isGameOver = true;
- }
+ break;
}
}
- var skaterCount = skaters.filter(function (entity) {
- return !(entity instanceof Snowboarder);
- }).length;
- if (skaterCount === 0 && bubbles.length === 0 && !self.levelTransitionInitiated && !self.levelTransitionInProgress) {
- self.levelCompleted = true;
- self.levelTransitionInitiated = true;
- LK.setTimeout(function () {
- if (!self.levelTransitionInProgress) {
- LK.setScore(LK.getScore() + self.lives * 5);
+ if (bubbles[a].x > 2048 || bubbles[a].x < 0 || bubbles[a].y > 2732 || bubbles[a].y < 0 || !bubbles[a].parent) {
+ bubbleHitEdge = true;
+ bubbles[a].destroy();
+ bubbles.splice(a, 1);
+ var skaterCount = skaters.filter(function (entity) {
+ return !(entity instanceof Snowboarder);
+ }).length;
+ if (skaterCount === 0 && !game.levelTransitionInitiated && !game.levelTransitionInProgress) {
+ game.levelCompleted = true;
+ game.levelTransitionInitiated = true;
+ if (!game.levelTransitionInProgress) {
+ LK.setScore(LK.getScore() + game.lives * 5);
scoreText.setText(LK.getScore().toString());
- self.levelUp();
+ game.levelUp();
}
- }, 500);
+ } else if (bubbles.length === 0 && game.lives === 0) {
+ isGameOver = true;
+ }
}
- if (!levelCompleted && self.lives === 0 && bubbles.length === 0 && !isGameOver) {
- gameOver = true;
- }
- if (gameOver) {
- isGameOver = true;
- LK.effects.flashScreen(0xff0000, 1000);
- LK.showGameOver();
- }
- });
-});
+ }
+ var skaterCount = skaters.filter(function (entity) {
+ return !(entity instanceof Snowboarder);
+ }).length;
+ if (skaterCount === 0 && bubbles.length === 0 && !game.levelTransitionInitiated && !game.levelTransitionInProgress) {
+ game.levelCompleted = true;
+ game.levelTransitionInitiated = true;
+ LK.setTimeout(function () {
+ if (!game.levelTransitionInProgress) {
+ LK.setScore(LK.getScore() + game.lives * 5);
+ scoreText.setText(LK.getScore().toString());
+ game.levelUp();
+ }
+ }, 500);
+ }
+ if (!levelCompleted && game.lives === 0 && bubbles.length === 0 && !isGameOver) {
+ gameOver = true;
+ }
+ if (gameOver) {
+ isGameOver = true;
+ LK.effects.flashScreen(0xff0000, 1000);
+ LK.showGameOver();
+ }
+});
\ No newline at end of file
green plus sign. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows. pixelated. 8 bit
basketball. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
basketball tube tube. view from the top. seen from above. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
tube. view from the top. seen from above. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
basketball hoop. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
explosion. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
basketball player. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
basketball court. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
circle arena.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.