spine-as3, more efficient Flash rendering.

This commit is contained in:
NathanSweet 2016-05-13 11:14:22 +02:00
parent c4d2937b6a
commit eecb22064e
2 changed files with 52 additions and 48 deletions

View File

@ -80,15 +80,20 @@ public class SkeletonSprite extends Sprite {
for (var i:int = 0, n:int = drawOrder.length; i < n; i++) {
var slot:Slot = drawOrder[i];
var regionAttachment:RegionAttachment = slot.attachment as RegionAttachment;
if (regionAttachment) {
if (!regionAttachment) continue;
var wrapper:Sprite = wrappers[regionAttachment];
var region:AtlasRegion = AtlasRegion(regionAttachment.rendererObject);
if (!wrapper) {
var region:AtlasRegion = AtlasRegion(regionAttachment.rendererObject);
var regionHeight:Number = region.rotate ? region.width : region.height;
var regionData:BitmapData = region.rendererObject as BitmapData;
if (!regionData) {
var bitmapData:BitmapData = region.page.rendererObject as BitmapData;
var regionWidth:Number = region.rotate ? region.height : region.width;
var regionHeight:Number = region.rotate ? region.width : region.height;
var regionData:BitmapData = new BitmapData(regionWidth, regionHeight);
regionData = new BitmapData(regionWidth, regionHeight);
regionData.copyPixels(bitmapData, new Rectangle(region.x, region.y, regionWidth, regionHeight), new Point());
region.rendererObject = regionData;
}
var bitmap:Bitmap = new Bitmap(regionData);
bitmap.smoothing = true;
@ -139,7 +144,6 @@ public class SkeletonSprite extends Sprite {
addChild(wrapper);
}
}
}
public function get skeleton () : Skeleton {
return _skeleton;