aqualogue/main/Renderer.js

95 lines
1.9 KiB
JavaScript
Raw Permalink Normal View History

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);
2016-05-08 18:26:36 -05:00
PIXI.loader.add([
"assets/sprites.json",
"assets/tiles/water.png",
"assets/tiles/waterback.png",
"assets/tiles/bg-mountains.png",
2016-05-14 17:35:03 -05:00
"assets/tiles/bg-save.png",
"assets/tiles/bg-cavern.png",
2016-05-16 21:52:42 -05:00
"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",
2016-05-08 18:26:36 -05:00
"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;
}
2016-05-15 15:29:28 -05:00
Renderer.typewriterText = function(text, x, y) {
var txt = Renderer.text("", x, y);
2016-05-16 21:52:42 -05:00
txt.spot = 0;
2016-05-15 15:29:28 -05:00
type();
return txt;
function type() {
2016-05-16 21:52:42 -05:00
txt.spot++;
2016-05-15 15:29:28 -05:00
2016-05-16 21:52:42 -05:00
txt.text = text.substring(0, txt.spot);
2016-05-15 15:29:28 -05:00
2016-05-16 21:52:42 -05:00
if (txt.spot < text.length) {
2016-05-15 15:29:28 -05:00
window.setTimeout(type, 40);
}
}
}
Renderer.show = function(stage) {
renderer.render(stage);
}
Renderer.skip = function() {
}
Renderer.frameskip = 1;
return Renderer;
})();