mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-08 03:36:52 +08:00
Added event volume and balance.
This commit is contained in:
parent
1d3d425028
commit
45fbd64e30
@ -44,6 +44,7 @@ public class Event {
|
|||||||
int intValue;
|
int intValue;
|
||||||
float floatValue;
|
float floatValue;
|
||||||
String stringValue;
|
String stringValue;
|
||||||
|
float volume, balance;
|
||||||
final float time;
|
final float time;
|
||||||
|
|
||||||
public Event (float time, EventData data) {
|
public Event (float time, EventData data) {
|
||||||
@ -76,6 +77,22 @@ public class Event {
|
|||||||
this.stringValue = stringValue;
|
this.stringValue = stringValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public float getVolume () {
|
||||||
|
return volume;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVolume (float volume) {
|
||||||
|
this.volume = volume;
|
||||||
|
}
|
||||||
|
|
||||||
|
public float getBalance () {
|
||||||
|
return balance;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBalance (float balance) {
|
||||||
|
this.balance = balance;
|
||||||
|
}
|
||||||
|
|
||||||
/** The animation time this event was keyed. */
|
/** The animation time this event was keyed. */
|
||||||
public float getTime () {
|
public float getTime () {
|
||||||
return time;
|
return time;
|
||||||
|
|||||||
@ -38,6 +38,7 @@ public class EventData {
|
|||||||
int intValue;
|
int intValue;
|
||||||
float floatValue;
|
float floatValue;
|
||||||
String stringValue, audioPath;
|
String stringValue, audioPath;
|
||||||
|
float volume, balance;
|
||||||
|
|
||||||
public EventData (String name) {
|
public EventData (String name) {
|
||||||
if (name == null) throw new IllegalArgumentException("name cannot be null.");
|
if (name == null) throw new IllegalArgumentException("name cannot be null.");
|
||||||
@ -76,6 +77,22 @@ public class EventData {
|
|||||||
this.audioPath = audioPath;
|
this.audioPath = audioPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public float getVolume () {
|
||||||
|
return volume;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVolume (float volume) {
|
||||||
|
this.volume = volume;
|
||||||
|
}
|
||||||
|
|
||||||
|
public float getBalance () {
|
||||||
|
return balance;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBalance (float balance) {
|
||||||
|
this.balance = balance;
|
||||||
|
}
|
||||||
|
|
||||||
/** The name of the event, which is unique within the skeleton. */
|
/** The name of the event, which is unique within the skeleton. */
|
||||||
public String getName () {
|
public String getName () {
|
||||||
return name;
|
return name;
|
||||||
|
|||||||
@ -310,6 +310,10 @@ public class SkeletonBinary {
|
|||||||
data.floatValue = input.readFloat();
|
data.floatValue = input.readFloat();
|
||||||
data.stringValue = input.readString();
|
data.stringValue = input.readString();
|
||||||
data.audioPath = input.readString();
|
data.audioPath = input.readString();
|
||||||
|
if (data.audioPath != null) {
|
||||||
|
data.volume = input.readFloat();
|
||||||
|
data.balance = input.readFloat();
|
||||||
|
}
|
||||||
skeletonData.events.add(data);
|
skeletonData.events.add(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -821,6 +825,10 @@ public class SkeletonBinary {
|
|||||||
event.intValue = input.readInt(false);
|
event.intValue = input.readInt(false);
|
||||||
event.floatValue = input.readFloat();
|
event.floatValue = input.readFloat();
|
||||||
event.stringValue = input.readBoolean() ? input.readString() : eventData.stringValue;
|
event.stringValue = input.readBoolean() ? input.readString() : eventData.stringValue;
|
||||||
|
if (event.getData().audioPath != null) {
|
||||||
|
event.volume = input.readFloat();
|
||||||
|
event.balance = input.readFloat();
|
||||||
|
}
|
||||||
timeline.setFrame(i, event);
|
timeline.setFrame(i, event);
|
||||||
}
|
}
|
||||||
timelines.add(timeline);
|
timelines.add(timeline);
|
||||||
|
|||||||
@ -295,7 +295,11 @@ public class SkeletonJson {
|
|||||||
data.intValue = eventMap.getInt("int", 0);
|
data.intValue = eventMap.getInt("int", 0);
|
||||||
data.floatValue = eventMap.getFloat("float", 0f);
|
data.floatValue = eventMap.getFloat("float", 0f);
|
||||||
data.stringValue = eventMap.getString("string", "");
|
data.stringValue = eventMap.getString("string", "");
|
||||||
data.audioPath = eventMap.getString("audio", "");
|
data.audioPath = eventMap.getString("audio", null);
|
||||||
|
if (data.audioPath != null) {
|
||||||
|
data.volume = eventMap.getFloat("volume", 1);
|
||||||
|
data.balance = eventMap.getFloat("balance", 0);
|
||||||
|
}
|
||||||
skeletonData.events.add(data);
|
skeletonData.events.add(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -736,9 +740,13 @@ public class SkeletonJson {
|
|||||||
EventData eventData = skeletonData.findEvent(eventMap.getString("name"));
|
EventData eventData = skeletonData.findEvent(eventMap.getString("name"));
|
||||||
if (eventData == null) throw new SerializationException("Event not found: " + eventMap.getString("name"));
|
if (eventData == null) throw new SerializationException("Event not found: " + eventMap.getString("name"));
|
||||||
Event event = new Event(eventMap.getFloat("time"), eventData);
|
Event event = new Event(eventMap.getFloat("time"), eventData);
|
||||||
event.intValue = eventMap.getInt("int", eventData.getInt());
|
event.intValue = eventMap.getInt("int", eventData.intValue);
|
||||||
event.floatValue = eventMap.getFloat("float", eventData.getFloat());
|
event.floatValue = eventMap.getFloat("float", eventData.floatValue);
|
||||||
event.stringValue = eventMap.getString("string", eventData.getString());
|
event.stringValue = eventMap.getString("string", eventData.stringValue);
|
||||||
|
if (event.getData().audioPath != null) {
|
||||||
|
event.volume = eventMap.getFloat("volume", eventData.volume);
|
||||||
|
event.balance = eventMap.getFloat("balance", eventData.balance);
|
||||||
|
}
|
||||||
timeline.setFrame(frameIndex++, event);
|
timeline.setFrame(frameIndex++, event);
|
||||||
}
|
}
|
||||||
timelines.add(timeline);
|
timelines.add(timeline);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user