User prompt
Make the loading bars in the game fill more smoothly. ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
In the record video panel, let players type in the video name themselves, move the random button next to the name input field, and increase the space between the listed UI elements in the record video panel.
User prompt
Make the record video panel even wider and increase the space between buttons, text, etc. that you have listed.
User prompt
Expand the record video panel more. List the record new video text, name text, random button, category selection, record video button one below the other with some space between them.
User prompt
Expand the record video panel a little more and remove the text "Ready to record a new video? This will take 3 hours." and please do not put other names, specify a random name, select a category and record video button next to each other, keep them separate and add spaces between them.
User prompt
in the record video panel, Below the title section, add a dropdown or list of video categories for the player to choose from.
User prompt
In the Record Video Panel, the player should be able to enter a custom title for the video. There should also be a "Random" button that generates a random video title.
User prompt
When the player clicks the "Record Video" button, instead of starting the video recording immediately, show a panel first.
User prompt
Make sure the loading bar fills properly, from left to right.
User prompt
Please fix the bug: 'updateEnergy is not defined' in or related to this line: 'updateEnergy();' Line Number: 595
User prompt
Please fix the bug: 'energyBar is not defined' in or related to this line: 'energyBar.y = 210;' Line Number: 411
User prompt
Please fix the bug: 'editBtn is not defined' in or related to this line: 'editBtn.action = function () {' Line Number: 279
User prompt
remove energy mechanics from the game and add time mechanics to the game every second will be equal to 1 hour in the game and the player will be able to stop and continue the time if they want and shooting a video will take 3 hours for the game, editing a video will take 5 hours for the game and promoting will take 2 hours for the game and while one of them is being done the other cannot be done and while any process is being done we will be able to watch that process with a loading bar. ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
make the buttons a little bigger and stack them one under the other and also put some space between some of the UI's. ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Make the positions of the ui more smooth and separate and design the shape of the ui buttons more modern.
User prompt
make the ui looks modern
User prompt
improve game
User prompt
improve game
User prompt
improve game
Code edit (1 edits merged)
Please save this source code
User prompt
Youtuber Tycoon: Fame Rush
Initial prompt
make a youtuber tycoon game
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ // Energy bar class var EnergyBar = Container.expand(function () { var self = Container.call(this); self.bg = self.attachAsset('energyBarBg', { anchorX: 0, anchorY: 0.5 }); self.fill = self.attachAsset('energyBarFill', { anchorX: 0, anchorY: 0.5 }); self.fill.x = 0; self.bg.x = 0; self.bg.y = 0; self.fill.y = 0; self.maxWidth = self.fill.width; self.set = function (ratio) { if (ratio < 0) ratio = 0; if (ratio > 1) ratio = 1; self.fill.width = self.maxWidth * ratio; }; return self; }); // Button class for all clickable actions var GameButton = Container.expand(function () { var self = Container.call(this); self.bg = null; self.label = null; self.action = null; self.enabled = true; self.setButton = function (assetId, labelText, color, width, height) { self.bg = self.attachAsset(assetId, { anchorX: 0.5, anchorY: 0.5 }); self.bg.width = width; self.bg.height = height; // Modern look: more pronounced rounded corners and soft drop shadow self.bg.cornerRadius = Math.min(width, height) * 0.28; self.bg.shadow = { color: 0x111111, blur: 36, offsetX: 0, offsetY: 16, alpha: 0.32 }; self.label = new Text2(labelText, { size: 80, fill: color, font: "'GillSans-Bold',Impact,'Arial Black',Tahoma", dropShadow: true, dropShadowColor: "#222", dropShadowBlur: 12, dropShadowDistance: 2 }); self.label.anchor.set(0.5, 0.5); self.addChild(self.label); }; self.setEnabled = function (val) { self.enabled = val; if (self.bg) { self.bg.alpha = val ? 1 : 0.4; } }; self.down = function (x, y, obj) { if (!self.enabled) return; if (typeof self.action === 'function') { self.action(); } }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ // --- Game State Variables --- // Studio background (simple box for now) // Video button // Edit button // Promote button // Upgrade button // Energy bar background // Energy bar fill // Subscriber icon // Money icon // Sound for making a video var subscribers = 0; var money = 0; var videoQuality = 1; // upgrades increase this var editSkill = 1; // upgrades increase this var promoteSkill = 1; // upgrades increase this var videoCount = 0; var upgradeCost = 20; var upgradeLevel = 1; // --- Time Mechanics --- var gameHour = 8; // Start at 8:00 var gameDay = 1; var isTimePaused = false; var timeTimer = null; var timeProcess = null; // {type: 'record'|'edit'|'promote', hoursLeft: int, onFinish: fn} // --- UI Elements --- var studioBg = LK.getAsset('studioBg', { anchorX: 0, anchorY: 0, x: 0, y: 0 }); game.addChild(studioBg); // --- Time Display --- var timeTxt = new Text2('Day 1, 08:00', { size: 80, fill: 0xFFFFFF }); timeTxt.anchor.set(0.5, 0.5); timeTxt.x = 2048 / 2; timeTxt.y = 180; game.addChild(timeTxt); // --- Pause/Resume Button --- var pauseBtn = new GameButton(); pauseBtn.setButton('editBtn', 'Pause', "#fff", 320, 120); pauseBtn.x = 2048 / 2 + 520; pauseBtn.y = 180; pauseBtn.action = function () { isTimePaused = !isTimePaused; pauseBtn.label.setText(isTimePaused ? "Resume" : "Pause"); }; game.addChild(pauseBtn); // Subscribers display var subIcon = LK.getAsset('subIcon', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2 - 520, y: 140 }); game.addChild(subIcon); var subTxt = new Text2('0', { size: 64, fill: 0xFFFFFF }); subTxt.anchor.set(0, 0.5); subTxt.x = subIcon.x + 70; subTxt.y = subIcon.y; game.addChild(subTxt); // Money display var moneyIcon = LK.getAsset('moneyIcon', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2 + 320, y: 140 }); game.addChild(moneyIcon); var moneyTxt = new Text2('$0', { size: 64, fill: 0xFFE066 }); moneyTxt.anchor.set(0, 0.5); moneyTxt.x = moneyIcon.x + 70; moneyTxt.y = moneyIcon.y; game.addChild(moneyTxt); // --- Action Buttons --- // Button layout: stack vertically, bigger, with spacing var btnW = 540; var btnH = 220; var btnSpacingY = 60; var btnStartY = 900; // Make Video Button var makeVideoBtn = new GameButton(); makeVideoBtn.setButton('videoBtn', 'Record Video', "#fff", btnW, btnH); makeVideoBtn.x = 2048 / 2; makeVideoBtn.y = btnStartY; // Edit Button var editBtn = new GameButton(); editBtn.setButton('editBtn', 'Edit Video', "#fff", btnW, btnH); editBtn.x = 2048 / 2; editBtn.y = makeVideoBtn.y + btnH + btnSpacingY; // Promote Button var promoteBtn = new GameButton(); promoteBtn.setButton('promoteBtn', 'Promote Video', "#fff", btnW, btnH); promoteBtn.x = 2048 / 2; promoteBtn.y = editBtn.y + btnH + btnSpacingY; // --- Loading Bar for Process --- var processBarBg = LK.getAsset('energyBarBg', { anchorX: 0.5, anchorY: 0.5 }); processBarBg.width = 600; processBarBg.height = 60; processBarBg.x = 2048 / 2; processBarBg.y = 600; processBarBg.visible = false; game.addChild(processBarBg); // AnchorX 0 for left-to-right fill var processBarFill = LK.getAsset('energyBarFill', { anchorX: 0, anchorY: 0.5 }); processBarFill.width = 600; processBarFill.height = 60; // Position left edge of fill to match left edge of bg processBarFill.x = processBarBg.x - processBarBg.width / 2; processBarFill.y = 600; processBarFill.visible = false; game.addChild(processBarFill); function showProcessBar(ratio) { processBarBg.visible = true; processBarFill.visible = true; if (ratio < 0) ratio = 0; if (ratio > 1) ratio = 1; processBarFill.width = 600 * ratio; } function hideProcessBar() { processBarBg.visible = false; processBarFill.visible = false; } // --- Action Button Logic (time-based) --- makeVideoBtn.action = function () { if (timeProcess) return; // Only one process at a time // Show a panel before starting the process var panelBg = LK.getAsset('energyBarBg', { anchorX: 0.5, anchorY: 0.5 }); panelBg.width = 800; panelBg.height = 500; panelBg.x = 2048 / 2; panelBg.y = 2732 / 2; panelBg.alpha = 0.98; var panelText = new Text2("Ready to record a new video?\nThis will take 3 hours.", { size: 70, fill: "#fff", font: "'GillSans-Bold',Impact,'Arial Black',Tahoma", dropShadow: true, dropShadowColor: "#222", dropShadowBlur: 12, dropShadowDistance: 2 }); panelText.anchor.set(0.5, 0.5); panelText.x = panelBg.x; panelText.y = panelBg.y - 80; var confirmBtn = new GameButton(); confirmBtn.setButton('videoBtn', 'Start Recording', "#fff", 420, 140); confirmBtn.x = panelBg.x; confirmBtn.y = panelBg.y + 80; confirmBtn.action = function () { // Remove panel panelBg.destroy(); panelText.destroy(); confirmBtn.destroy(); cancelBtn.destroy(); // Start the process timeProcess = { type: 'record', hoursLeft: 3, total: 3, onFinish: function onFinish() { LK.getSound('makeVideo').play(); var baseSubs = 10 + Math.floor(Math.random() * 5) * videoQuality; var baseMoney = 5 + Math.floor(Math.random() * 3) * videoQuality; subscribers += baseSubs; money += baseMoney; videoCount += 1; updateStats(); // Animate button tween(makeVideoBtn, { scaleX: 1.1, scaleY: 1.1 }, { duration: 80, onFinish: function onFinish() { tween(makeVideoBtn, { scaleX: 1, scaleY: 1 }, { duration: 80 }); } }); if (subscribers >= 1000) { LK.showYouWin(); } } }; showProcessBar(0); }; var cancelBtn = new GameButton(); cancelBtn.setButton('editBtn', 'Cancel', "#fff", 320, 120); cancelBtn.x = panelBg.x; cancelBtn.y = panelBg.y + 240; cancelBtn.action = function () { panelBg.destroy(); panelText.destroy(); confirmBtn.destroy(); cancelBtn.destroy(); }; game.addChild(panelBg); game.addChild(panelText); game.addChild(confirmBtn); game.addChild(cancelBtn); }; editBtn.action = function () { if (timeProcess) return; if (videoCount < 1) return; timeProcess = { type: 'edit', hoursLeft: 5, total: 5, onFinish: function onFinish() { LK.getSound('editVideo').play(); var editBonus = 5 + Math.floor(Math.random() * 5) * editSkill; subscribers += editBonus; money += 2 * editSkill; updateStats(); // Animate button tween(editBtn, { scaleX: 1.1, scaleY: 1.1 }, { duration: 80, onFinish: function onFinish() { tween(editBtn, { scaleX: 1, scaleY: 1 }, { duration: 80 }); } }); if (subscribers >= 1000) { LK.showYouWin(); } } }; showProcessBar(0); }; promoteBtn.action = function () { if (timeProcess) return; if (money < 5) return; money -= 5; updateStats(); timeProcess = { type: 'promote', hoursLeft: 2, total: 2, onFinish: function onFinish() { LK.getSound('promoteVideo').play(); var promoSubs = 15 + Math.floor(Math.random() * 10) * promoteSkill; subscribers += promoSubs; updateStats(); // Animate button tween(promoteBtn, { scaleX: 1.1, scaleY: 1.1 }, { duration: 80, onFinish: function onFinish() { tween(promoteBtn, { scaleX: 1, scaleY: 1 }, { duration: 80 }); } }); if (subscribers >= 1000) { LK.showYouWin(); } } }; showProcessBar(0); }; // Upgrade Button (slightly wider, shorter, and spaced further) var upgradeBtn = new GameButton(); upgradeBtn.setButton('upgradeBtn', 'Upgrade Studio', "#222", btnW, 140); upgradeBtn.x = 2048 / 2; upgradeBtn.y = promoteBtn.y + btnH + btnSpacingY + 40; upgradeBtn.action = function () { if (money < upgradeCost) return; money -= upgradeCost; upgradeLevel += 1; videoQuality += 1; editSkill += 1; promoteSkill += 1; LK.getSound('upgrade').play(); upgradeCost = Math.floor(upgradeCost * 1.7); updateStats(); // Animate button tween(upgradeBtn, { scaleX: 1.1, scaleY: 1.1 }, { duration: 80, onFinish: function onFinish() { tween(upgradeBtn, { scaleX: 1, scaleY: 1 }, { duration: 80 }); } }); }; // Add buttons to game game.addChild(makeVideoBtn); game.addChild(editBtn); game.addChild(promoteBtn); game.addChild(upgradeBtn); // Add extra vertical space between money/sub displays and buttons subIcon.y = 110; subTxt.y = subIcon.y; moneyIcon.y = 110; moneyTxt.y = moneyIcon.y; // Removed undefined energyBar and energyTxt // --- GUI: Timer/Score (use subscribers as score) --- var scoreTxt = new Text2('0', { size: 120, fill: "#fff" }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); // --- Helper Functions --- function updateStats() { subTxt.setText(subscribers); moneyTxt.setText('$' + money); scoreTxt.setText(subscribers); upgradeBtn.label.setText('Upgrade Studio\n($' + upgradeCost + ')'); // Enable/disable buttons based on process and resources makeVideoBtn.setEnabled(!timeProcess); editBtn.setEnabled(!timeProcess && videoCount > 0); promoteBtn.setEnabled(!timeProcess && money >= 5); upgradeBtn.setEnabled(money >= upgradeCost); // --- Achievements --- if (!updateStats.milestones) updateStats.milestones = {}; var milestones = [100, 250, 500, 750, 1000]; for (var i = 0; i < milestones.length; i++) { var m = milestones[i]; if (subscribers >= m && !updateStats.milestones[m]) { updateStats.milestones[m] = true; var ach = new Text2("Milestone: " + m + " Subs!", { size: 110, fill: "#ff0", stroke: "#000", strokeThickness: 12, font: "'GillSans-Bold',Impact,'Arial Black',Tahoma", dropShadow: true, dropShadowColor: "#222", dropShadowBlur: 12, dropShadowDistance: 4 }); ach.anchor.set(0.5, 0.5); ach.x = 2048 / 2; ach.y = 400 + i * 80; game.addChild(ach); tween(ach, { alpha: 0, y: ach.y - 100 }, { duration: 1800, onFinish: function onFinish() { ach.destroy(); } }); } } } // --- Time Update --- function updateTimeDisplay() { var h = gameHour; var hStr = (h < 10 ? "0" : "") + h + ":00"; timeTxt.setText("Day " + gameDay + ", " + hStr); } // --- Process Update --- function updateProcessBar() { if (timeProcess) { var ratio = 1 - timeProcess.hoursLeft / timeProcess.total; showProcessBar(ratio); } else { hideProcessBar(); } } // --- Time Timer --- if (timeTimer) LK.clearInterval(timeTimer); timeTimer = LK.setInterval(function () { if (isTimePaused) return; // Advance time gameHour += 1; if (gameHour >= 24) { gameHour = 0; gameDay += 1; } updateTimeDisplay(); // Process logic if (timeProcess) { timeProcess.hoursLeft -= 1; updateProcessBar(); if (timeProcess.hoursLeft <= 0) { var finish = timeProcess.onFinish; timeProcess = null; updateProcessBar(); updateStats(); if (typeof finish === "function") finish(); } } updateStats(); }, 1000); // --- Random Event Timer --- var eventTimer = LK.setInterval(function () { // Pick a random event: 0 = trend, 1 = sponsorship, 2 = copyright strike, 3 = viral short (rare) var eventType; // 10% chance for viral short, else normal events if (Math.random() < 0.1) { eventType = 3; } else { eventType = Math.floor(Math.random() * 3); } var eventMsg = ""; if (eventType === 0) { // Trend: bonus subs and money var trendSubs = 50 + Math.floor(Math.random() * 50); var trendMoney = 20 + Math.floor(Math.random() * 20); subscribers += trendSubs; money += trendMoney; updateStats(); eventMsg = "Trending Topic! +" + trendSubs + " subs, +$" + trendMoney; } else if (eventType === 1) { // Sponsorship: big money var sponsorMoney = 60 + Math.floor(Math.random() * 40); money += sponsorMoney; updateStats(); eventMsg = "Sponsorship! +$" + sponsorMoney; } else if (eventType === 2) { // Copyright strike: lose subs, lose money var strikeSubs = 30 + Math.floor(Math.random() * 30); var strikeMoney = 10 + Math.floor(Math.random() * 10); subscribers = Math.max(0, subscribers - strikeSubs); money = Math.max(0, money - strikeMoney); updateStats(); eventMsg = "Copyright Strike! -" + strikeSubs + " subs, -$" + strikeMoney; } else if (eventType === 3) { // Viral Short: huge sub and money boost var viralSubs = 200 + Math.floor(Math.random() * 200); var viralMoney = 100 + Math.floor(Math.random() * 100); subscribers += viralSubs; money += viralMoney; updateStats(); eventMsg = "Viral Short! +" + viralSubs + " subs, +$" + viralMoney; } // Show popup in the center of the screen var popup = new Text2(eventMsg, { size: 100, fill: "#fff", stroke: "#000", strokeThickness: 12, font: "'GillSans-Bold',Impact,'Arial Black',Tahoma", dropShadow: true, dropShadowColor: "#222", dropShadowBlur: 12, dropShadowDistance: 4 }); popup.anchor.set(0.5, 0.5); popup.x = 2048 / 2; popup.y = 2732 / 2; game.addChild(popup); tween(popup, { alpha: 0, y: popup.y - 120 }, { duration: 1800, onFinish: function onFinish() { popup.destroy(); } }); }, 20000); // --- Game Update Loop --- game.update = function () { // Nothing needed for now, all logic is event/click based }; // --- Touch/Drag Handling (no drag needed, but block top left 100x100) --- game.down = function (x, y, obj) { // Prevent accidental clicks in top left if (x < 100 && y < 100) return; }; game.move = function (x, y, obj) {}; game.up = function (x, y, obj) {}; // --- Initialize UI --- updateStats(); // --- Daily Bonus at game start --- (function showDailyBonus() { var bonusType = Math.floor(Math.random() * 2); var bonusMsg = ""; if (bonusType === 0) { // Bonus subs var bonusSubs = 50 + Math.floor(Math.random() * 50); subscribers += bonusSubs; updateStats(); bonusMsg = "Daily Bonus: +" + bonusSubs + " subs!"; } else { // Bonus money var bonusMoney = 30 + Math.floor(Math.random() * 30); money += bonusMoney; updateStats(); bonusMsg = "Daily Bonus: +$" + bonusMoney + "!"; } var popup = new Text2(bonusMsg, { size: 110, fill: "#0ff", stroke: "#000", strokeThickness: 12, font: "'GillSans-Bold',Impact,'Arial Black',Tahoma", dropShadow: true, dropShadowColor: "#222", dropShadowBlur: 12, dropShadowDistance: 4 }); popup.anchor.set(0.5, 0.5); popup.x = 2048 / 2; popup.y = 2732 / 2 - 200; game.addChild(popup); tween(popup, { alpha: 0, y: popup.y - 120 }, { duration: 2000, onFinish: function onFinish() { popup.destroy(); } }); })(); ;
===================================================================
--- original.js
+++ change.js
@@ -88,19 +88,19 @@
/****
* Game Code
****/
-// Sound for making a video
-// Money icon
-// Subscriber icon
-// Energy bar fill
-// Energy bar background
-// Upgrade button
-// Promote button
-// Edit button
-// Video button
-// Studio background (simple box for now)
// --- Game State Variables ---
+// Studio background (simple box for now)
+// Video button
+// Edit button
+// Promote button
+// Upgrade button
+// Energy bar background
+// Energy bar fill
+// Subscriber icon
+// Money icon
+// Sound for making a video
var subscribers = 0;
var money = 0;
var videoQuality = 1; // upgrades increase this
var editSkill = 1; // upgrades increase this
@@ -230,41 +230,89 @@
}
// --- Action Button Logic (time-based) ---
makeVideoBtn.action = function () {
if (timeProcess) return; // Only one process at a time
- timeProcess = {
- type: 'record',
- hoursLeft: 3,
- total: 3,
- onFinish: function onFinish() {
- LK.getSound('makeVideo').play();
- var baseSubs = 10 + Math.floor(Math.random() * 5) * videoQuality;
- var baseMoney = 5 + Math.floor(Math.random() * 3) * videoQuality;
- subscribers += baseSubs;
- money += baseMoney;
- videoCount += 1;
- updateStats();
- // Animate button
- tween(makeVideoBtn, {
- scaleX: 1.1,
- scaleY: 1.1
- }, {
- duration: 80,
- onFinish: function onFinish() {
- tween(makeVideoBtn, {
- scaleX: 1,
- scaleY: 1
- }, {
- duration: 80
- });
+ // Show a panel before starting the process
+ var panelBg = LK.getAsset('energyBarBg', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ panelBg.width = 800;
+ panelBg.height = 500;
+ panelBg.x = 2048 / 2;
+ panelBg.y = 2732 / 2;
+ panelBg.alpha = 0.98;
+ var panelText = new Text2("Ready to record a new video?\nThis will take 3 hours.", {
+ size: 70,
+ fill: "#fff",
+ font: "'GillSans-Bold',Impact,'Arial Black',Tahoma",
+ dropShadow: true,
+ dropShadowColor: "#222",
+ dropShadowBlur: 12,
+ dropShadowDistance: 2
+ });
+ panelText.anchor.set(0.5, 0.5);
+ panelText.x = panelBg.x;
+ panelText.y = panelBg.y - 80;
+ var confirmBtn = new GameButton();
+ confirmBtn.setButton('videoBtn', 'Start Recording', "#fff", 420, 140);
+ confirmBtn.x = panelBg.x;
+ confirmBtn.y = panelBg.y + 80;
+ confirmBtn.action = function () {
+ // Remove panel
+ panelBg.destroy();
+ panelText.destroy();
+ confirmBtn.destroy();
+ cancelBtn.destroy();
+ // Start the process
+ timeProcess = {
+ type: 'record',
+ hoursLeft: 3,
+ total: 3,
+ onFinish: function onFinish() {
+ LK.getSound('makeVideo').play();
+ var baseSubs = 10 + Math.floor(Math.random() * 5) * videoQuality;
+ var baseMoney = 5 + Math.floor(Math.random() * 3) * videoQuality;
+ subscribers += baseSubs;
+ money += baseMoney;
+ videoCount += 1;
+ updateStats();
+ // Animate button
+ tween(makeVideoBtn, {
+ scaleX: 1.1,
+ scaleY: 1.1
+ }, {
+ duration: 80,
+ onFinish: function onFinish() {
+ tween(makeVideoBtn, {
+ scaleX: 1,
+ scaleY: 1
+ }, {
+ duration: 80
+ });
+ }
+ });
+ if (subscribers >= 1000) {
+ LK.showYouWin();
}
- });
- if (subscribers >= 1000) {
- LK.showYouWin();
}
- }
+ };
+ showProcessBar(0);
};
- showProcessBar(0);
+ var cancelBtn = new GameButton();
+ cancelBtn.setButton('editBtn', 'Cancel', "#fff", 320, 120);
+ cancelBtn.x = panelBg.x;
+ cancelBtn.y = panelBg.y + 240;
+ cancelBtn.action = function () {
+ panelBg.destroy();
+ panelText.destroy();
+ confirmBtn.destroy();
+ cancelBtn.destroy();
+ };
+ game.addChild(panelBg);
+ game.addChild(panelText);
+ game.addChild(confirmBtn);
+ game.addChild(cancelBtn);
};
editBtn.action = function () {
if (timeProcess) return;
if (videoCount < 1) return;
subscriber icon 2d. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
money icon 2d. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
solid grey colour background for panel. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
viewers icon for a mobile game. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
make bigger this monitor
please to this white color
white play button solid white color. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
double speed icon for mobile games. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat. no text. only white color.
2d phone for mobile games. modern phone. looks good but phone is one color, phone's screen one color. Let it be completely 2-dimensional and not look like 3-dimensional. There should be a mute button and small volume up and down and hang up buttons on the sides of the phone.. In-Game asset. 2d. High contrast. No shadows - Fill the entire screen with a light gray color. - The outer cover color of the phone should be dark gray.
youtube button logo. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
white background rounded corners. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat white color. all white color no border.
playstore logo. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
editing application logo. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
çöp kutusu logosu fakat kırmızı arka planlı (çöp kutusu logosu beyaz renkte olacak). In-Game asset. 2d. High contrast. No shadows
kırmızıya boya
beyaza boya
maviye boya
istatistik logosu. In-Game asset. 2d. High contrast. No shadows
reklam logosu herhangi bir yazı olmasın. In-Game asset. 2d. High contrast. No shadows
record video logo with not text. In-Game asset. 2d. High contrast. No shadows
finans logosu. In-Game asset. 2d. High contrast. No shadows
youtube studio logo with no text only logo. In-Game asset. 2d. High contrast. No shadows
create youtube channel avatar cartoon 2d. In-Game asset. 2d. High contrast. No shadows
youtube channel logo. In-Game asset. 2d. High contrast. No shadows
"rastgele" ikonu, beyaz renginde olacak.. In-Game asset. 2d. High contrast. No shadows
youtube thumbnail for vlog. 2d. High contrast. No shadows
kilit ikonu beyaz. In-Game asset. 2d. High contrast. No shadows