aqualogue/main/Renderer.js
RedEnchilada 6ecf965ff6 Add storybook cutscenes
intro needs some art drawn and boss needs music
2016-05-17 23:53:02 -05:00

95 lines
No EOL
1.9 KiB
JavaScript

Renderer = (function() {
var Renderer = {};
var renderer;
Renderer.init = function(next) {
renderer = PIXI.autoDetectRenderer(500, 280, {
antialias: false,
transparent: false,
resolution: 1
});
document.addEventListener("unload", function() {
renderer.destroy(true);
});
PIXI.SCALE_MODES.DEFAULT = PIXI.SCALE_MODES.NEAREST;
document.body.appendChild(renderer.view);
PIXI.loader.add([
"assets/sprites.json",
"assets/tiles/water.png",
"assets/tiles/waterback.png",
"assets/tiles/bg-mountains.png",
"assets/tiles/bg-save.png",
"assets/tiles/bg-cavern.png",
"assets/tiles/bg-boss.png",
"assets/cutscene/intro1.png",
"assets/cutscene/intro2.png",
"assets/cutscene/intro3.png",
"assets/cutscene/boss1.png",
"assets/cutscene/boss2.png",
"assets/cutscene/boss3.png",
"assets/type.fnt"
]).load(next);
}
Renderer.sprite = function(name) {
var sprite = new PIXI.Sprite(PIXI.utils.TextureCache[name]);
sprite.anchor.set(0.5, 0.5);
return sprite;
}
Renderer.animation = function(sprites) {
var anim = PIXI.extras.MovieClip.fromFrames(sprites);
anim.anchor.set(0.5, 0.5);
anim.speed = function(speed) {
anim.animationSpeed = speed/60;
return anim;
}
return anim;
}
Renderer.text = function(txt, x, y) {
var txt = new PIXI.extras.BitmapText(txt, {font: 'TYPE_FONT'});
txt.position.set(x, y);
return txt;
}
Renderer.typewriterText = function(text, x, y) {
var txt = Renderer.text("", x, y);
txt.spot = 0;
type();
return txt;
function type() {
txt.spot++;
txt.text = text.substring(0, txt.spot);
if (txt.spot < text.length) {
window.setTimeout(type, 40);
}
}
}
Renderer.show = function(stage) {
renderer.render(stage);
}
Renderer.skip = function() {
}
Renderer.frameskip = 1;
return Renderer;
})();