Nez 使用 PrototypeSpriteRenderer 组件无法按照中心旋转的办法

Nez 使用 PrototypeSpriteRenderer 组件无法按照中心旋转的办法

解决办法

    public class PrototypeSpriteRenderer2: PrototypeSpriteRenderer
    {

        public override void Render(Batcher batcher, Camera camera)
        {
            var pos = (Entity.Transform.Position - (Origin.Rotated(Entity.Transform.Rotation) * Entity.Transform.Scale) + LocalOffset);
            var size = new Point((int)(Width * Entity.Transform.Scale.X), (int)(Height * Entity.Transform.Scale.Y));
            var destRect = new Rectangle((int)pos.X, (int)pos.Y, size.X, size.Y);
            batcher.Draw(_sprite, destRect, _sprite.SourceRect, Color, Entity.Transform.Rotation,
                SpriteEffects.None, LayerDepth, SkewTopX, SkewBottomX, SkewLeftY, SkewRightY);
        }
    }

使用这个取代 本来的 PrototypeSpriteRenderer 。

posted @ 2025-07-31 08:55  fanbal  阅读(3)  评论(0)    收藏  举报