Merge pull request #176 from rjimenezda/dev

Polygon class & drawPolygon method
This commit is contained in:
Richard Davey 2013-11-05 13:20:35 -08:00
commit de34a13545
3 changed files with 38 additions and 0 deletions

View file

@ -18,6 +18,7 @@ module.exports = function (grunt) {
'src/pixi/core/Matrix.js',
'src/pixi/core/Point.js',
'src/pixi/core/Rectangle.js',
'src/pixi/core/Polygon.js',
'src/pixi/display/DisplayObject.js',
'src/pixi/display/DisplayObjectContainer.js',
'src/pixi/display/Sprite.js',
@ -82,6 +83,7 @@ module.exports = function (grunt) {
'src/geom/Circle.js',
'src/geom/Point.js',
'src/geom/Rectangle.js',
'src/geom/Polygon.js',
'src/net/Net.js',
'src/tween/TweenManager.js',
'src/tween/Tween.js',

View file

@ -50,6 +50,18 @@ Phaser.Graphics.prototype.destroy = function() {
}
/*
* Draws a {Phaser.Polygon} or a {PIXI.Polygon} filled
*/
Phaser.Graphics.prototype.drawPolygon = function (poly) {
graphics.moveTo(poly.points[0].x, poly.points[0].y);
for (var i = 1; i < poly.points.length; i += 1) {
graphics.lineTo(poly.points[i].x, poly.points[i].y);
}
graphics.lineTo(poly.points[0].x, poly.points[0].y);
}
Object.defineProperty(Phaser.Graphics.prototype, 'angle', {
get: function() {

24
src/geom/Polygon.js Normal file
View file

@ -0,0 +1,24 @@
/**
* Creates a new Polygon. You have to provide a list of points
* @class Phaser.Polygon
* @classdesc The polygon represents a list of orderded points in space
* @constructor
* @param points* {Array<Point>|Array<Number>|Point...|Number...} This can be an array of Points that form the polygon,
* a flat array of numbers that will be interpreted as [x,y, x,y, ...], or the arugments passed can be
* all the points of the polygon e.g. `new PIXI.Polygon(new PIXI.Point(), new PIXI.Point(), ...)`, or the
* arguments passed can be flat x,y values e.g. `new PIXI.Polygon(x,y, x,y, x,y, ...)` where `x` and `y` are
* Numbers.
**/
Phaser.Polygon = function (points) {
PIXI.Polygon.call(this, points);
/**
* @property {Description} type - Description.
*/
this.type = Phaser.POLYGON;
};
Phaser.Polygon.prototype = Object.create(PIXI.Polygon.prototype);
Phaser.Polygon.prototype.constructor = Phaser.Polygon;