mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-04 22:34:53 +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;
|
||||
float floatValue;
|
||||
String stringValue;
|
||||
float volume, balance;
|
||||
final float time;
|
||||
|
||||
public Event (float time, EventData data) {
|
||||
@ -76,6 +77,22 @@ public class Event {
|
||||
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. */
|
||||
public float getTime () {
|
||||
return time;
|
||||
|
||||
@ -38,6 +38,7 @@ public class EventData {
|
||||
int intValue;
|
||||
float floatValue;
|
||||
String stringValue, audioPath;
|
||||
float volume, balance;
|
||||
|
||||
public EventData (String name) {
|
||||
if (name == null) throw new IllegalArgumentException("name cannot be null.");
|
||||
@ -76,6 +77,22 @@ public class EventData {
|
||||
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. */
|
||||
public String getName () {
|
||||
return name;
|
||||
|
||||
@ -310,6 +310,10 @@ public class SkeletonBinary {
|
||||
data.floatValue = input.readFloat();
|
||||
data.stringValue = input.readString();
|
||||
data.audioPath = input.readString();
|
||||
if (data.audioPath != null) {
|
||||
data.volume = input.readFloat();
|
||||
data.balance = input.readFloat();
|
||||
}
|
||||
skeletonData.events.add(data);
|
||||
}
|
||||
|
||||
@ -821,6 +825,10 @@ public class SkeletonBinary {
|
||||
event.intValue = input.readInt(false);
|
||||
event.floatValue = input.readFloat();
|
||||
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);
|
||||
}
|
||||
timelines.add(timeline);
|
||||
|
||||
@ -295,7 +295,11 @@ public class SkeletonJson {
|
||||
data.intValue = eventMap.getInt("int", 0);
|
||||
data.floatValue = eventMap.getFloat("float", 0f);
|
||||
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);
|
||||
}
|
||||
|
||||
@ -736,9 +740,13 @@ public class SkeletonJson {
|
||||
EventData eventData = skeletonData.findEvent(eventMap.getString("name"));
|
||||
if (eventData == null) throw new SerializationException("Event not found: " + eventMap.getString("name"));
|
||||
Event event = new Event(eventMap.getFloat("time"), eventData);
|
||||
event.intValue = eventMap.getInt("int", eventData.getInt());
|
||||
event.floatValue = eventMap.getFloat("float", eventData.getFloat());
|
||||
event.stringValue = eventMap.getString("string", eventData.getString());
|
||||
event.intValue = eventMap.getInt("int", eventData.intValue);
|
||||
event.floatValue = eventMap.getFloat("float", eventData.floatValue);
|
||||
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);
|
||||
}
|
||||
timelines.add(timeline);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user