* SpineGameObject.setSlotAlpha is a new method that allows you to set the alpha on a specific slot in a Spine skeleton. * The SpineGameObject.setAlpha method has had its 2nd parameter removed. This fixes needless slot look-ups during rendering when a Spine Game Object is inside a regular Container. If you need to set slot alpha, use the new setSlotAlpha method instead. Fix #6571

This commit is contained in:
Richard Davey 2024-02-01 12:47:35 +00:00
parent 5e0a40022e
commit c444f53d28

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;