2D Toolkit Forum

2D Toolkit => Support => Topic started by: unfilet on November 22, 2013, 01:23:04 pm

Title: Anchor Point
Post by: unfilet on November 22, 2013, 01:23:04 pm
How get a anchorPoint of sprite? It's possible?
it is very necessary for get position of corners sprite.
Title: Re: Anchor Point
Post by: unfilet on November 23, 2013, 04:53:53 pm
Code: [Select]
        public static float NodeWidth(tk2dBaseSprite sprite)
        {
            return sprite.GetUntrimmedBounds().size.x;
        }

        public static float NodeHeight(tk2dBaseSprite sprite)
        {
            return sprite.GetUntrimmedBounds().size.y;
        }

        public static float NodeX(tk2dBaseSprite sprite)
        {
            return NodeLocalX(sprite) + sprite.GetUntrimmedBounds().min.x;
        }

        public static float NodeY(tk2dBaseSprite sprite)
        {
            return NodeLocalY(sprite) + sprite.GetUntrimmedBounds().min.y;
        }

        public static float NodeRightX(tk2dBaseSprite sprite)
        {
            return NodeLocalX(sprite) + sprite.GetUntrimmedBounds().max.x;;
        }

        public static float NodeUpperY(tk2dBaseSprite sprite)
        {
            return  NodeLocalY(sprite) + sprite.GetUntrimmedBounds().max.y;;
        }

        public static float NodeLocalX(tk2dBaseSprite sprite)
        {
            return sprite.transform.localPosition.x;
        }

        public static float NodeLocalY(tk2dBaseSprite sprite)
        {
            return sprite.transform.localPosition.y;
        }

        public static Vector2 NodeAnchorPoint(tk2dSprite sprite)
        {
            Bounds bn = sprite.GetUntrimmedBounds();
            return new Vector2(Mathf.Abs(bn.min.x / bn.size.x), Mathf.Abs(bn.min.y / bn.size.y));
        }
Title: Re: Anchor Point
Post by: unikronsoftware on November 23, 2013, 07:17:03 pm
Yup, the correct way to do it is with UntrimmedBounds / GetBounds.