Sprite Sheets now parse and render correctly too.

This commit is contained in:
Richard Davey
2013-08-30 02:18:00 +01:00
parent 1e59bc69fb
commit a81a8effb4
11 changed files with 92 additions and 31 deletions
+3 -24
View File
@@ -22,33 +22,12 @@
function create() {
//var texture = PIXI.TextureCache['skully.png'];
// PIXI.BaseTextureCache['monsters'] = new PIXI.BaseTexture(game.cache.getImage('monsters'));
// every image loaded should go into the BaseTextureCache, unique by URL (or maybe key)
// var base = new PIXI.BaseTexture(game.cache.getImage('monsters'));
// Every FRAME needs a PIXI.Texture, related to the base (the source image) and the frame data
// var texture = new PIXI.Texture(base, { x: 0, y: 0, width: 100, height: 100 });
// var texture2 = new PIXI.Texture(base, { x: 0, y: 0, width: 100, height: 300 });
// PIXI.Sprite.fromFrame(key) pulls the texture from the TextureCache and returns a new Sprite made from it...
// var texture = PIXI.TextureCache[frameId];
// console.log(PIXI.TextureCache);
// console.log(game.cache.getFrameData('monsters'));
// This is created by the very act of loading a texture atlas in
frameData = game.cache.getFrameData('monsters');
// bunny = new PIXI.Sprite(texture2);
// Both of these work - they look fugly I know, but they'll be hidden behind a Phaser Sprite anyway
bunny = PIXI.Sprite.fromFrame(frameData.getFrame(0).uuid);
// bunny = PIXI.Sprite.fromFrame(frameData.getFrameByName('skully.png').uuid);
// bunny = PIXI.Sprite.fromImage('monsters');
bunny.anchor.x = 0.5;
bunny.anchor.y = 0.5;
@@ -74,7 +53,7 @@
bunny.setTexture(PIXI.TextureCache[frameData.getFrame(f).uuid]);
n = game.time.now + 1000;
n = game.time.now + 500;
}
}
+68
View File
@@ -0,0 +1,68 @@
<!DOCTYPE HTML>
<html>
<head>
<title>phaser.js - a new beginning</title>
<?php
require('js.php');
?>
</head>
<body>
<script type="text/javascript">
(function () {
var game = new Phaser.Game(800, 600, Phaser.CANVAS, '', { preload: preload, create: create, update: update }, false, false);
var bunny;
function preload() {
game.load.spritesheet('metalslug', 'assets/sprites/metalslug_monster39x40.png', 39, 40);
}
function create() {
// This is created by the very act of loading a sprite sheet in
frameData = game.cache.getFrameData('metalslug');
// Both of these work - they look fugly I know, but they'll be hidden behind a Phaser Sprite anyway
bunny = PIXI.Sprite.fromFrame(frameData.getFrame(0).uuid);
bunny.anchor.x = 0.5;
bunny.anchor.y = 0.5;
bunny.scale.x = 6;
bunny.scale.y = 6;
bunny.position.x = game.world.centerX;
bunny.position.y = game.world.centerY;
game.world.add(bunny);
n = game.time.now + 20;
}
var frameData;
var f = 0;
var n = 0;
function update() {
if (game.time.now > n)
{
f = game.math.wrapValue(f, 1, frameData.total);
bunny.setTexture(PIXI.TextureCache[frameData.getFrame(f).uuid]);
n = game.time.now + 40;
}
}
})();
</script>
</body>
</html>