Code edit (22 edits merged)
Please save this source code
User prompt
make a new class called fecalBall. Spawn it every 60 ticks on a random ylevel, add them to the fecalBalls-array and let it move from the left to the right.
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
Code edit (18 edits merged)
Please save this source code
User prompt
make a tail animation for the mouse. rotate it smoothly from -15 degrres to 15 degrres and back
Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
User prompt
when a nutcrackers x-position is >2048, move it to x= 2000
Code edit (1 edits merged)
Please save this source code
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
var Nutcracker = Container.expand(function () { var self = Container.call(this); self.freeMouth = true; self.upperJaw = self.createAsset('upperJaw', 'Nutcracker Upper Jaw', .5, .5); self.lowerJaw = self.createAsset('lowerJaw', 'Nutcracker Lower Jaw', .5, .5); self.upperJaw.y -= 50; self.lowerJaw.y += 25; self.mouthUp = true; Nutcracker.prototype.chewAnimation = function () { if (!self.freeMouth) { var chewRange = 75; var chewSpeed = 3; if (self.mouthUp) { if (self.upperJaw.y > -chewRange) { self.upperJaw.y -= chewSpeed; } else { self.mouthUp = false; } } else { if (self.upperJaw.y < -50) { self.upperJaw.y += chewSpeed; } else { self.mouthUp = true; } } } }; self.isDragged = false; self.isReady = false; var yLevels = [1710, 1500, 1290]; self.move = function () { if (self.mouthTimer && self.mouthTimer > 0) { self.mouthTimer--; self.chewAnimation(); if (self.mouthTimer === 0) { self.freeMouth = true; self.upperJaw.y = -50; } } if (!self.isDragged && !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.isReady = true; } } }; self.on('down', function (obj) { if (self.freeMouth) { var pos = obj.event.getLocalPosition(self.parent); self.y = pos.y; self.x = pos.x; self.isDragged = true; self.isReady = false; draggedObject = self; } }); }); 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; } }); 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; ressourcesNuts--; } 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 RollingNut = Container.expand(function () { var self = Container.call(this); var rollingNutGraphics = self.createAsset('rollingNut', 'Rolling Nut Graphics', .5, .5); self.move = function () { self.x += 2; }; }); var draggedObject = null; 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 rollingNuts = []; 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 % 300 == 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); } if (tickCounter % 1200 == 0) { var newRollingNut = new RollingNut(); newRollingNut.x = 0 - newRollingNut.width; newRollingNut.y = yLevels[Math.floor(Math.random() * yLevels.length)]; rollingNuts.push(newRollingNut); self.addChild(newRollingNut); } 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 (nutcrackers[j].isReady && nutcrackers[j].freeMouth && !nutcrackers[j].isDragged && mice[i].intersects(nutcrackers[j])) { 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); } } for (var i = rollingNuts.length - 1; i >= 0; i--) { rollingNuts[i].move(); for (var j = 0; j < nutcrackers.length; j++) { if (nutcrackers[j].isReady && nutcrackers[j].freeMouth && !nutcrackers[j].isDragged && rollingNuts[i].intersects(nutcrackers[j])) { ressourcesNuts++; rollingNuts[i].destroy(); } } if (rollingNuts[i] && rollingNuts[i].x > 2048 + rollingNuts[i].width) { rollingNuts[i].destroy(); rollingNuts.splice(i, 1); } } }); stage.on('up', function (obj) { if (draggedObject) { var pos = obj.event.getLocalPosition(self); draggedObject.isDragged = false; draggedObject.isReady = false; draggedObject = null; } }); stage.on('move', function (obj) { if (draggedObject) { var pos = obj.event.getLocalPosition(self); draggedObject.x = pos.x - 900; draggedObject.y = pos.y - 500; } }); });
===================================================================
--- original.js
+++ change.js
@@ -91,9 +91,8 @@
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);
@@ -105,8 +104,9 @@
self.parent.addChild(newNutcracker);
nutcrackers.push(newNutcracker);
dragObject.destroy();
dragObject = null;
+ ressourcesNuts--;
} else {
dragObject.destroy();
dragObject = null;
}
@@ -125,14 +125,8 @@
var rollingNutGraphics = self.createAsset('rollingNut', 'Rolling Nut Graphics', .5, .5);
self.move = function () {
self.x += 2;
};
- self.interactWithNutcracker = function (nutcracker) {
- if (nutcracker.isReady && nutcracker.freeMouth && !nutcracker.isDragged && self.intersects(nutcracker)) {
- ressourcesNuts++;
- self.destroy();
- }
- };
});
var draggedObject = null;
var ressourcesNuts = 1;
var Game = Container.expand(function () {
@@ -199,9 +193,12 @@
}
for (var i = rollingNuts.length - 1; i >= 0; i--) {
rollingNuts[i].move();
for (var j = 0; j < nutcrackers.length; j++) {
- rollingNuts[i].interactWithNutcracker(nutcrackers[j]);
+ if (nutcrackers[j].isReady && nutcrackers[j].freeMouth && !nutcrackers[j].isDragged && rollingNuts[i].intersects(nutcrackers[j])) {
+ ressourcesNuts++;
+ rollingNuts[i].destroy();
+ }
}
if (rollingNuts[i] && rollingNuts[i].x > 2048 + rollingNuts[i].width) {
rollingNuts[i].destroy();
rollingNuts.splice(i, 1);
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