using the Circle method and knowing the start angle(playerangle-30) and end angle (playerangle+30), in degrees, how can i draw the arc?

Recommended Answers

All 3 Replies

that's why i did these function:

Private Sub DrawCurve(PosX As Double, PosY As Double, Raio As Integer, StartAngle As Single, EndAngle As Single)
    Dim Angulo As Single
    Dim Radians As Double
    Dim PontoX As Double, PontoY As Double
    Angulo = StartAngle
    Dim Rad As Double
    Rad = PI / 180
    Do While Angulo <= (EndAngle) 
        Radians = Angulo * Rad
        PontoX = PosX + Raio * Cos(Radians) 
        PontoY = PosY + Raio * Sin(Radians)

        MemPic.PSet (PontoX, PontoY), vbYellow 

        Angulo = Angulo + 1 
    Loop
End Sub

these function can be more updated for never use the Circle() method ;)
thanks for all

heres the function updated:

Const PI As Double = 3.14159265358979
Private Sub DrawCurve(Destiny As Control, PosX As Double, PosY As Double, Raio As Integer, Optional Color As ColorConstants = vbBlack, Optional StartAngle As Single = 0, Optional EndAngle As Single = 360)
    Dim Angulo As Single
    Dim Radians As Double
    Dim PontoX As Double, PontoY As Double
    Angulo = StartAngle
    Dim Rad As Double
    Rad = PI / 180
    Do While Angulo <= (EndAngle) ' ângulo final da curva
        Radians = Angulo * Rad
        PontoX = PosX + Raio * Cos(Radians) ' coordenada X do ponto na curva
        PontoY = PosY + Raio * Sin(Radians) ' coordenada Y do ponto na curva

        Destiny.PSet (PontoX, PontoY), Color ' desenha o ponto na cor amarela

        Angulo = Angulo + 1 ' incrementa o ângulo para desenhar o próximo ponto
    Loop
End Sub
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.