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 (Math.random() < 0.05) { self.targetRotation = self.rotation + (Math.random() - 0.5) * Math.PI; self.rotationStartTime = LK.ticks; self.rotationDuration = 60; } if (self.targetRotation !== undefined) { var progress = (LK.ticks - self.rotationStartTime) / self.rotationDuration; if (progress < 1) { self.rotation += (self.targetRotation - self.rotation) * progress; } else { self.rotation = self.targetRotation; delete 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.y < waterBounds.top || self.y > waterBounds.bottom) { var centerX = 2048 / 2; var waterBounds = self.getWaterBounds(); var centerY = (2732 - waterBounds.bottom + waterBounds.top) / 2; self.rotation = Math.atan2(centerY - self.y, centerX - self.x); } if (Math.cos(self.rotation) < 0) { fishGraphics.scale.x = -1; } else { fishGraphics.scale.x = 1; } fishGraphics.rotation = self.rotation; }; }); var Game = Container.expand(function () { var self = Container.call(this); var aquarium = self.addChild(new Aquarium()); LK.stageContainer.setBackgroundColor(0x008080); var fishes = []; for (var i = 0; i < 10; i++) { var fish = new Fish(); 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(); } }); });
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 (Math.random() < 0.05) {
self.targetRotation = self.rotation + (Math.random() - 0.5) * Math.PI;
self.rotationStartTime = LK.ticks;
self.rotationDuration = 60;
}
if (self.targetRotation !== undefined) {
var progress = (LK.ticks - self.rotationStartTime) / self.rotationDuration;
if (progress < 1) {
self.rotation += (self.targetRotation - self.rotation) * progress;
} else {
self.rotation = self.targetRotation;
delete 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.y < waterBounds.top || self.y > waterBounds.bottom) {
var centerX = 2048 / 2;
var waterBounds = self.getWaterBounds();
var centerY = (2732 - waterBounds.bottom + waterBounds.top) / 2;
self.rotation = Math.atan2(centerY - self.y, centerX - self.x);
}
if (Math.cos(self.rotation) < 0) {
fishGraphics.scale.x = -1;
} else {
fishGraphics.scale.x = 1;
}
fishGraphics.rotation = self.rotation;
};
});
var Game = Container.expand(function () {
var self = Container.call(this);
var aquarium = self.addChild(new Aquarium());
LK.stageContainer.setBackgroundColor(0x008080);
var fishes = [];
for (var i = 0; i < 10; i++) {
var fish = new Fish();
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();
}
});
});
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.