GLBasic forum

Other languages => GLBasic - de => Topic started by: backslider on 2009-Nov-25

Title: einzelne Punkte mit linie verbinden
Post by: backslider on 2009-Nov-25
Hi Leute,

ich habe gerade einmal probiert, ein Programm zu schreiben, in welchem ich pro Mausklick ein Quadrat zeichne.
Meine Idee ist, dass wenn ich das zweite und folgende Quadrate zeichne, diese immer zum letzten eine Verbindung per Linie haben...
Wie macht man sowas?  :)

Code (glbasic) Select
// --------------------------------- //
// Project: lineTest
// Start: Wednesday, November 25, 2009
// IDE Version: 7.082


TYPE Tpoint
x
y
ENDTYPE

GLOBAL line_nr=0


LOCAL newPoint AS Tpoint
LOCAL Points[] AS Tpoint

SYSTEMPOINTER TRUE

WHILE TRUE

LOCAL mx,my,b1,b2
MOUSESTATE mx,my,b1,b2

//erstellt ein neues Quadrat unter dem Mauszeiger
IF b1
IF mousefree=TRUE
newPoint.x=mx-10
newPoint.y=my-10

DIMPUSH Points[], newPoint

INC line_nr,1

mousefree=FALSE
ENDIF
ELSE
mousefree=TRUE
ENDIF

//Hier wird das Quadrat gezeichnet und soll eine Linie von diesem zum letzten Quadrat zeichnen...
FOREACH Check IN Points[]
DrawQuad(Check.x,Check.y,20,RGB(255,255,255))

//Das hier geht natürlich nicht, aber wie kann ich das realisieren? :)
IF line_nr>0
DRAWLINE Check.x+10,Check.y+10, Check-1.x+10, Check-1.y+10, RGB(255,255,255)
ENDIF
NEXT


PRINT mousefree, 10,10
PRINT line_nr, 10,20

SHOWSCREEN
WEND


// ------------------------------------------------------------- //
// ---  DRAWQUAD  ---
// ------------------------------------------------------------- //
FUNCTION DrawQuad: x, y, width, color
// Diese Variablen sind als LOCAL definiert:
// x, y, width, color
DRAWLINE x,y,x+width,y,color
DRAWLINE x+width,y,x+width,y+width,color
DRAWLINE x+width,y+width,x,y+width,color
DRAWLINE x,y+width,x,y,color

ENDFUNCTION // DRAWQUAD
Title: Re: einzelne Punkte mit linie verbinden
Post by: Kitty Hello on 2009-Nov-25
mit POLYVECTOR und mode = 2 (Strips) evtl?
[ul]http://www.glbasic.com/xmlhelp.php?lang=de&id=297&action=view[/url]