Phaser current version test environment
Basic Phaser setup for testing
HTML
<script src="http://cdn.jsdelivr.net/phaser/2.4.1/phaser.js"></script>
<script src="https://dl.dropboxusercontent.com/u/14053711/earcut.js"></script>
<div id="test"></div>
JavaScript
var game = new Phaser.Game(500, 400, Phaser.WEBGL, 'test');
var BasicGame = function(game) {};
BasicGame.Boot = function (game) {
// nothing here
};
BasicGame.Boot.prototype =
{
preload: function() {
game.load.baseURL = 'http://examples.phaser.io/assets/';
game.load.crossOrigin = 'anonymous';
game.load.image('phaser', 'sprites/phaser-dude.png');
},
create: function()
{
game.tilepoly = game.add.tileSprite(200, 200, 512, 512, 'phaser');
game.tilepoly.anchor.setTo(0.5);
game.tilemask = game.add.graphics(200, 200);
game.tilemask.beginFill(0xFFFFFF, 1);
game.tilemask.drawPolygon(new Phaser.Polygon(-104, -99, 0, 23, 92, -97, 256, 98, -97 , 95));
game.tilemask.endFill();
game.tilepoly.mask = game.tilemask;
},
update: function()
{
},
render: function()
{
}
};
PIXI.WebGLGraphics.buildPoly = function(graphicsData, webGLData)
{
var points = graphicsData.points;
if(points.length < 6)return;
// get first and last point.. figure out the middle!
var verts = webGLData.points;
var indices = webGLData.indices;
var length = points.length / 2;
// sort color
var color = PIXI.hex2rgb(graphicsData.fillColor);
var alpha = graphicsData.fillAlpha;
var r = color[0] * alpha;
var g = color[1] * alpha;
var b = color[2] * alpha;
// var triangles = PIXI.PolyK.Triangulate(points);
var triangles = earcut(points, null, 2);
if(!triangles)return false;
var vertPos = verts.length / 6;
var i = 0;
for (i = 0; i < triangles.length; i+=3)
{
indices.push(triangles[i] + vertPos);
indices.push(triangles[i] + vertPos);
indices.push(triangles[i+1] + vertPos);
indices.push(triangles[i+2] +vertPos);
indices.push(triangles[i+2] + vertPos);
}
for (i = 0; i < length; i++)
{
verts.push(points[i * 2],...