User prompt
Please fix the bug: 'TypeError: undefined is not an object (evaluating 'hoop.multiplierLabel.style.fill = '#efc300'')' in or related to this line: 'hoop.multiplierLabel.style.fill = '#efc300';' Line Number: 340
User prompt
X2 x3 ü filan kötüyü sarı yap
User prompt
Make the hoopOutline this color #efc300
User prompt
Make the hoopOutline this color #d6d608
User prompt
Make the hoopOutline yellow
User prompt
Make the hoop yellow
User prompt
Migrate to the latest version of LK
Remix started
Copy Candy Cane Court Clash
/**** * Classes ****/ var Ball = Container.expand(function () { var self = Container.call(this); self.hasScored = false; self.hasBounced = false; var ballGraphics = LK.getAsset('ball', { anchorX: 0.5, anchorY: 0.5 }); self.addChild(ballGraphics); self.speed = { x: 0, y: 0 }; self.hasThrown = false; self._move_migrated = function () { self.speed.y += 3.2; self.x += self.speed.x; self.y += self.speed.y; self.rotation += self.speed.x * 0.01; if (self.hasThrown) { var targetScale = 0.8; self.scale.x += (targetScale - self.scale.x) * 0.05; self.scale.y += (targetScale - self.scale.y) * 0.05; } if (self.hasScored) { self.alpha -= 0.15; } else { self.alpha += 0.15; if (self.alpha > 1) { self.alpha = 1; } } }; self.bounceOffPoint = function (x, y, elasticity) { var dx = self.x - x; var dy = self.y - y; var angle = Math.atan2(dy, dx); var speed = Math.sqrt(self.speed.x * self.speed.x + self.speed.y * self.speed.y); self.speed.x = Math.cos(angle) * speed * elasticity; self.speed.y = Math.sin(angle) * speed * elasticity; }; self.angleTo = function (x, y) { var dx = self.x - x; var dy = self.y - y; return Math.atan2(dy, dx); }; self.distanceTo = function (x, y) { var dx = self.x - x; var dy = self.y - y; return Math.sqrt(dx * dx + dy * dy); }; self.moveToDistance = function (x, y, distance) { var angle = self.angleTo(x, y); self.x = x + Math.cos(angle) * (distance * 1.05); self.y = y + Math.sin(angle) * (distance * 1.05); }; }); var Hoop = Container.expand(function () { var self = Container.call(this); self.setScore = function (score) { self.scoreLabel.setText(score.toString()); }; self.moveTo = function (newX, newY, hoopRim) { var dx = (newX - self.x) / 60; var dy = (newY - self.y) / 60; var steps = 0; var interval = LK.setInterval(function () { self.x += dx; self.y += dy; hoopRim.x = self.x; hoopRim.y = self.y + self.children[1].y - 60; steps++; if (steps >= 60) { LK.clearInterval(interval); } }); }; var backboardGraphics = LK.getAsset('backboard', { anchorX: 0.5, anchorY: 0.5 }); backboardGraphics.y -= 250; self.addChild(backboardGraphics); self.hoopRimGraphics = LK.getAsset('hoopRim', { anchorX: 0.5, anchorY: 0.5 }); self.hoopRimGraphics.y = backboardGraphics.height / 2 - 550 + 20 + 120 + 150 + 100; self.hoopRimGraphics.alpha = 0; self.hoopRimGraphics.tint = 0xffff00; self.addChild(self.hoopRimGraphics); self.leftElement = LK.getAsset('leftElement', { anchorX: 0.5, anchorY: 0.5 }); self.leftElement.x = self.hoopRimGraphics.x - self.hoopRimGraphics.width / 2 + self.leftElement.width / 2 - 50; self.leftElement.y = self.hoopRimGraphics.y - 250; self.leftElement.alpha = 0; self.addChild(self.leftElement); self.rightElement = LK.getAsset('rightElement', { anchorX: 0.5, anchorY: 0.5 }); self.rightElement.x = self.hoopRimGraphics.x + self.hoopRimGraphics.width / 2 - self.rightElement.width / 2 + 50; self.rightElement.y = self.hoopRimGraphics.y - 250; self.rightElement.alpha = 0; self.addChild(self.rightElement); self.hoopOutlineGraphics = LK.getAsset('hoopOutline', { anchorX: 1, anchorY: 0.5 }); self.hoopOutlineGraphics.y = self.hoopRimGraphics.y - 230; self.hoopOutlineGraphics.alpha = 1; self.hoopOutlineGraphics.tint = 0xefc300; self.hoopOutlineGraphics.rotation = Math.PI / 2; self.addChild(self.hoopOutlineGraphics); self.multiplierLabel = new Text2('', { size: 200, fill: '#efc300', font: 'Impact' }); self.multiplierLabel.anchor.set(.5, 1); self.multiplierLabel.x = self.hoopRimGraphics.x; self.multiplierLabel.y = self.hoopRimGraphics.y - 250 - 50 + 30; self.addChild(self.multiplierLabel); self.scoreLabel = new Text2('0', { size: 270, fill: '#161a30', font: 'Impact' }); self.scoreLabel.anchor.set(.5, .5); self.scoreLabel.x = self.hoopRimGraphics.x; self.scoreLabel.y = self.hoopRimGraphics.y - 250 - 20 - 420; self.addChild(self.scoreLabel); }); var HoopRim = Container.expand(function () { var self = Container.call(this); var hoopRimGraphics = LK.getAsset('hoopRimSeparate', { anchorX: 0.5, anchorY: 0.5 }); self.addChild(hoopRimGraphics); }); var Particle = Container.expand(function () { var self = Container.call(this); self.interactive = false; var particleGraphics = self.attachAsset('fireParticle', { anchorX: 0.5, anchorY: 0.5 }); particleGraphics.blendMode = 1; self.lifeSpan = 60; self.speed = { x: (Math.random() - 0.5) * 2, y: (Math.random() - 0.5) * 2 }; self.scale.set(Math.random() * 0.6 + 0.2); self.rotation = Math.random() * Math.PI * 2; self._move_migrated = function () { self.x += self.speed.x; self.y += self.speed.y; self.alpha -= 0.03; if (self.alpha <= 0) { self.destroy(); } }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x19314b }); /**** * Game Code ****/ var bg = LK.getAsset('background', { anchorX: 0.5, anchorY: 0.5 }); bg.x = 2048 / 2; bg.y = 2732 / 2; bg.alpha = 0.8; game.addChild(bg); var bgOverlay = LK.getAsset('bgOverlay', { anchorX: 0.5, anchorY: 1 }); bgOverlay.x = 2048 / 2; bgOverlay.y = 2732; game.addChild(bgOverlay); var hoop = game.addChild(new Hoop()); var score = 0; var scoreMultiplier = 1; var ballShadow = LK.getAsset('ballShadow', { anchorX: 0.5, anchorY: 0.5 }); ballShadow.alpha = 0.5; game.addChild(ballShadow); var ball = game.addChild(new Ball()); var hoopRim = game.addChild(new HoopRim()); ball.hitElement = ''; hoop.x = 2048 / 2; hoop.y = 2732 / 2; hoopRim.x = hoop.x; hoopRim.y = hoop.y + hoop.children[1].y - 60; ball.x = 2048 / 2; ball.on('down', function (x, y, obj) { if (!ball.hasThrown) { var event = obj; dragStart = game.toLocal(event.global); } }); var dragStart = null; game.on('move', function (x, y, obj) { var event = obj; var pos = game.toLocal(event.global); if (dragStart !== null && ball.distanceTo(pos.x, pos.y) > 400) { game.fireBall(obj); } }); game.fireBall = function (obj) { if (dragStart !== null) { var event = obj.event; var pos = game.toLocal(event.global); var dx = pos.x - dragStart.x; var dy = pos.y - dragStart.y; var angle = Math.atan2(dy, dx); ball.speed.x = Math.cos(angle) * 72 * 1.76 * 0.9 / 3; ball.speed.y = Math.sin(angle) * 72 * 1.76 * 0.9; ball.hasThrown = true; ball.hitElement = ''; game.removeChild(ball); game.addChild(ball); dragStart = null; } }; game.on('up', function (x, y, obj) { if (dragStart !== null) { var event = obj; var pos = game.toLocal(event.global); var distance = Math.sqrt(Math.pow(pos.x - dragStart.x, 2) + Math.pow(pos.y - dragStart.y, 2)); if (distance > 150) { game.fireBall(obj); } } dragStart = null; }); var floorY = 2732 - 40 + 900 * (ball.scale.y - 1); ball.y = floorY - ball.height; LK.on('tick', function () { if (scoreMultiplier === 3) { for (var i = 0; i < 2; i++) { var particle = new Particle(); particle.alpha = ball.alpha; var angle = Math.random() * Math.PI * 2; var radius = ball.width * 0.5 * Math.sqrt(Math.random()); particle.x = ball.x + Math.cos(angle) * radius; particle.y = ball.y + Math.sin(angle) * radius; game.addChild(particle); } } game.children.forEach(function (child) { if (child instanceof Particle) { child._move_migrated(); } }); var floorY = 2732 - 40 + 900 * (ball.scale.y - 1); ball._move_migrated(); if (ball.speed.y > 0) { game.removeChild(hoopRim); game.addChild(hoopRim); if (ball.distanceTo(hoop.x + hoop.leftElement.x, hoop.y + hoop.leftElement.y) < ball.width / 2 + hoop.leftElement.width / 2) { ball.moveToDistance(hoop.x + hoop.leftElement.x, hoop.y + hoop.leftElement.y, ball.width / 2 + hoop.leftElement.width / 2 + 1); ball.bounceOffPoint(hoop.x + hoop.leftElement.x, hoop.y + hoop.leftElement.y, 0.5); ball.hitElement = 'left'; } if (ball.distanceTo(hoop.x + hoop.rightElement.x, hoop.y + hoop.rightElement.y) < ball.width / 2 + hoop.rightElement.width / 2) { ball.moveToDistance(hoop.x + hoop.rightElement.x, hoop.y + hoop.rightElement.y, ball.width / 2 + hoop.rightElement.width / 2 + 1); ball.bounceOffPoint(hoop.x + hoop.rightElement.x, hoop.y + hoop.rightElement.y, 0.5); ball.hitElement = 'right'; } } ballShadow.x = ball.x; ballShadow.y = 1800 + ball.height / 2 + 500 * ball.scale.x; var scale = (1 - 2 * (ball.y - 2732 + ball.height) / 2732) * ball.scale.x; ballShadow.scale.set(scale); ballShadow.alpha = (1 - scale + 1) / 2 * ball.alpha; if (ball.y + ball.height > floorY) { ball.y = floorY - ball.height; ball.speed.y *= -0.75; ballShadow.x = ball.x; ballShadow.visible = true; if (ball.hasThrown && !ball.hasScored) { if (!ball.hasBounced) { ball.hasBounced = true; } else { LK.showGameOver(); } } else if (ball.hasScored) { ball.x = 2048 / 2; ball.y = 2532 - ball.height; ball.speed.x = 0; ball.speed.y = 0; ball.hasThrown = false; ball.hasScored = false; ball.hasBounced = false; ball.scale.x = 1; ball.scale.y = 1; if (ball.hitElement === '') { if (scoreMultiplier < 3) { scoreMultiplier++; } } else { scoreMultiplier = 1; } if (scoreMultiplier > 1) { if (hoop.multiplierLabel) { hoop.multiplierLabel.setText('x' + scoreMultiplier); if (hoop.multiplierLabel.style) { hoop.multiplierLabel.style.fill = '#efc300'; } } } else { if (hoop.multiplierLabel) { hoop.multiplierLabel.setText(''); } } ball.hitElement = ''; hoop.moveTo(Math.random() * (2048 - 1000) + 500, Math.random() * (2732 - 2000) + 1000, hoopRim); } } if (ball.x + ball.width / 2 < 0 || ball.x - ball.width / 2 > 2048) { LK.showGameOver(); } else if (ball.hasThrown && ball.intersects(hoop.hoopRimGraphics) && ball.speed.y > 0 && !ball.hasScored && !ball.hasBounced && ball.x > hoop.x + hoop.leftElement.x && ball.x < hoop.x + hoop.rightElement.x) { ball.hasScored = true; score += scoreMultiplier; LK.setScore(score); hoop.scoreLabel.setText(score.toString()); hoop.setScore(score); } });
===================================================================
--- original.js
+++ change.js
@@ -320,12 +320,18 @@
} else {
scoreMultiplier = 1;
}
if (scoreMultiplier > 1) {
- hoop.multiplierLabel.setText('x' + scoreMultiplier);
- hoop.multiplierLabel.style.fill = '#efc300';
+ if (hoop.multiplierLabel) {
+ hoop.multiplierLabel.setText('x' + scoreMultiplier);
+ if (hoop.multiplierLabel.style) {
+ hoop.multiplierLabel.style.fill = '#efc300';
+ }
+ }
} else {
- hoop.multiplierLabel.setText('');
+ if (hoop.multiplierLabel) {
+ hoop.multiplierLabel.setText('');
+ }
}
ball.hitElement = '';
hoop.moveTo(Math.random() * (2048 - 1000) + 500, Math.random() * (2732 - 2000) + 1000, hoopRim);
}