mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-22 18:26:12 +08:00
Updated to Starling 1.4. Fixed Starling atlas loading. Minor optimizations.
This commit is contained in:
parent
97f9b7e4d2
commit
b0c4890560
@ -10,7 +10,7 @@
|
|||||||
</excludedEntries>
|
</excludedEntries>
|
||||||
</libraryPathEntry>
|
</libraryPathEntry>
|
||||||
<libraryPathEntry kind="3" linkType="1" path="/spine-as3/bin/spine-as3.swc" useDefaultLinkType="false"/>
|
<libraryPathEntry kind="3" linkType="1" path="/spine-as3/bin/spine-as3.swc" useDefaultLinkType="false"/>
|
||||||
<libraryPathEntry kind="3" linkType="1" path="libs/starling-1.3.swc" useDefaultLinkType="false"/>
|
<libraryPathEntry kind="3" linkType="1" path="libs/starling-1.4.swc" useDefaultLinkType="false"/>
|
||||||
</libraryPath>
|
</libraryPath>
|
||||||
<sourceAttachmentPath/>
|
<sourceAttachmentPath/>
|
||||||
</compiler>
|
</compiler>
|
||||||
|
|||||||
Binary file not shown.
BIN
spine-starling/spine-starling/libs/starling-1.4.swc
Normal file
BIN
spine-starling/spine-starling/libs/starling-1.4.swc
Normal file
Binary file not shown.
@ -48,6 +48,7 @@ import starling.display.BlendMode;
|
|||||||
import starling.display.DisplayObject;
|
import starling.display.DisplayObject;
|
||||||
import starling.utils.Color;
|
import starling.utils.Color;
|
||||||
import starling.utils.MatrixUtil;
|
import starling.utils.MatrixUtil;
|
||||||
|
import starling.utils.VertexData;
|
||||||
|
|
||||||
public class SkeletonSprite extends DisplayObject implements IAnimatable {
|
public class SkeletonSprite extends DisplayObject implements IAnimatable {
|
||||||
static private var tempPoint:Point = new Point();
|
static private var tempPoint:Point = new Point();
|
||||||
@ -71,33 +72,35 @@ public class SkeletonSprite extends DisplayObject implements IAnimatable {
|
|||||||
|
|
||||||
override public function render (support:RenderSupport, alpha:Number) : void {
|
override public function render (support:RenderSupport, alpha:Number) : void {
|
||||||
alpha *= this.alpha * skeleton.a;
|
alpha *= this.alpha * skeleton.a;
|
||||||
|
var r:Number = skeleton.r * 255;
|
||||||
|
var g:Number = skeleton.g * 255;
|
||||||
|
var b:Number = skeleton.b * 255;
|
||||||
|
var x:Number = skeleton.x;
|
||||||
|
var y:Number = skeleton.y;
|
||||||
var drawOrder:Vector.<Slot> = skeleton.drawOrder;
|
var drawOrder:Vector.<Slot> = skeleton.drawOrder;
|
||||||
for (var i:int = 0, n:int = drawOrder.length; i < n; i++) {
|
for (var i:int = 0, n:int = drawOrder.length; i < n; i++) {
|
||||||
var slot:Slot = drawOrder[i];
|
var slot:Slot = drawOrder[i];
|
||||||
var regionAttachment:RegionAttachment = slot.attachment as RegionAttachment;
|
var regionAttachment:RegionAttachment = slot.attachment as RegionAttachment;
|
||||||
if (regionAttachment != null) {
|
if (regionAttachment != null) {
|
||||||
var vertices:Vector.<Number> = this.vertices;
|
var vertices:Vector.<Number> = this.vertices;
|
||||||
regionAttachment.computeWorldVertices(skeleton.x, skeleton.y, slot.bone, vertices);
|
regionAttachment.computeWorldVertices(x, y, slot.bone, vertices);
|
||||||
var r:Number = skeleton.r * slot.r * 255;
|
|
||||||
var g:Number = skeleton.g * slot.g * 255;
|
|
||||||
var b:Number = skeleton.b * slot.b * 255;
|
|
||||||
var a:Number = slot.a;
|
var a:Number = slot.a;
|
||||||
var rgb:uint = Color.rgb(r,g,b);
|
var rgb:uint = Color.rgb(r * slot.r, g * slot.g, b * slot.b);
|
||||||
|
|
||||||
var image:SkeletonImage = regionAttachment.rendererObject as SkeletonImage;
|
var image:SkeletonImage = regionAttachment.rendererObject as SkeletonImage;
|
||||||
var vertexData:Vector.<Number> = image.vertexData.rawData;
|
var vertexData:VertexData = image.vertexData;
|
||||||
|
|
||||||
image.vertexData.setPosition(0, vertices[2], vertices[3]);
|
vertexData.setPosition(0, vertices[2], vertices[3]);
|
||||||
image.vertexData.setColorAndAlpha(0, rgb, a);
|
vertexData.setColorAndAlpha(0, rgb, a);
|
||||||
|
|
||||||
image.vertexData.setPosition(1, vertices[4], vertices[5]);
|
vertexData.setPosition(1, vertices[4], vertices[5]);
|
||||||
image.vertexData.setColorAndAlpha(1, rgb, a);
|
vertexData.setColorAndAlpha(1, rgb, a);
|
||||||
|
|
||||||
image.vertexData.setPosition(2, vertices[0], vertices[1]);
|
vertexData.setPosition(2, vertices[0], vertices[1]);
|
||||||
image.vertexData.setColorAndAlpha(2, rgb, a);
|
vertexData.setColorAndAlpha(2, rgb, a);
|
||||||
|
|
||||||
image.vertexData.setPosition(3, vertices[6], vertices[7]);
|
vertexData.setPosition(3, vertices[6], vertices[7]);
|
||||||
image.vertexData.setColorAndAlpha(3, rgb, a);
|
vertexData.setColorAndAlpha(3, rgb, a);
|
||||||
|
|
||||||
image.updateVertices();
|
image.updateVertices();
|
||||||
support.blendMode = slot.data.additiveBlending ? BlendMode.ADD : BlendMode.NORMAL;
|
support.blendMode = slot.data.additiveBlending ? BlendMode.ADD : BlendMode.NORMAL;
|
||||||
|
|||||||
@ -62,12 +62,12 @@ public class StarlingAtlasAttachmentLoader implements AttachmentLoader {
|
|||||||
var frame:Rectangle = texture.frame;
|
var frame:Rectangle = texture.frame;
|
||||||
texture = Texture.fromTexture(texture); // Discard frame.
|
texture = Texture.fromTexture(texture); // Discard frame.
|
||||||
regionAttachment.rendererObject = new SkeletonImage(texture);
|
regionAttachment.rendererObject = new SkeletonImage(texture);
|
||||||
regionAttachment.regionOffsetX = frame.x;
|
regionAttachment.regionOffsetX = -frame.x;
|
||||||
regionAttachment.regionOffsetY = frame.y;
|
regionAttachment.regionOffsetY = -frame.y;
|
||||||
regionAttachment.regionWidth = frame.width;
|
regionAttachment.regionWidth = texture.width;
|
||||||
regionAttachment.regionHeight = frame.height;
|
regionAttachment.regionHeight = texture.height;
|
||||||
regionAttachment.regionOriginalWidth = texture.width;
|
regionAttachment.regionOriginalWidth = frame.width;
|
||||||
regionAttachment.regionOriginalHeight = texture.height;
|
regionAttachment.regionOriginalHeight = frame.height;
|
||||||
return regionAttachment;
|
return regionAttachment;
|
||||||
case AttachmentType.boundingbox:
|
case AttachmentType.boundingbox:
|
||||||
return new BoundingBoxAttachment(name);
|
return new BoundingBoxAttachment(name);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user