I
IndirectY
Guest
I'm trying to write a script that only draws a part of a sprite, using vertex only.
For example, there is a sprite with a size of 128x32 and I will run the script to draw only a half (0,0 to 64,32), or a quarter (0,0 to 32,32), but drawn as the same size of 128x32.
So I got the left value and the right value using sprite_get_uvs(), multiplied them by 0.5 (or 0.25), and passed the values to vertex_normal(). And the results does not look right.
If the script was done right, both cyan and blue should be visible. But as you see in the 50% one (64x32), only cyan is visible. for 25% (32x32), pink is taking 2 strokes and blue is not visible.
I tried ( uv[0] + uv[2] ) * x too, but it does not look right when x=1 or x=0.25.
So, what should I do to get the correct UV values for this?
For example, there is a sprite with a size of 128x32 and I will run the script to draw only a half (0,0 to 64,32), or a quarter (0,0 to 32,32), but drawn as the same size of 128x32.
So I got the left value and the right value using sprite_get_uvs(), multiplied them by 0.5 (or 0.25), and passed the values to vertex_normal(). And the results does not look right.
If the script was done right, both cyan and blue should be visible. But as you see in the 50% one (64x32), only cyan is visible. for 25% (32x32), pink is taking 2 strokes and blue is not visible.
I tried ( uv[0] + uv[2] ) * x too, but it does not look right when x=1 or x=0.25.
So, what should I do to get the correct UV values for this?