User prompt
Fix Bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'createAsset')' in this line: 'var fishGraphics = self.createAsset('clownFish', 'Clown Fish Graphics', .5, .5);' Line Number: 72
User prompt
Fix Bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'createAsset')' in this line: 'var fishGraphics = self.createAsset('clownFish', 'Clown Fish Graphics', .5, .5);' Line Number: 72
User prompt
Fix Bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'createAsset')' in this line: 'var fishGraphics = self.createAsset('clownFish', 'Clown Fish Graphics', .5, .5);' Line Number: 72
User prompt
Fix Bug: 'TypeError: fishes[i].move is not a function' in this line: 'fishes[i].move();' Line Number: 146
User prompt
Fix Bug: 'TypeError: fishes[i].move is not a function' in this line: 'fishes[i].move();' Line Number: 146
User prompt
Fix Bug: 'Uncaught TypeError: Cannot set properties of undefined (setting 'speed')' in this line: 'self.speed = 0.75;' Line Number: 83
User prompt
Fix Bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'createAsset')' in this line: 'var fishGraphics = self.createAsset('angelFish', 'Angel Fish Graphics', .5, .5);' Line Number: 82
User prompt
Fix Bug: 'TypeError: fishes[i].move is not a function' in this line: 'fishes[i].move();' Line Number: 146
User prompt
Fix Bug: 'Uncaught TypeError: fish.setType is not a function' in this line: 'fish.setType(fishTypes[i]);' Line Number: 109
User prompt
Fix Bug: 'Uncaught TypeError: fish.setType is not a function' in this line: 'self.speed = 0.75;' Line Number: 92
User prompt
Fix Bug: 'Uncaught TypeError: fish.setType is not a function' in this line: 'fish.setType(fishTypes[i]);' Line Number: 109
User prompt
Fix Bug: 'ReferenceError: fishGraphics is not defined' in this line: 'fishGraphics.scale.x = 1;' Line Number: 67
User prompt
Fix Bug: 'TypeError: fishes[i].move is not a function' in this line: 'fishes[i].move();' Line Number: 113
User prompt
Fix Bug: 'TypeError: fishes[i].move is not a function' in this line: 'fishes[i].move();' Line Number: 113
User prompt
Fix Bug: 'TypeError: fishes[i].move is not a function' in this line: 'fishes[i].move();' Line Number: 113
User prompt
Fix Bug: 'TypeError: fishes[i].move is not a function' in this line: 'fishes[i].move();' Line Number: 113
User prompt
Fix Bug: 'TypeError: fishes[i].move is not a function' in this line: 'fishes[i].move();' Line Number: 113
User prompt
Fix Bug: 'TypeError: fishes[i].move is not a function' in this line: 'fishes[i].move();' Line Number: 113
User prompt
Fix Bug: 'TypeError: fishes[i].move is not a function' in this line: 'fishes[i].move();' Line Number: 113
User prompt
Fix Bug: 'TypeError: fishes[i].move is not a function' in this line: 'fishes[i].move();' Line Number: 146
User prompt
Fix Bug: 'TypeError: fishes[i].move is not a function' in this line: 'fishes[i].move();' Line Number: 146
User prompt
add 2 new fish race and spawn 2 of each race of fish at begining
User prompt
add one new race of fish
User prompt
improve fish AI
User prompt
make water totaly transparent
var Aquarium = Container.expand(function () { var self = Container.call(this); this.getWaterBounds = function () { var waterGraphics = this.getChildByName('Water Graphics'); return { left: (2048 - waterGraphics.width) / 2, right: (2048 + waterGraphics.width) / 2, top: (2732 - waterGraphics.height) / 2 - 150, bottom: (2732 + waterGraphics.height) / 2 - 150 }; }; var aquariumGraphics = self.createAsset('aquarium', 'Aquarium Background', 0, 0); aquariumGraphics.width = 2048 * 1.3; aquariumGraphics.height = 2732 * 1.3; aquariumGraphics.x = (2048 - aquariumGraphics.width) / 2; aquariumGraphics.y = (2732 - aquariumGraphics.height) / 2; self.addChild(aquariumGraphics); var waterGraphics = self.createAsset('water', 'Water Graphics', 0, 0); waterGraphics.width = 2048 / 3 * 2 * 1.2; waterGraphics.height = 2732 / 3 * 1.4; waterGraphics.x = (2048 - waterGraphics.width) / 2; waterGraphics.y = (2732 - waterGraphics.height) / 2 - 150; waterGraphics.alpha = 0; self.addChild(waterGraphics); }); var Fish = Container.expand(function () { var self = Container.call(this); self.getWaterBounds = function () { var waterGraphics = LK.getAsset('water', 'Water Graphics', 0, 0); return { left: (2048 - waterGraphics.width) / 2, right: (2048 + waterGraphics.width) / 2, top: (2732 - waterGraphics.height) / 2 - 150, bottom: (2732 + waterGraphics.height) / 2 - 150 }; }; var fishGraphics = self.createAsset('fish', 'Fish Graphics', .5, .5); self.speed = 0.625; self.move = function () { if (self.targetRotation === undefined || LK.ticks - self.rotationStartTime >= self.rotationDuration) { self.targetRotation = Math.random() * Math.PI * 2; self.rotationStartTime = LK.ticks; self.rotationDuration = Math.random() * 120 + 60; } var progress = (LK.ticks - self.rotationStartTime) / self.rotationDuration; if (progress < 1) { var deltaRotation = (self.targetRotation - self.rotation) * progress; self.rotation += deltaRotation; } else { self.rotation = self.targetRotation; } self.x += Math.cos(self.rotation) * self.speed; self.y += Math.sin(self.rotation) * self.speed; var waterBounds = self.getWaterBounds(); if (self.x < waterBounds.left || self.x > waterBounds.right) { self.rotation = Math.PI - self.rotation; } if (self.y < waterBounds.top || self.y > waterBounds.bottom) { self.rotation = -self.rotation; } self.rotation = self.rotation % (Math.PI * 2); if (Math.cos(self.rotation) < 0) { fishGraphics.scale.x = -1; } else { fishGraphics.scale.x = 1; } fishGraphics.rotation = self.rotation; }; }); var ClownFish = Container.expand(function () { var self = Container.call(this); var fishGraphics = self.createAsset('clownFish', 'Clown Fish Graphics', .5, .5); self.speed = 0.5; }); var TangFish = Container.expand(function () { var self = Container.call(this); var fishGraphics = self.createAsset('tangFish', 'Tang Fish Graphics', .5, .5); self.speed = 0.65; }); var AngelFish = Container.expand(function () { var self = Container.call(this); var fishGraphics = self.createAsset('angelFish', 'Angel Fish Graphics', .5, .5); self.speed = 0.75; }); ClownFish.prototype = Object.create(Fish.prototype); ClownFish.prototype.constructor = ClownFish; TangFish.prototype = Object.create(Fish.prototype); TangFish.prototype.constructor = TangFish; AngelFish.prototype = Object.create(Fish.prototype); AngelFish.prototype.constructor = AngelFish; var Game = Container.expand(function () { var self = Container.call(this); var aquarium = self.addChild(new Aquarium()); LK.stageContainer.setBackgroundColor(0x008080); var fishes = []; var fishTypes = [Fish, AngelFish, ClownFish, TangFish]; for (var i = 0; i < fishTypes.length; i++) { for (var j = 0; j < 2; j++) { var fish = new fishTypes[i](); var centerX = 2048 / 2; var centerY = 2732 / 2; var maxDistance = 600; var angle = Math.random() * Math.PI * 2; var distance = Math.random() * maxDistance; fish.x = centerX + distance * Math.cos(angle); fish.y = centerY + distance * Math.sin(angle); fishes.push(fish); self.addChild(fish); } } LK.on('tick', function () { for (var i = 0; i < fishes.length; i++) { fishes[i].move(); } }); });
===================================================================
--- original.js
+++ change.js
@@ -78,50 +78,17 @@
self.speed = 0.65;
});
var AngelFish = Container.expand(function () {
var self = Container.call(this);
- self.getWaterBounds = function () {
- var waterGraphics = LK.getAsset('water', 'Water Graphics', 0, 0);
- return {
- left: (2048 - waterGraphics.width) / 2,
- right: (2048 + waterGraphics.width) / 2,
- top: (2732 - waterGraphics.height) / 2 - 150,
- bottom: (2732 + waterGraphics.height) / 2 - 150
- };
- };
var fishGraphics = self.createAsset('angelFish', 'Angel Fish Graphics', .5, .5);
self.speed = 0.75;
- self.move = function () {
- if (self.targetRotation === undefined || LK.ticks - self.rotationStartTime >= self.rotationDuration) {
- self.targetRotation = Math.random() * Math.PI * 2;
- self.rotationStartTime = LK.ticks;
- self.rotationDuration = Math.random() * 180 + 90;
- }
- var progress = (LK.ticks - self.rotationStartTime) / self.rotationDuration;
- if (progress < 1) {
- var deltaRotation = (self.targetRotation - self.rotation) * progress;
- self.rotation += deltaRotation;
- } else {
- self.rotation = self.targetRotation;
- }
- self.x += Math.cos(self.rotation) * self.speed;
- self.y += Math.sin(self.rotation) * self.speed;
- var waterBounds = self.getWaterBounds();
- if (self.x < waterBounds.left || self.x > waterBounds.right) {
- self.rotation = Math.PI - self.rotation;
- }
- if (self.y < waterBounds.top || self.y > waterBounds.bottom) {
- self.rotation = -self.rotation;
- }
- self.rotation = self.rotation % (Math.PI * 2);
- if (Math.cos(self.rotation) < 0) {
- fishGraphics.scale.x = -1;
- } else {
- fishGraphics.scale.x = 1;
- }
- fishGraphics.rotation = self.rotation;
- };
});
+ClownFish.prototype = Object.create(Fish.prototype);
+ClownFish.prototype.constructor = ClownFish;
+TangFish.prototype = Object.create(Fish.prototype);
+TangFish.prototype.constructor = TangFish;
+AngelFish.prototype = Object.create(Fish.prototype);
+AngelFish.prototype.constructor = AngelFish;
var Game = Container.expand(function () {
var self = Container.call(this);
var aquarium = self.addChild(new Aquarium());
LK.stageContainer.setBackgroundColor(0x008080);
An aquarium with no fish on a sheel in a photorealistic style. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic goldfish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic Angelfish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic koyfish swiming to the right. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic gupyfish swiming to the right. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic bettafish swiming to the right. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic clownfish swiming to the right. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic pufferfish swiming to the right. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic surgeonfish swiming to the right. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic buble of water. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic fish egg. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic celestial pearl danio. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic Parrotfish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic dartfish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic moorishidol. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic tangfish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic bannerfish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic butterflyfish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic mandarinfish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a realistic lionfish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a realistic emperorFish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a realistic sunfish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a realistic discusFish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a realistic neonTetra. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a realistic oscarFish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a cardinal tetra. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a tang fish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a clown fish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.