var Prison = Container.expand(function () {
var self = Container.call(this);
var prisonGraphics = self.createAsset('prison', 'Prison object', .5, .5);
self.freezePlayer = function (player, monster) {
if (self.intersects(player)) {
player.isFrozen = true;
monster.scale.x *= 1.001;
monster.scale.y *= 1.001;
LK.setTimeout(function () {
player.isFrozen = false;
}, 3000);
self.destroy();
}
};
self.update = function (player, monster) {
self.freezePlayer(player, monster);
};
});
var Player = Container.expand(function () {
var self = Container.call(this);
var playerGraphics = self.createAsset('player', 'Player character', .5, .5);
self.targetPos = {
x: self.x,
y: self.y
};
self.isFrozen = false;
self.move = function () {
var dx = self.targetPos.x - self.x;
var dy = self.targetPos.y - self.y;
var distance = Math.sqrt(dx * dx + dy * dy);
if (distance > 0 && !self.isFrozen) {
self.x += dx / distance * 4;
self.y += dy / distance * 4;
}
};
self.update = function () {
self.move();
};
});
var Monster = Container.expand(function () {
var self = Container.call(this);
var monsterGraphics = self.createAsset('monster', 'Monster character', .5, .5);
self.chase = function (player) {
var dx = player.x - self.x;
var dy = player.y - self.y;
var distance = Math.sqrt(dx * dx + dy * dy);
if (distance > 0) {
self.x += dx / distance * 2;
self.y += dy / distance * 2;
}
};
self.update = function () {};
});
var Maze = Container.expand(function () {
var self = Container.call(this);
var mazeGraphics = self.createAsset('maze', 'Maze structure', .5, .5);
self.generate = function () {};
});
var Game = Container.expand(function () {
var self = Container.call(this);
var maze = self.addChild(new Maze());
var player = self.addChild(new Player());
var survivalTimeDisplay = new Text2('0', {
size: 150,
fill: '#ffffff'
});
survivalTimeDisplay.anchor.set(.5, 0);
LK.gui.topCenter.addChild(survivalTimeDisplay);
var monster = self.addChild(new Monster());
var prisons = [];
player.x = 1024;
player.y = 1366;
monster.x = 2048;
monster.y = 2732;
maze.generate();
self.spawnPrison = function () {
var prison = self.addChild(new Prison());
prison.x = Math.random() * 2048;
prison.y = Math.random() * 2732;
prisons.push(prison);
};
var isGameOver = false;
var survivalTime = 0;
LK.on('tick', function () {
player.update();
monster.chase(player);
monster.update();
if (LK.ticks % 180 === 0) {
self.spawnPrison();
}
survivalTime += 1 / 60;
for (var i = 0; i < prisons.length; i++) {
prisons[i].update(player, monster);
}
if (player.intersects(monster)) {
isGameOver = true;
}
survivalTimeDisplay.setText(Math.floor(survivalTime));
if (isGameOver) {
LK.effects.flashScreen(0xff0000, 1000);
LK.showGameOver();
}
});
var isMouseDown = false;
stage.on('down', function (obj) {
var event = obj.event;
player.targetPos = event.getLocalPosition(self);
isMouseDown = true;
});
stage.on('move', function (obj) {
if (isMouseDown) {
var event = obj.event;
player.targetPos = event.getLocalPosition(self);
}
});
stage.on('up', function (obj) {
isMouseDown = false;
});
});
maak een horror player karakter van boven af Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
maak een horror player karakter van boven af en het moet vriendelijk zijn Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
make a prison Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.