User prompt
Made the game end score 10k
User prompt
Make the notes blur to but a bit shouldnt be much
User prompt
Fix Note trail1 I just accidentally clicked it and turned it into a purple note image, you turn it back into a solid orange line
User prompt
Make trails more blurr
User prompt
Make the trails match their colours
User prompt
Make 5 diffrent trails as they have same colours as the notes
User prompt
Make the trails like the notes colors they should be same
User prompt
Just add 5 more note asset and delete tye color randomizer
User prompt
No no make them giving bonus point but no effects
User prompt
Delete the (fast note effect)
User prompt
Delete the red put pink istead
User prompt
Tamam ilte sadece saydığım renkler olsun
User prompt
Make trails more thicker and taller (and rainbow)
User prompt
Now made the trails longer and a bit blured and more colorful
User prompt
Delete the blur just make a single Straight Line f
User prompt
No u need to small them a bir
User prompt
There is no trail efrect made it more visual and bigger
User prompt
Make trail longrr
User prompt
Make the notes more colorful
User prompt
Add a trail to the moving notes
User prompt
Devam et
User prompt
Devam et
User prompt
Animate it more like add a star effect
User prompt
Arka plana birşey ekleyelim
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ var HitEffect = Container.expand(function () { var self = Container.call(this); var effectGraphics = self.attachAsset('perfectHit', { anchorX: 0.5, anchorY: 0.5 }); self.init = function (x, y) { self.x = x; self.y = y; effectGraphics.alpha = 1; effectGraphics.scale.x = 0.5; effectGraphics.scale.y = 0.5; tween(effectGraphics.scale, { x: 1.5, y: 1.5 }, { duration: 300, easing: tween.easeOut }); tween(effectGraphics, { alpha: 0 }, { duration: 300, onFinish: function onFinish() { self.destroy(); } }); }; return self; }); var MusicNote = Container.expand(function () { var self = Container.call(this); var noteGraphics = self.attachAsset('musicNote', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 8; self.lane = 0; self.isPerfect = false; self.lastY = 0; self.init = function (laneIndex) { self.lane = laneIndex; self.x = 256 + laneIndex * 512; self.y = -100; self.lastY = self.y; // Random color for each note var colors = [0xff1493, 0x00ff00, 0xffff00, 0xff4500]; noteGraphics.tint = colors[Math.floor(Math.random() * colors.length)]; }; self.update = function () { self.lastY = self.y; self.y += self.speed; }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ game.setBackgroundColor(0x1a1a2e); // Animated background color effect var bgColorBase = [26, 26, 46]; // 0x1a1a2e var bgColorPulse = [40, 40, 80]; var bgColorTick = 0; var bgColorNode = null; // Create a full screen rectangle as background bgColorNode = game.addChild(LK.getAsset('hitZone', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: 1366, alpha: 0.18 })); bgColorNode.width = 2048; bgColorNode.height = 2732; bgColorNode.zIndex = -1000; // Ensure it's always at the back var notes = []; var score = 0; var combo = 0; var maxCombo = 0; var hitZoneY = 2200; var noteSpawnTimer = 0; var gameStarted = false; // Fever mode variables var feverActive = false; var feverGauge = 0; var feverGaugeMax = 1000; var feverTimer = 0; var feverBar = null; var feverBarBg = null; // Create hit zone var hitZone = game.addChild(LK.getAsset('hitZone', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: hitZoneY, alpha: 0.3 })); // Score display var scoreTxt = new Text2('Score: 0', { size: 80, fill: 0xFFFFFF }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); // Combo display var comboTxt = new Text2('Combo: 0', { size: 60, fill: 0xFFFF00 }); comboTxt.anchor.set(0.5, 0); comboTxt.y = 100; LK.gui.top.addChild(comboTxt); // Instructions var instructionTxt = new Text2('Tap the notes when they reach the blue zone!', { size: 50, fill: 0xFFFFFF }); instructionTxt.anchor.set(0.5, 0.5); LK.gui.center.addChild(instructionTxt); // Fever Bar UI feverBarBg = new Text2('', { size: 1, fill: 0x000000 }); feverBarBg.width = 600; feverBarBg.height = 40; feverBarBg.x = 1024 - 300; feverBarBg.y = 180; feverBarBg.alpha = 0.4; LK.gui.top.addChild(feverBarBg); feverBar = new Text2('', { size: 1, fill: 0xffd700 }); feverBar.width = 0; feverBar.height = 40; feverBar.x = 1024 - 300; feverBar.y = 180; feverBar.alpha = 0.8; LK.gui.top.addChild(feverBar); var feverTxt = new Text2('FEVER', { size: 40, fill: 0xffd700 }); feverTxt.anchor.set(0.5, 0.5); feverTxt.x = 1024; feverTxt.y = 200; LK.gui.top.addChild(feverTxt); // Start game after 2 seconds LK.setTimeout(function () { instructionTxt.visible = false; gameStarted = true; LK.playMusic('gameMusic'); }, 2000); // Touch handler game.down = function (x, y, obj) { if (!gameStarted) { return; } // Determine which lane was tapped var lane = Math.floor(x / 512); if (lane > 3) { lane = 3; } // Check for hit var hitNote = false; for (var i = notes.length - 1; i >= 0; i--) { var note = notes[i]; if (note.lane === lane && Math.abs(note.y - hitZoneY) < 180) { // Hit! hitNote = true; // Hit zone pulse VFX tween(hitZone.scale, { x: 1.15, y: 1.15 }, { duration: 60, onFinish: function onFinish() { tween(hitZone.scale, { x: 1, y: 1 }, { duration: 80 }); } }); var baseScore = 100; combo++; if (combo > maxCombo) { maxCombo = combo; } // Perfect hit bonus if (Math.abs(note.y - hitZoneY) < 30) { baseScore += 50; var effect = game.addChild(new HitEffect()); effect.init(note.x, note.y); // Increase fever gauge on perfect feverGauge += 120; if (feverGauge > feverGaugeMax) { feverGauge = feverGaugeMax; } } else { feverGauge += 40; if (feverGauge > feverGaugeMax) { feverGauge = feverGaugeMax; } } // Bonus note if (note.isBonus) { baseScore += 100; // Visual feedback for bonus note LK.effects.flashObject(note, 0x00ff00, 200); } // Long note if (note.isLong && Math.abs(note.y - hitZoneY) < 30) { baseScore += 100; // Visual feedback for long note perfect hit LK.effects.flashObject(note, 0x00ffff, 200); } // Fever mode bonus if (feverActive) { baseScore *= 2; } score += baseScore; LK.getSound('hitSound').play(); // Flash the note before destroying LK.effects.flashObject(note, 0xffffff, 200); LK.setTimeout(function () { note.destroy(); }, 200); notes.splice(i, 1); break; } } if (!hitNote) { // Miss! combo = 0; LK.getSound('missSound').play(); LK.effects.flashScreen(0xff0000, 200); // Combo break feedback LK.effects.flashScreen(0x000000, 100); } // Update UI scoreTxt.setText('Score: ' + score); comboTxt.setText('Combo: ' + combo); // Combo text pop VFX tween(comboTxt.scale, { x: 1.3, y: 1.3 }, { duration: 80, onFinish: function onFinish() { tween(comboTxt.scale, { x: 1, y: 1 }, { duration: 100 }); } }); // Win condition if (score >= 5000) { feverActive = false; feverGauge = 0; feverTimer = 0; feverBar.width = 0; hitZone.alpha = 0.3; LK.showYouWin(); } // Side brightness effect when near end if (score >= 4000 && score < 5000) { // Pretend to increase the brightness by flashing the screen with a white overlay, pulsing var brightness = 0.18 + 0.12 * Math.abs(Math.sin(LK.ticks / 10)); LK.effects.flashScreen(0xffffff, 60, brightness); } }; // Game update loop game.update = function () { if (!gameStarted) { return; } // Animate background color bgColorTick++; var t = 0.5 + 0.5 * Math.sin(bgColorTick / 60); var r = Math.floor(bgColorBase[0] * (1 - t) + bgColorPulse[0] * t); var g = Math.floor(bgColorBase[1] * (1 - t) + bgColorPulse[1] * t); var b = Math.floor(bgColorBase[2] * (1 - t) + bgColorPulse[2] * t); var bgColor = r << 16 | g << 8 | b; if (bgColorNode) { bgColorNode.tint = bgColor; } // Spawn notes noteSpawnTimer++; if (noteSpawnTimer > 45) { noteSpawnTimer = 0; var laneIdx = Math.floor(Math.random() * 4); var note = game.addChild(new MusicNote()); note.init(laneIdx); // Note spawn VFX: pop-in scale and alpha animation if (note.children && note.children.length > 0 && note.children[0]) { var g = note.children[0]; g.scale.x = 0.2; g.scale.y = 0.2; g.alpha = 0.2; tween(g.scale, { x: 1, y: 1 }, { duration: 200, easing: tween.easeOut }); tween(g, { alpha: 1 }, { duration: 200 }); } // 10% chance to spawn a bonus note (worth more points) if (Math.random() < 0.1) { note.isBonus = true; note.attachAsset('perfectHit', { anchorX: 0.5, anchorY: 0.5, x: 0, y: 0, alpha: 0.3 }); note.speed = 10; } // 10% chance to spawn a long note (slower, worth more if hit perfectly) if (Math.random() < 0.1) { note.isLong = true; note.speed = 4; } notes.push(note); } // Check for missed notes for (var i = notes.length - 1; i >= 0; i--) { var note = notes[i]; // Check if note passed the hit zone if (note.lastY <= hitZoneY + 180 && note.y > hitZoneY + 180) { // Missed! combo = 0; LK.getSound('missSound').play(); comboTxt.setText('Combo: ' + combo); // Visual feedback for miss LK.effects.flashObject(note, 0xff0000, 200); } // Remove notes that are off screen if (note.y > 2832) { note.destroy(); notes.splice(i, 1); } } // Fever mode logic if (feverActive) { feverTimer--; feverGauge -= 2; if (feverGauge < 0) { feverGauge = 0; } // Add a pulsing effect to the hit zone during fever hitZone.alpha = 0.5 + 0.2 * Math.sin(LK.ticks / 5); // Rainbow color cycling for all notes during fever for (var n = 0; n < notes.length; n++) { var noteObj = notes[n]; // Cycle hue based on time and note index for variety var hue = (LK.ticks * 4 + n * 40) % 360 / 360; // Convert hue to RGB (simple HSV to RGB) var i = Math.floor(hue * 6); var f = hue * 6 - i; var q = 1 - f; var r, g, b; switch (i % 6) { case 0: r = 1; g = f; b = 0; break; case 1: r = q; g = 1; b = 0; break; case 2: r = 0; g = 1; b = f; break; case 3: r = 0; g = q; b = 1; break; case 4: r = f; g = 0; b = 1; break; case 5: r = 1; g = 0; b = q; break; } var rgb = Math.floor(r * 255) << 16 | Math.floor(g * 255) << 8 | Math.floor(b * 255); // Set tint for the note's main graphics if (noteObj.children && noteObj.children.length > 0 && noteObj.children[0]) { noteObj.children[0].tint = rgb; } } if (feverTimer <= 0 || feverGauge <= 0) { feverActive = false; feverTimer = 0; hitZone.alpha = 0.3; // End fever visual LK.effects.flashScreen(0x1a1a2e, 400); } } else if (feverGauge >= feverGaugeMax) { feverActive = true; feverTimer = 360; // 6 seconds at 60fps // Fever visual LK.effects.flashScreen(0xffd700, 400); hitZone.alpha = 0.7; // Visual feedback: all notes flash gold for (var f = 0; f < notes.length; f++) { LK.effects.flashObject(notes[f], 0xffd700, 300); } } // Update fever bar UI feverBar.width = Math.floor(feverGauge / feverGaugeMax * 600); // Fever bar glow VFX if (feverActive) { feverBar.alpha = 0.8 + 0.2 * Math.abs(Math.sin(LK.ticks / 4)); } else { feverBar.alpha = 0.8; } // Game over if too many misses if (notes.length > 10) { feverActive = false; feverGauge = 0; feverTimer = 0; feverBar.width = 0; hitZone.alpha = 0.3; LK.showGameOver(); } };
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
/****
* Classes
****/
var HitEffect = Container.expand(function () {
var self = Container.call(this);
var effectGraphics = self.attachAsset('perfectHit', {
anchorX: 0.5,
anchorY: 0.5
});
self.init = function (x, y) {
self.x = x;
self.y = y;
effectGraphics.alpha = 1;
effectGraphics.scale.x = 0.5;
effectGraphics.scale.y = 0.5;
tween(effectGraphics.scale, {
x: 1.5,
y: 1.5
}, {
duration: 300,
easing: tween.easeOut
});
tween(effectGraphics, {
alpha: 0
}, {
duration: 300,
onFinish: function onFinish() {
self.destroy();
}
});
};
return self;
});
var MusicNote = Container.expand(function () {
var self = Container.call(this);
var noteGraphics = self.attachAsset('musicNote', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 8;
self.lane = 0;
self.isPerfect = false;
self.lastY = 0;
self.init = function (laneIndex) {
self.lane = laneIndex;
self.x = 256 + laneIndex * 512;
self.y = -100;
self.lastY = self.y;
// Random color for each note
var colors = [0xff1493, 0x00ff00, 0xffff00, 0xff4500];
noteGraphics.tint = colors[Math.floor(Math.random() * colors.length)];
};
self.update = function () {
self.lastY = self.y;
self.y += self.speed;
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000
});
/****
* Game Code
****/
game.setBackgroundColor(0x1a1a2e);
// Animated background color effect
var bgColorBase = [26, 26, 46]; // 0x1a1a2e
var bgColorPulse = [40, 40, 80];
var bgColorTick = 0;
var bgColorNode = null;
// Create a full screen rectangle as background
bgColorNode = game.addChild(LK.getAsset('hitZone', {
anchorX: 0.5,
anchorY: 0.5,
x: 1024,
y: 1366,
alpha: 0.18
}));
bgColorNode.width = 2048;
bgColorNode.height = 2732;
bgColorNode.zIndex = -1000; // Ensure it's always at the back
var notes = [];
var score = 0;
var combo = 0;
var maxCombo = 0;
var hitZoneY = 2200;
var noteSpawnTimer = 0;
var gameStarted = false;
// Fever mode variables
var feverActive = false;
var feverGauge = 0;
var feverGaugeMax = 1000;
var feverTimer = 0;
var feverBar = null;
var feverBarBg = null;
// Create hit zone
var hitZone = game.addChild(LK.getAsset('hitZone', {
anchorX: 0.5,
anchorY: 0.5,
x: 1024,
y: hitZoneY,
alpha: 0.3
}));
// Score display
var scoreTxt = new Text2('Score: 0', {
size: 80,
fill: 0xFFFFFF
});
scoreTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreTxt);
// Combo display
var comboTxt = new Text2('Combo: 0', {
size: 60,
fill: 0xFFFF00
});
comboTxt.anchor.set(0.5, 0);
comboTxt.y = 100;
LK.gui.top.addChild(comboTxt);
// Instructions
var instructionTxt = new Text2('Tap the notes when they reach the blue zone!', {
size: 50,
fill: 0xFFFFFF
});
instructionTxt.anchor.set(0.5, 0.5);
LK.gui.center.addChild(instructionTxt);
// Fever Bar UI
feverBarBg = new Text2('', {
size: 1,
fill: 0x000000
});
feverBarBg.width = 600;
feverBarBg.height = 40;
feverBarBg.x = 1024 - 300;
feverBarBg.y = 180;
feverBarBg.alpha = 0.4;
LK.gui.top.addChild(feverBarBg);
feverBar = new Text2('', {
size: 1,
fill: 0xffd700
});
feverBar.width = 0;
feverBar.height = 40;
feverBar.x = 1024 - 300;
feverBar.y = 180;
feverBar.alpha = 0.8;
LK.gui.top.addChild(feverBar);
var feverTxt = new Text2('FEVER', {
size: 40,
fill: 0xffd700
});
feverTxt.anchor.set(0.5, 0.5);
feverTxt.x = 1024;
feverTxt.y = 200;
LK.gui.top.addChild(feverTxt);
// Start game after 2 seconds
LK.setTimeout(function () {
instructionTxt.visible = false;
gameStarted = true;
LK.playMusic('gameMusic');
}, 2000);
// Touch handler
game.down = function (x, y, obj) {
if (!gameStarted) {
return;
}
// Determine which lane was tapped
var lane = Math.floor(x / 512);
if (lane > 3) {
lane = 3;
}
// Check for hit
var hitNote = false;
for (var i = notes.length - 1; i >= 0; i--) {
var note = notes[i];
if (note.lane === lane && Math.abs(note.y - hitZoneY) < 180) {
// Hit!
hitNote = true;
// Hit zone pulse VFX
tween(hitZone.scale, {
x: 1.15,
y: 1.15
}, {
duration: 60,
onFinish: function onFinish() {
tween(hitZone.scale, {
x: 1,
y: 1
}, {
duration: 80
});
}
});
var baseScore = 100;
combo++;
if (combo > maxCombo) {
maxCombo = combo;
}
// Perfect hit bonus
if (Math.abs(note.y - hitZoneY) < 30) {
baseScore += 50;
var effect = game.addChild(new HitEffect());
effect.init(note.x, note.y);
// Increase fever gauge on perfect
feverGauge += 120;
if (feverGauge > feverGaugeMax) {
feverGauge = feverGaugeMax;
}
} else {
feverGauge += 40;
if (feverGauge > feverGaugeMax) {
feverGauge = feverGaugeMax;
}
}
// Bonus note
if (note.isBonus) {
baseScore += 100;
// Visual feedback for bonus note
LK.effects.flashObject(note, 0x00ff00, 200);
}
// Long note
if (note.isLong && Math.abs(note.y - hitZoneY) < 30) {
baseScore += 100;
// Visual feedback for long note perfect hit
LK.effects.flashObject(note, 0x00ffff, 200);
}
// Fever mode bonus
if (feverActive) {
baseScore *= 2;
}
score += baseScore;
LK.getSound('hitSound').play();
// Flash the note before destroying
LK.effects.flashObject(note, 0xffffff, 200);
LK.setTimeout(function () {
note.destroy();
}, 200);
notes.splice(i, 1);
break;
}
}
if (!hitNote) {
// Miss!
combo = 0;
LK.getSound('missSound').play();
LK.effects.flashScreen(0xff0000, 200);
// Combo break feedback
LK.effects.flashScreen(0x000000, 100);
}
// Update UI
scoreTxt.setText('Score: ' + score);
comboTxt.setText('Combo: ' + combo);
// Combo text pop VFX
tween(comboTxt.scale, {
x: 1.3,
y: 1.3
}, {
duration: 80,
onFinish: function onFinish() {
tween(comboTxt.scale, {
x: 1,
y: 1
}, {
duration: 100
});
}
});
// Win condition
if (score >= 5000) {
feverActive = false;
feverGauge = 0;
feverTimer = 0;
feverBar.width = 0;
hitZone.alpha = 0.3;
LK.showYouWin();
}
// Side brightness effect when near end
if (score >= 4000 && score < 5000) {
// Pretend to increase the brightness by flashing the screen with a white overlay, pulsing
var brightness = 0.18 + 0.12 * Math.abs(Math.sin(LK.ticks / 10));
LK.effects.flashScreen(0xffffff, 60, brightness);
}
};
// Game update loop
game.update = function () {
if (!gameStarted) {
return;
}
// Animate background color
bgColorTick++;
var t = 0.5 + 0.5 * Math.sin(bgColorTick / 60);
var r = Math.floor(bgColorBase[0] * (1 - t) + bgColorPulse[0] * t);
var g = Math.floor(bgColorBase[1] * (1 - t) + bgColorPulse[1] * t);
var b = Math.floor(bgColorBase[2] * (1 - t) + bgColorPulse[2] * t);
var bgColor = r << 16 | g << 8 | b;
if (bgColorNode) {
bgColorNode.tint = bgColor;
}
// Spawn notes
noteSpawnTimer++;
if (noteSpawnTimer > 45) {
noteSpawnTimer = 0;
var laneIdx = Math.floor(Math.random() * 4);
var note = game.addChild(new MusicNote());
note.init(laneIdx);
// Note spawn VFX: pop-in scale and alpha animation
if (note.children && note.children.length > 0 && note.children[0]) {
var g = note.children[0];
g.scale.x = 0.2;
g.scale.y = 0.2;
g.alpha = 0.2;
tween(g.scale, {
x: 1,
y: 1
}, {
duration: 200,
easing: tween.easeOut
});
tween(g, {
alpha: 1
}, {
duration: 200
});
}
// 10% chance to spawn a bonus note (worth more points)
if (Math.random() < 0.1) {
note.isBonus = true;
note.attachAsset('perfectHit', {
anchorX: 0.5,
anchorY: 0.5,
x: 0,
y: 0,
alpha: 0.3
});
note.speed = 10;
}
// 10% chance to spawn a long note (slower, worth more if hit perfectly)
if (Math.random() < 0.1) {
note.isLong = true;
note.speed = 4;
}
notes.push(note);
}
// Check for missed notes
for (var i = notes.length - 1; i >= 0; i--) {
var note = notes[i];
// Check if note passed the hit zone
if (note.lastY <= hitZoneY + 180 && note.y > hitZoneY + 180) {
// Missed!
combo = 0;
LK.getSound('missSound').play();
comboTxt.setText('Combo: ' + combo);
// Visual feedback for miss
LK.effects.flashObject(note, 0xff0000, 200);
}
// Remove notes that are off screen
if (note.y > 2832) {
note.destroy();
notes.splice(i, 1);
}
}
// Fever mode logic
if (feverActive) {
feverTimer--;
feverGauge -= 2;
if (feverGauge < 0) {
feverGauge = 0;
}
// Add a pulsing effect to the hit zone during fever
hitZone.alpha = 0.5 + 0.2 * Math.sin(LK.ticks / 5);
// Rainbow color cycling for all notes during fever
for (var n = 0; n < notes.length; n++) {
var noteObj = notes[n];
// Cycle hue based on time and note index for variety
var hue = (LK.ticks * 4 + n * 40) % 360 / 360;
// Convert hue to RGB (simple HSV to RGB)
var i = Math.floor(hue * 6);
var f = hue * 6 - i;
var q = 1 - f;
var r, g, b;
switch (i % 6) {
case 0:
r = 1;
g = f;
b = 0;
break;
case 1:
r = q;
g = 1;
b = 0;
break;
case 2:
r = 0;
g = 1;
b = f;
break;
case 3:
r = 0;
g = q;
b = 1;
break;
case 4:
r = f;
g = 0;
b = 1;
break;
case 5:
r = 1;
g = 0;
b = q;
break;
}
var rgb = Math.floor(r * 255) << 16 | Math.floor(g * 255) << 8 | Math.floor(b * 255);
// Set tint for the note's main graphics
if (noteObj.children && noteObj.children.length > 0 && noteObj.children[0]) {
noteObj.children[0].tint = rgb;
}
}
if (feverTimer <= 0 || feverGauge <= 0) {
feverActive = false;
feverTimer = 0;
hitZone.alpha = 0.3;
// End fever visual
LK.effects.flashScreen(0x1a1a2e, 400);
}
} else if (feverGauge >= feverGaugeMax) {
feverActive = true;
feverTimer = 360; // 6 seconds at 60fps
// Fever visual
LK.effects.flashScreen(0xffd700, 400);
hitZone.alpha = 0.7;
// Visual feedback: all notes flash gold
for (var f = 0; f < notes.length; f++) {
LK.effects.flashObject(notes[f], 0xffd700, 300);
}
}
// Update fever bar UI
feverBar.width = Math.floor(feverGauge / feverGaugeMax * 600);
// Fever bar glow VFX
if (feverActive) {
feverBar.alpha = 0.8 + 0.2 * Math.abs(Math.sin(LK.ticks / 4));
} else {
feverBar.alpha = 0.8;
}
// Game over if too many misses
if (notes.length > 10) {
feverActive = false;
feverGauge = 0;
feverTimer = 0;
feverBar.width = 0;
hitZone.alpha = 0.3;
LK.showGameOver();
}
};
Only the note no background
Delete the background only the note
The same note without the background only change is it will be green
Same note no background only change is it will be pink
Same note no background but orange
Same note no background but it will be purple
Patlama efekti. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat