User prompt
Fix Bug: 'ReferenceError: max is not defined' in this line: 'mouseSpawnTimer = max(mouseSpawnTimer--, 30);' Line Number: 166
Code edit (2 edits merged)
Please save this source code
User prompt
Fix Bug: 'ReferenceError: mouseSpawnTime is not defined' in this line: 'if (tickCounter % mouseSpawnTime == 0) {' Line Number: 160
Code edit (6 edits merged)
Please save this source code
User prompt
rolling nuts have a rotation animation
Code edit (3 edits merged)
Please save this source code
User prompt
Fix Bug: 'ReferenceError: nutcracker is not defined' in this line: 'if (nutcrackers[j].isReady && nutcrackers[j].freeMouth && !nutcrackers[j].isDragged && rollingNuts[i].intersects(nutcracker)) {' Line Number: 197
Code edit (8 edits merged)
Please save this source code
User prompt
create a new class called rollingNut. Spawn it every 20 seconds on a random yLevel and add it to the array rollingNuts[]. Let it move to the right It interact with nutcrackers like mice, but increase the nutsCounter by 1 then.
Code edit (1 edits merged)
Please save this source code
Code edit (12 edits merged)
Please save this source code
User prompt
ersetze die shake animation des nutcrackers mit einer kau anmiation. Dafür benötige ich zwei assets, in denen sich der Nutcracker nur(!!!!!!!) während der animation aufteilt. Einmal upperJaw und lowerJaw. upperJaw springt dabei immer wieder nach oben.
User prompt
ersetze die shake animation des nutcrackers mit einer kau anmiation. Dafür benötige ich zwei assets, in denen sich der Nutcracker während der animation aufteilt. Einmal upperJaw und lowerJaw. upperJaw springt dabei immer wieder nach oben.
Code edit (1 edits merged)
Please save this source code
Code edit (9 edits merged)
Please save this source code
User prompt
Fix Bug: 'ReferenceError: draggedOnject is not defined' in this line: 'draggedOnject.isDragged = false;' Line Number: 169
Code edit (2 edits merged)
Please save this source code
User prompt
Fix Bug: 'ReferenceError: dragObject is not defined' in this line: 'if (dragObject) {' Line Number: 64
Code edit (5 edits merged)
Please save this source code
User prompt
nutcrackers can be drag and dropped, when their freeMouth is true
Code edit (1 edits merged)
Please save this source code
User prompt
when the shae animation finished,r eset the nutcrackers rotation
Code edit (1 edits merged)
Please save this source code
User prompt
make the shake animation of the nutcracker smoothy
Code edit (1 edits merged)
Please save this source code
var Nutcracker = Container.expand(function () { var self = Container.call(this); Nutcracker.prototype.shakeAnimation = function () { if (!self.freeMouth) { var shakeRange = 15; var shakeSpeed = 0.1; self.rotation += shakeSpeed * (Math.random() > 0.5 ? 1 : -1); if (self.rotation > shakeRange * (Math.PI / 180)) { self.rotation = shakeRange * (Math.PI / 180); } else if (self.rotation < -shakeRange * (Math.PI / 180)) { self.rotation = -shakeRange * (Math.PI / 180); } } }; self.freeMouth = true; var nutcrackerGraphics = self.createAsset('nutcracker', 'Nutcracker Graphics', .5, .5); var yLevels = [1710, 1500, 1290]; self.move = function () { if (self.freeMouth) { self.rotation = 0; } if (self.mouthTimer && self.mouthTimer > 0) { self.mouthTimer--; self.shakeAnimation(); if (self.mouthTimer === 0) { self.freeMouth = true; } } if (!yLevels.includes(self.y)) { if (self.y < yLevels[0]) { self.y += 5; } else { self.y -= 5; } if (yLevels.some(level => self.y >= level && self.y - 5 < level)) { self.y = yLevels.find(level => self.y >= level && self.y - 5 < level); } } }; self.dragged = false; self.on('down', function (obj) { var pos = obj.event.getLocalPosition(self.parent); self.y = pos.y; self.x = pos.x; self.dragged = true; }); stage.on('up', function (obj) { var pos = obj.event.getLocalPosition(self); if (dragObject) { if (pos.y > 200) { var newNutcracker = new Nutcracker(); newNutcracker.x = pos.x; newNutcracker.y = pos.y + 200; self.parent.addChild(newNutcracker); nutcrackers.push(newNutcracker); dragObject.destroy(); dragObject = null; } else { dragObject.destroy(); dragObject = null; } } }); stage.on('move', function (obj) { if (dragObject) { var pos = obj.event.getLocalPosition(self); dragObject.x = pos.x; dragObject.y = pos.y + 200; } }); }); var MouseTrap = Container.expand(function () { var self = Container.call(this); var mousetrapGraphics = self.createAsset('mousetrap', 'Mouse Trap Graphics', .5, .5); self.activate = function () {}; }); var Mouse = Container.expand(function () { var self = Container.call(this); var mouseGraphics = self.createAsset('mouse', 'Mouse Graphics', .5, .5); self.move = function () { self.x += 2; }; }); var BuildingMenu = Container.expand(function () { var self = Container.call(this); self.y = 0; self.x = 1024; var menuBackground = self.createAsset('menuBackground', 'Building Menu Background', 0.5, 0); self.addChild(menuBackground); }); var NutcrackerButton = Container.expand(function (nutcrackers) { var self = Container.call(this); var buttonGraphics = self.createAsset('nutcrackerButton', 'Nutcracker Build Button', 0.5, 0); self.addChild(buttonGraphics); self.y = 200; var dragObject = null; self.on('down', function (obj) { if (ressourcesNuts >= 1) { var pos = obj.event.getLocalPosition(self.parent); dragObject = new Nutcracker(); self.parent.addChild(dragObject); dragObject.y = pos.y + 200; dragObject.x = pos.x; ressourcesNuts--; } }); stage.on('up', function (obj) { var pos = obj.event.getLocalPosition(self); if (dragObject) { if (pos.y > 200) { var newNutcracker = new Nutcracker(); newNutcracker.x = pos.x; newNutcracker.y = pos.y + 200; self.parent.addChild(newNutcracker); nutcrackers.push(newNutcracker); dragObject.destroy(); dragObject = null; } else { dragObject.destroy(); dragObject = null; } } }); stage.on('move', function (obj) { if (dragObject) { var pos = obj.event.getLocalPosition(self); dragObject.x = pos.x; dragObject.y = pos.y + 200; } }); }); var ressourcesNuts = 1; var Game = Container.expand(function () { var self = Container.call(this); var yLevels = [2500, 2200, 1900]; var background = self.createAsset('background', 'Background Graphics', 0, 0); self.addChildAt(background, 0); var buildingMenu = self.addChild(new BuildingMenu()); self.addChild(buildingMenu); var nutsCounter = new Text2(ressourcesNuts.toString(), { size: 200, fill: "brown" }); nutsCounter.anchor.set(0.5, 0); nutsCounter.x = 1700; nutsCounter.y = 100; self.addChild(nutsCounter); var nutcrackers = []; var mousetraps = []; var mice = []; var nutcrackerButton = self.addChild(new NutcrackerButton(nutcrackers)); LK.gui.topCenter.addChild(nutcrackerButton); var tickCounter = 0; var updateCounter = 0; LK.on('tick', function () { tickCounter++; nutsCounter.setText(ressourcesNuts.toString()); if (tickCounter % 60 == 0) { var newMouse = new Mouse(); newMouse.x = 0 - newMouse.width; newMouse.y = yLevels[Math.floor(Math.random() * yLevels.length)]; mice.push(newMouse); self.addChild(newMouse); } for (var i = 0; i < nutcrackers.length; i++) { nutcrackers[i].move(); } for (var i = 0; i < mousetraps.length; i++) { mousetraps[i].activate(); } for (var i = mice.length - 1; i >= 0; i--) { mice[i].move(); for (var j = 0; j < nutcrackers.length; j++) { if (mice[i].intersects(nutcrackers[j]) && nutcrackers[j].freeMouth) { mice[i].destroy(); mice.splice(i, 1); nutcrackers[j].freeMouth = false; nutcrackers[j].mouthTimer = 180; break; } } if (mice[i] && mice[i].x > 2048 + mice[i].width) { mice[i].destroy(); mice.splice(i, 1); } } }); });
===================================================================
--- original.js
+++ change.js
@@ -12,27 +12,8 @@
}
}
};
self.freeMouth = true;
- self.interactive = true;
- self.on('down', function (obj) {
- if (self.freeMouth) {
- var pos = obj.event.getLocalPosition(self.parent);
- self.dragging = true;
- self.dragOffsetX = self.x - pos.x;
- self.dragOffsetY = self.y - pos.y;
- }
- });
- self.on('move', function (obj) {
- if (self.dragging) {
- var pos = obj.event.getLocalPosition(self.parent);
- self.x = pos.x + self.dragOffsetX;
- self.y = pos.y + self.dragOffsetY;
- }
- });
- self.on('up', function (obj) {
- self.dragging = false;
- });
var nutcrackerGraphics = self.createAsset('nutcracker', 'Nutcracker Graphics', .5, .5);
var yLevels = [1710, 1500, 1290];
self.move = function () {
if (self.freeMouth) {
@@ -55,8 +36,39 @@
self.y = yLevels.find(level => self.y >= level && self.y - 5 < level);
}
}
};
+ self.dragged = false;
+ self.on('down', function (obj) {
+ var pos = obj.event.getLocalPosition(self.parent);
+ self.y = pos.y;
+ self.x = pos.x;
+ self.dragged = true;
+ });
+ stage.on('up', function (obj) {
+ var pos = obj.event.getLocalPosition(self);
+ if (dragObject) {
+ if (pos.y > 200) {
+ var newNutcracker = new Nutcracker();
+ newNutcracker.x = pos.x;
+ newNutcracker.y = pos.y + 200;
+ self.parent.addChild(newNutcracker);
+ nutcrackers.push(newNutcracker);
+ dragObject.destroy();
+ dragObject = null;
+ } else {
+ dragObject.destroy();
+ dragObject = null;
+ }
+ }
+ });
+ stage.on('move', function (obj) {
+ if (dragObject) {
+ var pos = obj.event.getLocalPosition(self);
+ dragObject.x = pos.x;
+ dragObject.y = pos.y + 200;
+ }
+ });
});
var MouseTrap = Container.expand(function () {
var self = Container.call(this);
var mousetrapGraphics = self.createAsset('mousetrap', 'Mouse Trap Graphics', .5, .5);
Nut cracker, side view Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Mouse trap, side view, cartoon Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a rolling nut, cartoon Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a round giant snowball, cartoon Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
white background