Exemplo n.º 1
0
    public void DrawSprite(RetroGraphicsSprite sprite, Vector2Int center, int index = 0)
    {
        var centerIndex = center.y * width + center.x;
        var sx          = (sprite.SingleSize.x * index % sprite.Stride);
        var sy          = (sprite.SingleSize.x * index / sprite.Stride) * sprite.SingleSize.y;
        //Debug.Log($"{sx},{sy}");
        var l = sprite.SingleSize.x * sprite.SingleSize.y;

        for (int i = 0; i < l; i++)
        {
            var x   = i % sprite.SingleSize.x + center.x;
            var y   = i / sprite.SingleSize.x + center.y;
            var ind = sx + (i % sprite.SingleSize.x) + (sy + (i / sprite.SingleSize.x)) * sprite.Stride;
            if (sprite.Buffer[ind] == 255)
            {
                continue;
            }
            DrawPixel(x, y, sprite.Buffer[ind]);
        }
    }
Exemplo n.º 2
0
 public TestBall(RetroGraphicsSprite s, RetroScreenRenderer r)
 {
     Sprite   = s;
     Renderer = r;
     center   = new Vector2Int(Random.Range(0, 600), Random.Range(0, 400));
 }