Rearrange everything
This commit is contained in:
parent
93ee76d622
commit
4ef0441c7d
4 changed files with 86 additions and 97 deletions
|
@ -1 +1,38 @@
|
||||||
var 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();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//};
|
||||||
|
|
|
@ -13,4 +13,3 @@
|
||||||
|
|
||||||
<script src="vendor/kontra.js"></script>
|
<script src="vendor/kontra.js"></script>
|
||||||
<script src="muri.js"></script>
|
<script src="muri.js"></script>
|
||||||
<script src="main.js"></script>
|
|
||||||
|
|
51
src/main.js
51
src/main.js
|
@ -44,44 +44,13 @@
|
||||||
// TODO: "speech bubbles" for text
|
// TODO: "speech bubbles" for text
|
||||||
// TODO: Item store
|
// TODO: Item store
|
||||||
|
|
||||||
(function() {
|
// (function() {
|
||||||
kontra.init('js13k-2017');
|
//
|
||||||
kontra.assets.imagePath = 'assets/images';
|
// muri.bubble.talk([
|
||||||
|
// 'Uh ...',
|
||||||
kontra.assets.load(
|
// 'Where I am? ...',
|
||||||
'room_stasis_dark.png',
|
// 'It is so dark in here, I can\'t even see my bare hands. I can\'t remember a thing and my brain hurts so bad. What happened here?'
|
||||||
'room_stasis.png',
|
// ], [40, 20]);
|
||||||
'player.png'
|
//
|
||||||
).then(function() {
|
// });
|
||||||
document.getElementById('loading').style.display = 'none';
|
// }());
|
||||||
|
|
||||||
if (kontra.store.get('current-room') === null)
|
|
||||||
kontra.store.set('current-room', 'stasis_dark');
|
|
||||||
|
|
||||||
muri.bubble.talk([
|
|
||||||
'Uh ...',
|
|
||||||
'Where I am? ...',
|
|
||||||
'It is so dark in here, I can\'t even see my bare hands. I can\'t remember a thing and my brain hurts so bad. What happened here?'
|
|
||||||
], [40, 20]);
|
|
||||||
|
|
||||||
var rooms = {
|
|
||||||
stasis_dark: kontra.sprite({x: 0, y: 0, image: kontra.assets.images.room_stasis_dark}),
|
|
||||||
stasis: kontra.sprite({x: 0, y: 0, image: kontra.assets.images.room_stasis})
|
|
||||||
};
|
|
||||||
|
|
||||||
var loop = kontra.gameLoop({
|
|
||||||
update: function() {
|
|
||||||
var currentRoom = kontra.store.get('current-room');
|
|
||||||
rooms[currentRoom].update();
|
|
||||||
},
|
|
||||||
render: function() {
|
|
||||||
var currentRoom = kontra.store.get('current-room');
|
|
||||||
rooms[currentRoom].render();
|
|
||||||
muri.bubble.render();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
muri.init();
|
|
||||||
loop.start();
|
|
||||||
});
|
|
||||||
}());
|
|
||||||
|
|
84
src/muri.js
84
src/muri.js
|
@ -1,64 +1,48 @@
|
||||||
this.muri = {
|
var muri = (function() {
|
||||||
init: function(kontra) {
|
|
||||||
kontra.init('js13k-2017');
|
kontra.init('js13k-2017');
|
||||||
kontra.assets.imagePath = 'assets/images';
|
kontra.assets.imagePath = 'assets/images';
|
||||||
|
|
||||||
|
var muri = {};
|
||||||
|
|
||||||
|
var bg = function(room) {
|
||||||
|
return kontra.sprite({
|
||||||
|
x: 0, y: 0,
|
||||||
|
image: kontra.assets.images['room_'+room]
|
||||||
|
});
|
||||||
|
};
|
||||||
|
muri.modules = [];
|
||||||
|
|
||||||
|
muri.start = function() {
|
||||||
kontra.assets.load(
|
kontra.assets.load(
|
||||||
'player.png',
|
'player.png',
|
||||||
'room_stasis_dark.png',
|
'room_stasis_dark.png',
|
||||||
'room_stasis.png'
|
'room_stasis.png'
|
||||||
).then(function() {
|
).then(function() {
|
||||||
|
document.getElementById('loading').style.display = 'none';
|
||||||
|
if (kontra.store.get('current-room') === null)
|
||||||
|
kontra.store.set('current-room', 'stasis_dark');
|
||||||
|
|
||||||
});
|
var rooms = {
|
||||||
}
|
stasis_dark: bg('stasis_dark'),
|
||||||
|
stasis: bg('stasis')
|
||||||
};
|
};
|
||||||
|
|
||||||
|
kontra.gameLoop({
|
||||||
|
update: function() {
|
||||||
(function(m) {
|
var currentRoom = kontra.store.get('current-room');
|
||||||
var bubble = {};
|
rooms[currentRoom].update();
|
||||||
|
for (m in muri.modules) m.update();
|
||||||
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() {
|
render: function() {
|
||||||
if (muri.bubble.isActive) {
|
var currentRoom = kontra.store.get('current-room');
|
||||||
muri.bubble.playerSprite.render();
|
rooms[currentRoom].render();
|
||||||
}
|
for (m in muri.modules) m.render();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}).start();
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
return muri;
|
||||||
|
}());
|
||||||
|
|
||||||
|
window.onload = muri.start;
|
||||||
|
|
Loading…
Reference in a new issue