User prompt
250 yap
User prompt
Üst blok konumunu biraz aşagı indir ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Üst blogu biraz aşagı indir ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
İpin uzunlugunu kısalt blok ve ip temas bölgesi ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
İp ve blok sallantısını saga ve sola dahada arttır ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
İpi boyutu üstteki blok kesişim alanı kadar ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Yukardaki ipi üst blok düzeyinde kısalt ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Çarpma fizikleri düşme fiziklerini düzelt ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Kırmızı blok aşagı düştükten sonra yeni bir blok yumutlanmalı ve döngü devam etmeli ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Kırmızı blok aşagı düşdügünde ipte yeni bir blok yumurtlasın ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Düzelt ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Bloklar arası çarpışma düşme fiziklerini ekle dogal olmalı ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
İp sallantısı hiç durmasın ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Üstteki ip ve blok sallantısını daha stilize et ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Yukardan düşen kırmızı blok alttakinin en az yarısını kaplamalı aksi halde kırmızı blok düşer ve oyuncu ölür ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Mavi blogun üzerine Yerleştirilen ikinci kızmızı bloktan sonra mavi blok aşagı kayar kırmızı bloklar gözükür sonra her yerleştirilen kırmızı blokta 1 blok aşagı kayar ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Mavi blogu ekran alt kısmına taşi
User prompt
Eger kırmızı blok mavi blogun üzerine denk gelmez ise oyuncu ölür
User prompt
Olmuyor
User prompt
Eger üsttki blok mavi blogun üzerine düşerse oyuncu 1 puan kazanır
User prompt
Oyuncu dokundugunda üstteki blok için ipe sabitlenme kodunu iptal et ve blok aşagıya düşsün ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Amacım yukardaki bloga dokundugumda blogun aşagı düşmesi ve eger alttaki mavi blogun üzerine denk gelirse oyuncu 1 puan kazanıcak ayarla ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Hayır olmadı ipe baglı blok yere düşecek
User prompt
Şimdi oyuncu ekrana dokundugunda üsteki blok ayrılıp yere düşücek eger alttaki mavi karenin üzerine gelirse 1 puan ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Dahada
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ var StackedBlock = Container.expand(function () { var self = Container.call(this); var block = self.attachAsset('block', { anchorX: 0.5, anchorY: 0.5 }); return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x87ceeb }); /**** * Game Code ****/ // Game state var stackedBlocks = []; var gameHeight = 2732; var gameWidth = 2048; var groundLevel = gameHeight - 200; var stackHeight = 0; var gameActive = true; // Create foundation block var foundation = new StackedBlock(); foundation.x = gameWidth / 2; foundation.y = groundLevel; game.addChild(foundation); stackedBlocks.push(foundation); stackHeight = foundation.y; // Create rope hanging from top center var rope = LK.getAsset('rope', { anchorX: 0.5, anchorY: 0 }); rope.x = gameWidth / 2; rope.y = 0; game.addChild(rope); // Create swinging block at the end of rope var swingingBlock = LK.getAsset('swingingBlock', { anchorX: 0.5, anchorY: 0.5 }); swingingBlock.x = 0; swingingBlock.y = rope.height; rope.addChild(swingingBlock); // Start rope swinging animation function startRopeSwing() { // Swing right tween(rope, { rotation: 0.5 }, { duration: 1500, easing: tween.easeInOut, onFinish: function onFinish() { // Swing left tween(rope, { rotation: -0.5 }, { duration: 3000, easing: tween.easeInOut, onFinish: function onFinish() { // Swing back right and repeat tween(rope, { rotation: 0.5 }, { duration: 3000, easing: tween.easeInOut, onFinish: startRopeSwing }); } }); } }); } // Start the swinging motion startRopeSwing(); // Score display var scoreTxt = new Text2('Blocks: 0', { size: 80, fill: 0xFFFFFF }); scoreTxt.anchor.set(0.5, 0); LK.gui.top.addChild(scoreTxt); // Track falling blocks var fallingBlocks = []; var score = 0; // Touch event to drop block game.down = function (x, y, obj) { if (!gameActive || !swingingBlock.parent) return; // Make the rope-attached block fall down by animating it tween(swingingBlock, { y: rope.height + 400 // Move block down while staying attached to rope }, { duration: 1000, easing: tween.easeIn, onFinish: function onFinish() { // Check if block landed on foundation var globalPos = rope.toGlobal(swingingBlock.position); var blockWorldX = globalPos.x; var blockWorldY = globalPos.y; // Check if block is close enough to foundation horizontally if (Math.abs(blockWorldX - foundation.x) < 120 && blockWorldY >= foundation.y - 120) { // Score point score++; scoreTxt.setText('Blocks: ' + score); } // Reset block position for next round swingingBlock.y = rope.height; } }); }; // Update falling blocks game.update = function () { for (var i = fallingBlocks.length - 1; i >= 0; i--) { var block = fallingBlocks[i]; // Apply gravity block.y += 8; // Check collision with foundation if (block.intersects(foundation) && block.y >= foundation.y - foundation.height / 2) { // Score point score++; scoreTxt.setText('Blocks: ' + score); // Remove falling block block.destroy(); fallingBlocks.splice(i, 1); continue; } // Remove if fell off screen if (block.y > gameHeight + 100) { block.destroy(); fallingBlocks.splice(i, 1); } } }; ;
===================================================================
--- original.js
+++ change.js
@@ -98,29 +98,29 @@
var score = 0;
// Touch event to drop block
game.down = function (x, y, obj) {
if (!gameActive || !swingingBlock.parent) return;
- // Detach block from rope and add to game
- var droppedBlock = LK.getAsset('swingingBlock', {
- anchorX: 0.5,
- anchorY: 0.5
+ // Make the rope-attached block fall down by animating it
+ tween(swingingBlock, {
+ y: rope.height + 400 // Move block down while staying attached to rope
+ }, {
+ duration: 1000,
+ easing: tween.easeIn,
+ onFinish: function onFinish() {
+ // Check if block landed on foundation
+ var globalPos = rope.toGlobal(swingingBlock.position);
+ var blockWorldX = globalPos.x;
+ var blockWorldY = globalPos.y;
+ // Check if block is close enough to foundation horizontally
+ if (Math.abs(blockWorldX - foundation.x) < 120 && blockWorldY >= foundation.y - 120) {
+ // Score point
+ score++;
+ scoreTxt.setText('Blocks: ' + score);
+ }
+ // Reset block position for next round
+ swingingBlock.y = rope.height;
+ }
});
- // Get world position of swinging block
- var globalPos = rope.toGlobal(swingingBlock.position);
- droppedBlock.x = globalPos.x;
- droppedBlock.y = globalPos.y;
- game.addChild(droppedBlock);
- fallingBlocks.push(droppedBlock);
- // Remove swinging block from rope
- rope.removeChild(swingingBlock);
- // Create new swinging block for next round
- swingingBlock = LK.getAsset('swingingBlock', {
- anchorX: 0.5,
- anchorY: 0.5
- });
- swingingBlock.x = 0;
- swingingBlock.y = rope.height;
- rope.addChild(swingingBlock);
};
// Update falling blocks
game.update = function () {
for (var i = fallingBlocks.length - 1; i >= 0; i--) {