0 votes

Hi there,

I was playing with the draw function and I just can't get drawpolygon to work and I dont get why. The other methods seem to work with the same set of variables. My scene is a Node2D with this simple script:

extends Node2D
var pts = PoolVector2Array()
var uvs = PoolVector2Array()
var clrarr = PoolColorArray()
var clr = Color(1,1,1,1)
func _draw():

    for i in range(4):
        var myx = floor(rand_range(100,600))
        var myy = floor(rand_range(100,600))
        pts.append(Vector2(myx, myy))
        uvs.append(Vector2(0,1))
        clrarr.append(Color(1,1,1,1))

    #works
    #draw_polyline(pts,Color(1,0.5,0,1), 1.0, false)
    #draw_polyline_colors(pts,clrarr, 1.0, false)
    #draw_multiline(pts, clr)
    #draw_primitive(pts, clrarr, uvs, null, 3.0, null)

    #won't work
    #draw_colored_polygon(pts, clr, uvs, null, null, false)
    #draw_polygon(pts, clrarr, uvs, null, null, false)

Any advice or hint what's wrong?
Thx

in Engine by (16 points)

Ok, it kind of works with this line, when I not try to set the uv-PoolVector2Array. I guess this uv-array needs another size than the corresponding points array:

draw_colored_polygon(basepoints, clr, PoolVector2Array(), null, null, true)

But not with the random point positions. Seems like there must be some kind of order to them, so that the borderlines dont intersect or soemethings like that. I'll try to figure it out.

Please log in or register to answer this question.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.