BASIC

Author Topic: einzelne Punkte mit linie verbinden  (Read 1062 times)

Offline backslider

  • Community Developer
  • Prof. Inline
  • ******
  • Posts: 892
    • View Profile
einzelne Punkte mit linie verbinden
« 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

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10709
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
Re: einzelne Punkte mit linie verbinden
« Reply #1 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]