Tiling Sprite added

Added Tiling Sprite to Pixi.js
Added example 9 - TilingSprite
Updated docs
This commit is contained in:
Mat Groves 2013-04-20 14:56:30 +01:00
parent c1c4d75a3d
commit 3dddce23ad
63 changed files with 9903 additions and 252 deletions

View file

@ -69,6 +69,8 @@
<li><a href="..&#x2F;classes/Texture.html">Texture</a></li>
<li><a href="..&#x2F;classes/TilingSprite.html">TilingSprite</a></li>
<li><a href="..&#x2F;classes/WebGLBatch.html">WebGLBatch</a></li>
<li><a href="..&#x2F;classes/WebGLRenderer.html">WebGLRenderer</a></li>
@ -298,6 +300,11 @@ PIXI.CanvasRenderer.prototype.renderDisplayObject = function(displayObject)
context.setTransform(transform[0], transform[3], transform[1], transform[4], transform[2], transform[5])
this.renderStrip(displayObject);
}
else if(displayObject instanceof PIXI.TilingSprite)
{
context.setTransform(transform[0], transform[3], transform[1], transform[4], transform[2], transform[5])
this.renderTilingSprite(displayObject);
}
&#x2F;&#x2F; render!
for (var i=0; i &lt; displayObject.children.length; i++)
@ -341,6 +348,33 @@ PIXI.CanvasRenderer.prototype.renderStripFlat = function(strip)
&#x2F;&#x2F;context.globalCompositeOperation = &#x27;source-over&#x27;;
}
&#x2F;**
* @private
*&#x2F;
PIXI.CanvasRenderer.prototype.renderTilingSprite = function(sprite)
{
var context = this.context;
if(!sprite.__tilePattern) sprite.__tilePattern = context.createPattern(sprite.texture.baseTexture.source, &quot;repeat&quot;);
context.beginPath();
var tilePosition = sprite.tilePosition;
var tileScale = sprite.tileScale;
&#x2F;&#x2F; offset
context.scale(tileScale.x,tileScale.y);
context.translate(tilePosition.x, tilePosition.y);
context.fillStyle = sprite.__tilePattern;
context.fillRect(-tilePosition.x,-tilePosition.y,sprite.width &#x2F; tileScale.x, sprite.height &#x2F; tileScale.y);
context.scale(1&#x2F;tileScale.x, 1&#x2F;tileScale.y);
context.translate(-tilePosition.x, -tilePosition.y);
}
&#x2F;**
* @private
*&#x2F;
@ -363,8 +397,8 @@ PIXI.CanvasRenderer.prototype.renderStrip = function(strip)
var x0 = verticies[index], x1 = verticies[index+2], x2 = verticies[index+4];
var y0 = verticies[index+1], y1 = verticies[index+3], y2 = verticies[index+5];
var u0 = uvs[index] * strip.texture.width, u1 = uvs[index+2]* strip.texture.width, u2 = uvs[index+4]* strip.texture.width;
var v0 = uvs[index+1]* strip.texture.height, v1 = uvs[index+3]* strip.texture.height, v2 = uvs[index+5]* strip.texture.height;
var u0 = uvs[index] * strip.texture.width, u1 = uvs[index+2] * strip.texture.width, u2 = uvs[index+4]* strip.texture.width;
var v0 = uvs[index+1]* strip.texture.height, v1 = uvs[index+3] * strip.texture.height, v2 = uvs[index+5]* strip.texture.height;
context.save();