mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-11 17:48:45 +08:00
Clean up.
This commit is contained in:
parent
9f4def5b40
commit
d0a65081df
@ -36,7 +36,26 @@ package spine {
|
||||
public class Polygon {
|
||||
public var vertices:Vector.<Number> = new Vector.<Number>();
|
||||
|
||||
/// <summary>Returns true if the polygon contains the line segment.</summary>
|
||||
/** Returns true if the polygon contains the point. */
|
||||
public function containsPoint (x:Number, y:Number) : Boolean {
|
||||
var nn:int = vertices.length;
|
||||
|
||||
var prevIndex:int = nn - 2;
|
||||
var inside:Boolean = false;
|
||||
for (var ii:int = 0; ii < nn; ii += 2) {
|
||||
var vertexY:Number = vertices[ii + 1];
|
||||
var prevY:Number = vertices[prevIndex + 1];
|
||||
if ((vertexY < y && prevY >= y) || (prevY < y && vertexY >= y)) {
|
||||
var vertexX:Number = vertices[ii];
|
||||
if (vertexX + (y - vertexY) / (prevY - vertexY) * (vertices[prevIndex] - vertexX) < x) inside = !inside;
|
||||
}
|
||||
prevIndex = ii;
|
||||
}
|
||||
|
||||
return inside;
|
||||
}
|
||||
|
||||
/** Returns true if the polygon contains the line segment. */
|
||||
public function intersectsSegment (x1:Number, y1:Number, x2:Number, y2:Number) : Boolean {
|
||||
var nn:int = vertices.length;
|
||||
|
||||
@ -58,25 +77,6 @@ public class Polygon {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>Returns true if the polygon contains the point.</summary>
|
||||
public function containsPoint (x:Number, y:Number) : Boolean {
|
||||
var nn:int = vertices.length;
|
||||
|
||||
var prevIndex:int = nn - 2;
|
||||
var inside:Boolean = false;
|
||||
for (var ii:int = 0; ii < nn; ii += 2) {
|
||||
var vertexY:Number = vertices[ii + 1];
|
||||
var prevY:Number = vertices[prevIndex + 1];
|
||||
if ((vertexY < y && prevY >= y) || (prevY < y && vertexY >= y)) {
|
||||
var vertexX:Number = vertices[ii];
|
||||
if (vertexX + (y - vertexY) / (prevY - vertexY) * (vertices[prevIndex] - vertexX) < x) inside = !inside;
|
||||
}
|
||||
prevIndex = ii;
|
||||
}
|
||||
|
||||
return inside;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -40,7 +40,7 @@ public class SkeletonData {
|
||||
public var slots:Vector.<SlotData> = new Vector.<SlotData>(); // Setup pose draw order.
|
||||
public var skins:Vector.<Skin> = new Vector.<Skin>();
|
||||
public var defaultSkin:Skin;
|
||||
public var eventDatas:Vector.<EventData> = new Vector.<EventData>();
|
||||
public var events:Vector.<EventData> = new Vector.<EventData>();
|
||||
public var animations:Vector.<Animation> = new Vector.<Animation>();
|
||||
|
||||
// --- Bones.
|
||||
@ -126,15 +126,15 @@ public class SkeletonData {
|
||||
public function addEvent (eventData:EventData) : void {
|
||||
if (eventData == null)
|
||||
throw new ArgumentError("eventData cannot be null.");
|
||||
eventDatas.push(eventData);
|
||||
events.push(eventData);
|
||||
}
|
||||
|
||||
/** @return May be null. */
|
||||
public function findEvent (eventName:String) : EventData {
|
||||
if (eventName == null)
|
||||
throw new ArgumentError("eventName cannot be null.");
|
||||
for (var i:int = 0, n:int = eventDatas.length; i < n; i++) {
|
||||
var eventData:EventData = eventDatas[i];
|
||||
for (var i:int = 0, n:int = events.length; i < n; i++) {
|
||||
var eventData:EventData = events[i];
|
||||
if (eventData.name == eventName)
|
||||
return eventData;
|
||||
}
|
||||
|
||||
@ -287,7 +287,7 @@ public class SkeletonJson {
|
||||
|
||||
var eventsMap:Object = map["events"];
|
||||
if (eventsMap) {
|
||||
var timeline4:EventTimeline = new EventTimeline(eventsMap.Count);
|
||||
var timeline4:EventTimeline = new EventTimeline(eventsMap.length);
|
||||
var frameIndex4:int = 0;
|
||||
for each (var eventMap:Object in eventsMap) {
|
||||
var eventData:EventData = skeletonData.findEvent(eventMap["name"]);
|
||||
@ -299,7 +299,7 @@ public class SkeletonJson {
|
||||
timeline4.setFrame(frameIndex4++, eventMap["time"], event);
|
||||
}
|
||||
timelines.push(timeline4);
|
||||
duration = Math.max(duration, timeline.frames[timeline4.frameCount - 1]);
|
||||
duration = Math.max(duration, timeline4.frames[timeline4.frameCount - 1]);
|
||||
}
|
||||
|
||||
var drawOrderValues:Object = map["draworder"];
|
||||
|
||||
@ -230,11 +230,3 @@ public class AnimationState {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
import spine.animation.Animation;
|
||||
|
||||
class QueueEntry {
|
||||
public var animation:Animation;
|
||||
public var loop:Boolean;
|
||||
public var delay:Number;
|
||||
}
|
||||
|
||||
@ -69,7 +69,7 @@ public class DrawOrderTimeline implements Timeline {
|
||||
var slots:Vector.<Slot> = skeleton.slots;
|
||||
var drawOrderToSetupIndex:Vector.<int> = drawOrders[frameIndex];
|
||||
var i:int = 0;
|
||||
if (drawOrderToSetupIndex == null) {
|
||||
if (!drawOrderToSetupIndex) {
|
||||
for each (var slot:Slot in skeleton.slots)
|
||||
drawOrder[i++] = slot;
|
||||
} else {
|
||||
|
||||
@ -303,7 +303,7 @@ public class SkeletonBinary {
|
||||
EventTimeline timeline = new EventTimeline(eventCount);
|
||||
for (int i = 0; i < eventCount; i++) {
|
||||
float time = input.readFloat();
|
||||
EventData eventData = skeletonData.eventDatas.get(input.readInt(true));
|
||||
EventData eventData = skeletonData.events.get(input.readInt(true));
|
||||
Event event = new Event(eventData);
|
||||
event.intValue = input.readInt(false);
|
||||
event.floatValue = input.readFloat();
|
||||
|
||||
@ -41,7 +41,7 @@ public class SkeletonData {
|
||||
final Array<SlotData> slots = new Array(); // Setup pose draw order.
|
||||
final Array<Skin> skins = new Array();
|
||||
Skin defaultSkin;
|
||||
final Array<EventData> eventDatas = new Array();
|
||||
final Array<EventData> events = new Array();
|
||||
final Array<Animation> animations = new Array();
|
||||
|
||||
public void clear () {
|
||||
@ -49,7 +49,7 @@ public class SkeletonData {
|
||||
slots.clear();
|
||||
skins.clear();
|
||||
defaultSkin = null;
|
||||
eventDatas.clear();
|
||||
events.clear();
|
||||
animations.clear();
|
||||
}
|
||||
|
||||
@ -149,19 +149,19 @@ public class SkeletonData {
|
||||
|
||||
public void addEvent (EventData eventData) {
|
||||
if (eventData == null) throw new IllegalArgumentException("eventData cannot be null.");
|
||||
eventDatas.add(eventData);
|
||||
events.add(eventData);
|
||||
}
|
||||
|
||||
/** @return May be null. */
|
||||
public EventData findEvent (String eventDataName) {
|
||||
if (eventDataName == null) throw new IllegalArgumentException("eventDataName cannot be null.");
|
||||
for (EventData eventData : eventDatas)
|
||||
for (EventData eventData : events)
|
||||
if (eventData.name.equals(eventDataName)) return eventData;
|
||||
return null;
|
||||
}
|
||||
|
||||
public Array<EventData> getEvents () {
|
||||
return eventDatas;
|
||||
return events;
|
||||
}
|
||||
|
||||
// --- Animations.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user