mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-20 17:26:01 +08:00
Merge branch '3.8' into 4.0-beta
# Conflicts: # spine-as3/spine-as3/lib/spine-as3.swc # spine-as3/spine-as3/src/spine/BinaryInput.as # spine-starling/spine-starling/lib/spine-starling.swc
This commit is contained in:
commit
131b586a42
@ -30,6 +30,7 @@
|
||||
package spine.attachments {
|
||||
import spine.Color;
|
||||
import spine.Bone;
|
||||
import flash.trace.Trace;
|
||||
|
||||
public dynamic class RegionAttachment extends Attachment {
|
||||
public const BLX : int = 0;
|
||||
@ -74,23 +75,24 @@ package spine.attachments {
|
||||
var localY2 : Number = localY + regionHeight * regionScaleY;
|
||||
|
||||
var radians : Number = rotation * Math.PI / 180;
|
||||
var ulDist : Number = Math.sqrt(localX * localX + localY * localY);
|
||||
var ulAngle : Number = Math.atan2(localY, localX);
|
||||
var urDist : Number = Math.sqrt(localX2 * localX2 + localY * localY);
|
||||
var urAngle : Number = Math.atan2(localY, localX2);
|
||||
var blDist : Number = Math.sqrt(localX * localX + localY2 * localY2);
|
||||
var blAngle : Number = Math.atan2(localY2, localX);
|
||||
var brDist : Number = Math.sqrt(localX2 * localX2 + localY2 * localY2);
|
||||
var brAngle : Number = Math.atan2(localY2, localX2);
|
||||
|
||||
offset[BLX] = Math.cos(radians - blAngle) * blDist + x;
|
||||
offset[BLY] = Math.sin(radians - blAngle) * blDist + y;
|
||||
offset[ULX] = Math.cos(radians - ulAngle) * ulDist + x;
|
||||
offset[ULY] = Math.sin(radians - ulAngle) * ulDist + y;
|
||||
offset[URX] = Math.cos(radians - urAngle) * urDist + x;
|
||||
offset[URY] = Math.sin(radians - urAngle) * urDist + y;
|
||||
offset[BRX] = Math.cos(radians - brAngle) * brDist + x;
|
||||
offset[BRY] = Math.sin(radians - brAngle) * brDist + y;
|
||||
var cos:Number = Math.cos(radians);
|
||||
var sin:Number = Math.sin(radians);
|
||||
var localXCos:Number = localX * cos + x;
|
||||
var localXSin:Number = localX * sin;
|
||||
var localYCos:Number = localY * cos + y;
|
||||
var localYSin:Number = localY * sin;
|
||||
var localX2Cos:Number = localX2 * cos + x;
|
||||
var localX2Sin:Number = localX2 * sin;
|
||||
var localY2Cos:Number = localY2 * cos + y;
|
||||
var localY2Sin:Number = localY2 * sin;
|
||||
offset[BLX] = localXCos - localYSin;
|
||||
offset[BLY] = localYCos + localXSin;
|
||||
offset[ULX] = localXCos - localY2Sin;
|
||||
offset[ULY] = localY2Cos + localXSin;
|
||||
offset[URX] = localX2Cos - localY2Sin;
|
||||
offset[URY] = localY2Cos + localX2Sin;
|
||||
offset[BRX] = localX2Cos - localYSin;
|
||||
offset[BRY] = localYCos + localX2Sin;
|
||||
}
|
||||
|
||||
public function setUVs(u : Number, v : Number, u2 : Number, v2 : Number, degrees : int) : void {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user