Added setSlotAlpha to Spine 3 plugin

This commit is contained in:
Richard Davey 2024-02-01 14:02:10 +00:00
parent b3722b1989
commit 2d6594cb18

View file

@ -284,6 +284,8 @@ var SpineGameObject = new Class({
* *
* Alpha values are provided as a float between 0, fully transparent, and 1, fully opaque. * Alpha values are provided as a float between 0, fully transparent, and 1, fully opaque.
* *
* To set the alpha of a specific attachment, use the `setSlotAlpha` method instead.
*
* @method SpineGameObject#setAlpha * @method SpineGameObject#setAlpha
* @since 3.19.0 * @since 3.19.0
* *
@ -291,22 +293,41 @@ var SpineGameObject = new Class({
* *
* @return {this} This Game Object instance. * @return {this} This Game Object instance.
*/ */
setAlpha: function (value, slotName) setAlpha: function (value)
{ {
if (value === undefined) { value = 1; } if (value === undefined) { value = 1; }
if (slotName) this.alpha = value;
{
var slot = this.findSlot(slotName);
if (slot) return this;
{ },
slot.color.a = Clamp(value, 0, 1);
} /**
} * Set the Alpha level for the given attachment slot.
else *
* The alpha controls the opacity of the slot as it renders.
*
* Alpha values are provided as a float between 0, fully transparent, and 1, fully opaque.
*
* To set the alpha for the whole skeleton, use the `setAlpha` method instead.
*
* @method SpineGameObject#setSlotAlpha
* @since 3.80.0
*
* @param {string} slotName - The name of the slot to find.
* @param {number} [value=1] - The alpha value used for the slot.
*
* @return {this} This Game Object instance.
*/
setSlotAlpha: function (value, slotName)
{
if (value === undefined) { value = 1; }
var slot = this.findSlot(slotName);
if (slot)
{ {
this.alpha = value; slot.color.a = Clamp(value, 0, 1);
} }
return this; return this;
@ -995,6 +1016,8 @@ var SpineGameObject = new Class({
{ {
this.setAnimation(0, animationName, loop, ignoreIfPlaying); this.setAnimation(0, animationName, loop, ignoreIfPlaying);
this.preUpdate(0, 16.66667);
return this; return this;
}, },