コード例 #1
0
        static int Position2Index(Size Size, Point Position, NSE_Framework.Data.Sprite.SpriteType Type)
        {
            if (Type == NSE_Framework.Data.Sprite.SpriteType.Color16)
            {
                int r = (Position.Y - (Position.Y % 8)) / 2 * Size.Width;
                r += (Position.X - (Position.X % 8)) * 4;
                r += (Position.Y % 8) * 4;
                r += (Position.X % 8) / 2;

                return(r);
            }
            else if (Type == NSE_Framework.Data.Sprite.SpriteType.Color256)
            {
                int r = (Position.Y - (Position.Y % 8)) * Size.Width;
                r += (Position.X - (Position.X % 8)) * 8;
                r += (Position.Y % 8) * 8;
                r += (Position.X % 8);

                return(r);
            }
            else
            {
                return(-1);
            }
        }
コード例 #2
0
ファイル: mainForm.cs プロジェクト: TetradogOther/NSE
        int Position2Index(Size Size, Point Position, NSE_Framework.Data.Sprite.SpriteType Type)
        {
            Position.X = Clamp(Position.X, 0, NewSprite.Width * 8 - 1);
            Position.Y = Clamp(Position.Y, 0, NewSprite.Height * 8 - 1);

            if (Type == NSE_Framework.Data.Sprite.SpriteType.Color16)
            {
                int r = (Position.Y - (Position.Y % 8)) / 2 * Size.Width;
                r += (Position.X - (Position.X % 8)) * 4;
                r += (Position.Y % 8) * 4;
                r += (Position.X % 8) / 2;

                return(Clamp(r, 0, Size.Width * Size.Height / 2 - 1));;
            }
            else if (Type == NSE_Framework.Data.Sprite.SpriteType.Color256)
            {
                int r = (Position.Y - (Position.Y % 8)) * Size.Width;
                r += (Position.X - (Position.X % 8)) * 8;
                r += (Position.Y % 8) * 8;
                r += (Position.X % 8);

                return(Clamp(r, 0, Size.Width * Size.Height - 1));
            }
            else
            {
                return(-1);
            }
        }