User prompt
make it neat like a staircase
User prompt
position platforms less complex
User prompt
Position the platforms better
User prompt
add sun and cloud
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'quadratic')' in or related to this line: 'tween.to(coin, {' Line Number: 346
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'quadraticOut')' in or related to this line: 'tween.to(coin, {' Line Number: 346
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'Quadratic')' in or related to this line: 'tween.to(coin, {' Line Number: 346
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'quadraticOut')' in or related to this line: 'tween.to(coin, {' Line Number: 346
User prompt
Please fix the bug: 'TypeError: Cannot read properties of undefined (reading 'Quadratic')' in or related to this line: 'tween.to(coin, {' Line Number: 346
User prompt
Let it be a special coin and they will fly away from us
User prompt
add background
User prompt
fix platforms
User prompt
fix game controls
User prompt
make character jump higher
Code edit (1 edits merged)
Please save this source code
User prompt
Super Platformer Run
Initial prompt
make a mario
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
/****
* Classes
****/
// Coin class
var Coin = Container.expand(function () {
var self = Container.call(this);
var coinAsset = self.attachAsset('coinCircle', {
anchorX: 0.5,
anchorY: 0.5
});
self.width = coinAsset.width;
self.height = coinAsset.height;
return self;
});
// Enemy class (simple left-right walker)
var Enemy = Container.expand(function () {
var self = Container.call(this);
var enemyAsset = self.attachAsset('enemyBox', {
anchorX: 0.5,
anchorY: 1
});
self.width = enemyAsset.width;
self.height = enemyAsset.height;
// Movement direction: 1 = right, -1 = left
self.dir = 1;
self.speed = 3;
// Movement bounds (set externally)
self.leftBound = 0;
self.rightBound = 2048;
self.update = function () {
self.x += self.dir * self.speed;
if (self.x < self.leftBound) {
self.x = self.leftBound;
self.dir = 1;
}
if (self.x > self.rightBound) {
self.x = self.rightBound;
self.dir = -1;
}
};
return self;
});
// Platform class
var Platform = Container.expand(function () {
var self = Container.call(this);
var platAsset = self.attachAsset('platformBox', {
anchorX: 0,
anchorY: 0
});
self.width = platAsset.width;
self.height = platAsset.height;
return self;
});
// Player character class
var Player = Container.expand(function () {
var self = Container.call(this);
// Attach player asset (red box)
var playerAsset = self.attachAsset('playerBox', {
anchorX: 0.5,
anchorY: 1
});
// Physics properties
self.vx = 0;
self.vy = 0;
self.isOnGround = false;
self.width = playerAsset.width;
self.height = playerAsset.height;
// For jump control
self.jumpRequested = false;
// Touch down on player (for jump)
self.down = function (x, y, obj) {
// Only allow jump if on ground
if (self.isOnGround) {
self.jumpRequested = true;
}
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x87ceeb // Sky blue
});
/****
* Game Code
****/
// --- Game Variables ---
// Tween for animations (jump, enemy movement, etc)
// --- Asset Initialization (shapes) ---
var GRAVITY = 2.2;
var JUMP_VELOCITY = -38;
var PLAYER_SPEED = 16;
var SCROLL_SPEED = 10;
var LEVEL_LENGTH = 2048 * 3; // 3 screens wide
var player;
var platforms = [];
var coins = [];
var enemies = [];
var cameraX = 0;
var score = 0;
var distance = 0;
var gameOver = false;
// --- GUI ---
var scoreTxt = new Text2('0', {
size: 100,
fill: 0xFFF700
});
scoreTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreTxt);
var distTxt = new Text2('0m', {
size: 60,
fill: 0xFFFFFF
});
distTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(distTxt);
distTxt.y = 110;
// --- Level Generation ---
function createLevel() {
// Clear old
for (var i = 0; i < platforms.length; i++) platforms[i].destroy();
for (var i = 0; i < coins.length; i++) coins[i].destroy();
for (var i = 0; i < enemies.length; i++) enemies[i].destroy();
platforms = [];
coins = [];
enemies = [];
// Ground platform
for (var i = 0; i < LEVEL_LENGTH; i += 400) {
var plat = new Platform();
plat.x = i;
plat.y = 2300;
platforms.push(plat);
game.addChild(plat);
}
// Floating platforms, coins, and enemies
var platY = [1800, 1500, 1200, 900, 600];
var lastPlatX = 400;
for (var i = 0; i < 30; i++) {
var px = lastPlatX + 400 + Math.floor(Math.random() * 400);
var py = platY[Math.floor(Math.random() * platY.length)];
var plat = new Platform();
plat.x = px;
plat.y = py;
platforms.push(plat);
game.addChild(plat);
// Place a coin above platform
if (Math.random() < 0.8) {
var coin = new Coin();
coin.x = px + plat.width / 2;
coin.y = py - 80;
coins.push(coin);
game.addChild(coin);
}
// Place an enemy on some platforms
if (Math.random() < 0.4) {
var enemy = new Enemy();
enemy.x = px + plat.width / 2;
enemy.y = py;
enemy.leftBound = px + 20;
enemy.rightBound = px + plat.width - 20;
enemies.push(enemy);
game.addChild(enemy);
}
lastPlatX = px;
}
}
// --- Player Initialization ---
function resetPlayer() {
if (player) player.destroy();
player = new Player();
player.x = 200;
player.y = 2200;
player.vx = 0;
player.vy = 0;
player.isOnGround = false;
game.addChild(player);
}
// --- Camera ---
function updateCamera() {
// Camera follows player, but clamps to level bounds
cameraX = player.x - 600;
if (cameraX < 0) cameraX = 0;
if (cameraX > LEVEL_LENGTH - 2048) cameraX = LEVEL_LENGTH - 2048;
// Move all game objects (except GUI) by -cameraX
for (var i = 0; i < platforms.length; i++) platforms[i].xScreen = platforms[i].x - cameraX;
for (var i = 0; i < coins.length; i++) coins[i].xScreen = coins[i].x - cameraX;
for (var i = 0; i < enemies.length; i++) enemies[i].xScreen = enemies[i].x - cameraX;
player.xScreen = player.x - cameraX;
}
// --- Utility: AABB collision ---
function intersectsAABB(a, b) {
return a.x < b.x + b.width && a.x + a.width > b.x && a.y < b.y + b.height && a.y + a.height > b.y;
}
// --- Touch Controls ---
// Touch left half: move left, right half: move right, tap player: jump
var moveDir = 0; // -1 = left, 1 = right, 0 = none
game.down = function (x, y, obj) {
if (gameOver) return;
// Convert to game coordinates
var gx = x + cameraX;
// If touch is on player, jump
if (gx > player.x - player.width / 2 && gx < player.x + player.width / 2 && y > player.y - player.height && y < player.y) {
player.down(x, y, obj);
return;
}
// Else, move left/right
if (x < 2048 / 2) {
moveDir = -1;
} else {
moveDir = 1;
}
};
game.up = function (x, y, obj) {
moveDir = 0;
};
game.move = function (x, y, obj) {
// Optional: allow drag to change direction
if (x < 2048 / 2) {
moveDir = -1;
} else {
moveDir = 1;
}
};
// --- Game Update Loop ---
game.update = function () {
if (gameOver) return;
// --- Player Movement ---
// Horizontal movement
player.vx = moveDir * PLAYER_SPEED;
// Apply gravity
player.vy += GRAVITY;
// Jump
if (player.jumpRequested) {
player.vy = JUMP_VELOCITY;
player.jumpRequested = false;
player.isOnGround = false;
}
// Move horizontally, check collisions
player.x += player.vx;
var collidedX = false;
for (var i = 0; i < platforms.length; i++) {
var plat = platforms[i];
if (intersectsAABB({
x: player.x - player.width / 2,
y: player.y - player.height,
width: player.width,
height: player.height
}, {
x: plat.x,
y: plat.y,
width: plat.width,
height: plat.height
})) {
// Collided horizontally, push player out
if (player.vx > 0) {
player.x = plat.x - player.width / 2;
} else if (player.vx < 0) {
player.x = plat.x + plat.width + player.width / 2;
}
collidedX = true;
}
}
// Move vertically, check collisions
player.y += player.vy;
var collidedY = false;
player.isOnGround = false;
for (var i = 0; i < platforms.length; i++) {
var plat = platforms[i];
if (intersectsAABB({
x: player.x - player.width / 2,
y: player.y - player.height,
width: player.width,
height: player.height
}, {
x: plat.x,
y: plat.y,
width: plat.width,
height: plat.height
})) {
// Collided vertically
if (player.vy > 0) {
// Falling, land on platform
player.y = plat.y;
player.vy = 0;
player.isOnGround = true;
} else if (player.vy < 0) {
// Hitting head
player.y = plat.y + plat.height + player.height;
player.vy = 0;
}
collidedY = true;
}
}
// --- Coin Collection ---
for (var i = coins.length - 1; i >= 0; i--) {
var coin = coins[i];
if (intersectsAABB({
x: player.x - player.width / 2,
y: player.y - player.height,
width: player.width,
height: player.height
}, {
x: coin.x - coin.width / 2,
y: coin.y - coin.height / 2,
width: coin.width,
height: coin.height
})) {
// Collect coin
score += 1;
scoreTxt.setText(score);
coin.destroy();
coins.splice(i, 1);
}
}
// --- Enemy Update & Collision ---
for (var i = 0; i < enemies.length; i++) {
enemies[i].update();
// Check collision with player
if (intersectsAABB({
x: player.x - player.width / 2,
y: player.y - player.height,
width: player.width,
height: player.height
}, {
x: enemies[i].x - enemies[i].width / 2,
y: enemies[i].y - enemies[i].height,
width: enemies[i].width,
height: enemies[i].height
})) {
// Game over
LK.effects.flashScreen(0xff0000, 1000);
gameOver = true;
LK.showGameOver();
return;
}
}
// --- Camera & Distance ---
updateCamera();
// Move all objects to screen position
for (var i = 0; i < platforms.length; i++) {
platforms[i].x = platforms[i].xScreen;
}
for (var i = 0; i < coins.length; i++) {
coins[i].x = coins[i].xScreen;
}
for (var i = 0; i < enemies.length; i++) {
enemies[i].x = enemies[i].xScreen;
}
player.x = player.xScreen;
// --- Distance ---
distance = Math.floor((player.x + cameraX) / 10);
distTxt.setText(distance + "m");
// --- Win/Lose Conditions ---
// Fall off screen
if (player.y > 2732) {
LK.effects.flashScreen(0xff0000, 1000);
gameOver = true;
LK.showGameOver();
return;
}
// Reached end of level
if (player.x + cameraX > LEVEL_LENGTH - 200) {
LK.effects.flashScreen(0x00ff00, 1000);
LK.setScore(score);
LK.showYouWin();
gameOver = true;
return;
}
};
// --- Game Start ---
function startGame() {
score = 0;
distance = 0;
gameOver = false;
scoreTxt.setText(score);
distTxt.setText(distance + "m");
createLevel();
resetPlayer();
cameraX = 0;
moveDir = 0;
}
// --- Start ---
startGame(); ===================================================================
--- original.js
+++ change.js
@@ -1,6 +1,390 @@
-/****
+/****
+* Plugins
+****/
+var tween = LK.import("@upit/tween.v1");
+
+/****
+* Classes
+****/
+// Coin class
+var Coin = Container.expand(function () {
+ var self = Container.call(this);
+ var coinAsset = self.attachAsset('coinCircle', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.width = coinAsset.width;
+ self.height = coinAsset.height;
+ return self;
+});
+// Enemy class (simple left-right walker)
+var Enemy = Container.expand(function () {
+ var self = Container.call(this);
+ var enemyAsset = self.attachAsset('enemyBox', {
+ anchorX: 0.5,
+ anchorY: 1
+ });
+ self.width = enemyAsset.width;
+ self.height = enemyAsset.height;
+ // Movement direction: 1 = right, -1 = left
+ self.dir = 1;
+ self.speed = 3;
+ // Movement bounds (set externally)
+ self.leftBound = 0;
+ self.rightBound = 2048;
+ self.update = function () {
+ self.x += self.dir * self.speed;
+ if (self.x < self.leftBound) {
+ self.x = self.leftBound;
+ self.dir = 1;
+ }
+ if (self.x > self.rightBound) {
+ self.x = self.rightBound;
+ self.dir = -1;
+ }
+ };
+ return self;
+});
+// Platform class
+var Platform = Container.expand(function () {
+ var self = Container.call(this);
+ var platAsset = self.attachAsset('platformBox', {
+ anchorX: 0,
+ anchorY: 0
+ });
+ self.width = platAsset.width;
+ self.height = platAsset.height;
+ return self;
+});
+// Player character class
+var Player = Container.expand(function () {
+ var self = Container.call(this);
+ // Attach player asset (red box)
+ var playerAsset = self.attachAsset('playerBox', {
+ anchorX: 0.5,
+ anchorY: 1
+ });
+ // Physics properties
+ self.vx = 0;
+ self.vy = 0;
+ self.isOnGround = false;
+ self.width = playerAsset.width;
+ self.height = playerAsset.height;
+ // For jump control
+ self.jumpRequested = false;
+ // Touch down on player (for jump)
+ self.down = function (x, y, obj) {
+ // Only allow jump if on ground
+ if (self.isOnGround) {
+ self.jumpRequested = true;
+ }
+ };
+ return self;
+});
+
+/****
* Initialize Game
-****/
+****/
var game = new LK.Game({
- backgroundColor: 0x000000
-});
\ No newline at end of file
+ backgroundColor: 0x87ceeb // Sky blue
+});
+
+/****
+* Game Code
+****/
+// --- Game Variables ---
+// Tween for animations (jump, enemy movement, etc)
+// --- Asset Initialization (shapes) ---
+var GRAVITY = 2.2;
+var JUMP_VELOCITY = -38;
+var PLAYER_SPEED = 16;
+var SCROLL_SPEED = 10;
+var LEVEL_LENGTH = 2048 * 3; // 3 screens wide
+var player;
+var platforms = [];
+var coins = [];
+var enemies = [];
+var cameraX = 0;
+var score = 0;
+var distance = 0;
+var gameOver = false;
+// --- GUI ---
+var scoreTxt = new Text2('0', {
+ size: 100,
+ fill: 0xFFF700
+});
+scoreTxt.anchor.set(0.5, 0);
+LK.gui.top.addChild(scoreTxt);
+var distTxt = new Text2('0m', {
+ size: 60,
+ fill: 0xFFFFFF
+});
+distTxt.anchor.set(0.5, 0);
+LK.gui.top.addChild(distTxt);
+distTxt.y = 110;
+// --- Level Generation ---
+function createLevel() {
+ // Clear old
+ for (var i = 0; i < platforms.length; i++) platforms[i].destroy();
+ for (var i = 0; i < coins.length; i++) coins[i].destroy();
+ for (var i = 0; i < enemies.length; i++) enemies[i].destroy();
+ platforms = [];
+ coins = [];
+ enemies = [];
+ // Ground platform
+ for (var i = 0; i < LEVEL_LENGTH; i += 400) {
+ var plat = new Platform();
+ plat.x = i;
+ plat.y = 2300;
+ platforms.push(plat);
+ game.addChild(plat);
+ }
+ // Floating platforms, coins, and enemies
+ var platY = [1800, 1500, 1200, 900, 600];
+ var lastPlatX = 400;
+ for (var i = 0; i < 30; i++) {
+ var px = lastPlatX + 400 + Math.floor(Math.random() * 400);
+ var py = platY[Math.floor(Math.random() * platY.length)];
+ var plat = new Platform();
+ plat.x = px;
+ plat.y = py;
+ platforms.push(plat);
+ game.addChild(plat);
+ // Place a coin above platform
+ if (Math.random() < 0.8) {
+ var coin = new Coin();
+ coin.x = px + plat.width / 2;
+ coin.y = py - 80;
+ coins.push(coin);
+ game.addChild(coin);
+ }
+ // Place an enemy on some platforms
+ if (Math.random() < 0.4) {
+ var enemy = new Enemy();
+ enemy.x = px + plat.width / 2;
+ enemy.y = py;
+ enemy.leftBound = px + 20;
+ enemy.rightBound = px + plat.width - 20;
+ enemies.push(enemy);
+ game.addChild(enemy);
+ }
+ lastPlatX = px;
+ }
+}
+// --- Player Initialization ---
+function resetPlayer() {
+ if (player) player.destroy();
+ player = new Player();
+ player.x = 200;
+ player.y = 2200;
+ player.vx = 0;
+ player.vy = 0;
+ player.isOnGround = false;
+ game.addChild(player);
+}
+// --- Camera ---
+function updateCamera() {
+ // Camera follows player, but clamps to level bounds
+ cameraX = player.x - 600;
+ if (cameraX < 0) cameraX = 0;
+ if (cameraX > LEVEL_LENGTH - 2048) cameraX = LEVEL_LENGTH - 2048;
+ // Move all game objects (except GUI) by -cameraX
+ for (var i = 0; i < platforms.length; i++) platforms[i].xScreen = platforms[i].x - cameraX;
+ for (var i = 0; i < coins.length; i++) coins[i].xScreen = coins[i].x - cameraX;
+ for (var i = 0; i < enemies.length; i++) enemies[i].xScreen = enemies[i].x - cameraX;
+ player.xScreen = player.x - cameraX;
+}
+// --- Utility: AABB collision ---
+function intersectsAABB(a, b) {
+ return a.x < b.x + b.width && a.x + a.width > b.x && a.y < b.y + b.height && a.y + a.height > b.y;
+}
+// --- Touch Controls ---
+// Touch left half: move left, right half: move right, tap player: jump
+var moveDir = 0; // -1 = left, 1 = right, 0 = none
+game.down = function (x, y, obj) {
+ if (gameOver) return;
+ // Convert to game coordinates
+ var gx = x + cameraX;
+ // If touch is on player, jump
+ if (gx > player.x - player.width / 2 && gx < player.x + player.width / 2 && y > player.y - player.height && y < player.y) {
+ player.down(x, y, obj);
+ return;
+ }
+ // Else, move left/right
+ if (x < 2048 / 2) {
+ moveDir = -1;
+ } else {
+ moveDir = 1;
+ }
+};
+game.up = function (x, y, obj) {
+ moveDir = 0;
+};
+game.move = function (x, y, obj) {
+ // Optional: allow drag to change direction
+ if (x < 2048 / 2) {
+ moveDir = -1;
+ } else {
+ moveDir = 1;
+ }
+};
+// --- Game Update Loop ---
+game.update = function () {
+ if (gameOver) return;
+ // --- Player Movement ---
+ // Horizontal movement
+ player.vx = moveDir * PLAYER_SPEED;
+ // Apply gravity
+ player.vy += GRAVITY;
+ // Jump
+ if (player.jumpRequested) {
+ player.vy = JUMP_VELOCITY;
+ player.jumpRequested = false;
+ player.isOnGround = false;
+ }
+ // Move horizontally, check collisions
+ player.x += player.vx;
+ var collidedX = false;
+ for (var i = 0; i < platforms.length; i++) {
+ var plat = platforms[i];
+ if (intersectsAABB({
+ x: player.x - player.width / 2,
+ y: player.y - player.height,
+ width: player.width,
+ height: player.height
+ }, {
+ x: plat.x,
+ y: plat.y,
+ width: plat.width,
+ height: plat.height
+ })) {
+ // Collided horizontally, push player out
+ if (player.vx > 0) {
+ player.x = plat.x - player.width / 2;
+ } else if (player.vx < 0) {
+ player.x = plat.x + plat.width + player.width / 2;
+ }
+ collidedX = true;
+ }
+ }
+ // Move vertically, check collisions
+ player.y += player.vy;
+ var collidedY = false;
+ player.isOnGround = false;
+ for (var i = 0; i < platforms.length; i++) {
+ var plat = platforms[i];
+ if (intersectsAABB({
+ x: player.x - player.width / 2,
+ y: player.y - player.height,
+ width: player.width,
+ height: player.height
+ }, {
+ x: plat.x,
+ y: plat.y,
+ width: plat.width,
+ height: plat.height
+ })) {
+ // Collided vertically
+ if (player.vy > 0) {
+ // Falling, land on platform
+ player.y = plat.y;
+ player.vy = 0;
+ player.isOnGround = true;
+ } else if (player.vy < 0) {
+ // Hitting head
+ player.y = plat.y + plat.height + player.height;
+ player.vy = 0;
+ }
+ collidedY = true;
+ }
+ }
+ // --- Coin Collection ---
+ for (var i = coins.length - 1; i >= 0; i--) {
+ var coin = coins[i];
+ if (intersectsAABB({
+ x: player.x - player.width / 2,
+ y: player.y - player.height,
+ width: player.width,
+ height: player.height
+ }, {
+ x: coin.x - coin.width / 2,
+ y: coin.y - coin.height / 2,
+ width: coin.width,
+ height: coin.height
+ })) {
+ // Collect coin
+ score += 1;
+ scoreTxt.setText(score);
+ coin.destroy();
+ coins.splice(i, 1);
+ }
+ }
+ // --- Enemy Update & Collision ---
+ for (var i = 0; i < enemies.length; i++) {
+ enemies[i].update();
+ // Check collision with player
+ if (intersectsAABB({
+ x: player.x - player.width / 2,
+ y: player.y - player.height,
+ width: player.width,
+ height: player.height
+ }, {
+ x: enemies[i].x - enemies[i].width / 2,
+ y: enemies[i].y - enemies[i].height,
+ width: enemies[i].width,
+ height: enemies[i].height
+ })) {
+ // Game over
+ LK.effects.flashScreen(0xff0000, 1000);
+ gameOver = true;
+ LK.showGameOver();
+ return;
+ }
+ }
+ // --- Camera & Distance ---
+ updateCamera();
+ // Move all objects to screen position
+ for (var i = 0; i < platforms.length; i++) {
+ platforms[i].x = platforms[i].xScreen;
+ }
+ for (var i = 0; i < coins.length; i++) {
+ coins[i].x = coins[i].xScreen;
+ }
+ for (var i = 0; i < enemies.length; i++) {
+ enemies[i].x = enemies[i].xScreen;
+ }
+ player.x = player.xScreen;
+ // --- Distance ---
+ distance = Math.floor((player.x + cameraX) / 10);
+ distTxt.setText(distance + "m");
+ // --- Win/Lose Conditions ---
+ // Fall off screen
+ if (player.y > 2732) {
+ LK.effects.flashScreen(0xff0000, 1000);
+ gameOver = true;
+ LK.showGameOver();
+ return;
+ }
+ // Reached end of level
+ if (player.x + cameraX > LEVEL_LENGTH - 200) {
+ LK.effects.flashScreen(0x00ff00, 1000);
+ LK.setScore(score);
+ LK.showYouWin();
+ gameOver = true;
+ return;
+ }
+};
+// --- Game Start ---
+function startGame() {
+ score = 0;
+ distance = 0;
+ gameOver = false;
+ scoreTxt.setText(score);
+ distTxt.setText(distance + "m");
+ createLevel();
+ resetPlayer();
+ cameraX = 0;
+ moveDir = 0;
+}
+// --- Start ---
+startGame();
\ No newline at end of file
cloud. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
sun. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
çay bardağı. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
a kebap. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
baba terliği. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
starbucks kahvesi ama kızgın ve canlı. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
geleneksel türk kıraathanesi. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
starbucks kahvesi ama kaslı ve kıravartı olan sinirli bir starbucks kahvesi. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
180 derece stabucks kahvesi . No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
kırmızı ok. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
okun ucu sola baksın ve hiçbirşey değişmesin
şimdi ok yine değişmesin sadece ucu sağa baksın
şiş in içine geçmiş bir şekilde play yazıcak ama domates biber ve etten yani gerçek kebab gibi ama harfler var. daha çizgifilmsel olacak mesela "p" et "l" biber "a" domates "y" et
"Kebab Runner" yaz ama 1 şiş kebab yazının üstünde duracak olacak yani oyunun
çaydanlık adam. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
buzlu bir americano ama stabucks kahvesi çevresi beyaz olsun içinde çok buz olsun No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat