UnitySpriterAnimator.cs
protected override void ApplySpriteTransform(Sprite sprite, SpriterObject info)
{
GameObject child = childData.Sprites[index];
GameObject pivot = childData.SpritePivots[index];
child.SetActive(true);
pivot.SetActive(true);
SpriteRenderer renderer = renderers[index];
float ppu = sprite.pixelsPerUnit;
renderer.sprite = sprite;
Vector3 size = sprite.bounds.size;
float spritePivotX = sprite.pivot.x / ppu / size.x;
float spritePivotY = sprite.pivot.y / ppu / size.y;
float deltaX = (spritePivotX - info.PivotX) * size.x * info.ScaleX;
float deltaY = (spritePivotY - info.PivotY) * size.y * info.ScaleY;
renderer.color = new Color(1.0f, 1.0f, 1.0f, info.Alpha);
pivot.transform.localEulerAngles = new Vector3(0, 0, info.Angle);
pivot.transform.localPosition = new Vector3(info.X / ppu, info.Y / ppu, 0);
child.transform.localPosition = new Vector3(deltaX, deltaY, child.transform.localPosition.z);
child.transform.localScale = new Vector3(info.ScaleX, info.ScaleY, 1);
++index;
}
Why here need this line?
renderer.color = new Color(1.0f, 1.0f, 1.0f, info.Alpha);
This line resets the color of the component Sprite Renderer.
But even if I delete this line, then when I swapping the image (just two eyes and adding 4 stars) seen such strangeness:
Source:
Bomber.scml