js13kgames2017-muri/src/muri.js
2017-08-17 19:05:06 +02:00

65 lines
1.6 KiB
JavaScript

this.muri = {
init: function(kontra) {
kontra.init('js13k-2017');
kontra.assets.imagePath = 'assets/images';
kontra.assets.load(
'player.png',
'room_stasis_dark.png',
'room_stasis.png'
).then(function() {
});
}
};
(function(m) {
var bubble = {};
bubble.show = function() {
};
m.bubble = bubble;
return bubble;
}(muri || {}));
init: function() {
muri.bubble.playerSprite = kontra.sprite({x: 0, y: 0, image: kontra.assets.images.player })
},
bubble: {
isActive: false,
playerSprite: false,
show: function(text, position=[2, 7], delay=3, callback=false) {
muri.bubble.isActive = true;
var bubble = document.getElementById('bubble');
bubble.style.display = '';
bubble.style.left = position[0]*8;
bubble.style.top = position[1]*8;
bubble.innerHTML = text;
setTimeout(function() {
muri.bubble.isActive = false;
bubble.style.display = 'none';
if (callback !== false) callback.call();
}, delay*1000);
},
talk: function(texts, position) {
if (texts.length === 0) return;
var text = texts.shift();
var delay = Math.ceil(text.length/13);
muri.bubble.show(text, position, delay, function() {
muri.bubble.talk(texts, position);
});
},
render: function() {
if (muri.bubble.isActive) {
muri.bubble.playerSprite.render();
}
}
}
};