Brauche Hilfe bei meinem Code
Übersicht

Blitzkrieg BopBetreff: Brauche Hilfe bei meinem Code |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hier der COdE! Mein Frage: Wie kann ich BB nun sagen, das Die Neuen Bilder nur in einem Besttimen Bereich gemalt werden dürfen?
Also die ganze Fläche über dem strich soll man nicht bemalen dürfen. Code: [AUSKLAPPEN] Graphics 800,600,16,2 SetBuffer BackBuffer() AppTitle "Darstellung" anz = 4 ; Anzahl der Rects Dim posX(anz),posY(anz),col(anz) posX(0) = 270 posY(0) = 0 col(0) = Rnd(100,255) While Not KeyHit(1) Cls ;linie malen: Rect 0,100,800,2,1 If wahl = 1 posX(array) = MouseX()-xm posY(array) = MouseY()-ym If MouseHit(1) Then wahl = 0 EndIf For I = 0 To array Color col(I),col(I),col(I) Rect posX(I),posY(I),100,100,1 If wahl = 0 And I > 0 Then If RectsOverlap(MouseX(),MouseY(),1,1,posX(I),posY(I),100,100) Then If MouseHit(2) Then For E = I To array-1 posX(E) = posX(E+1) posY(E) = posY(E+1) col(E) = col(E+1) Next array = array - 1 EndIf EndIf EndIf Next ;And MouseY() < 50 And MouseX() < 370 And MouseX() > 260 If wahl = 0 And array < anz Then If RectsOverlap(MouseX(),MouseY(),1,1,posX(0),posY(0),100,100) Then If MouseHit(1) Then wahl = 1 array = array + 1 col(array) = Rnd(100,255) xm = MouseX()-posX(0) ym = MouseY()-posY(0) EndIf EndIf EndIf Color 255,255,255 Text 0,0,"Anzahl der Bilder: "+array Text 0,50,"Mausy()"+MouseY() Text 0,100,"Mausx()"+MouseX() Text 0,150,"Wahl"+wahl FlushMouse Flip Wend End |
||
~ Hey Ho Let's Go ~ |
![]() |
sami |
![]() Antworten mit Zitat ![]() |
---|---|---|
schau mal in der hilfe unter viewport | ||
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi! KEine schlechte idde nur:
Einerseit muss oben das Rechteck zu sehen sein und unter dem Strich muss auch der Viewport belegt sein,. Ich kann aber keine 2 Viewports machen, also scheidet das aus oder? |
||
~ Hey Ho Let's Go ~ |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Natürlich kann man 2 Viewports machen:
Code: [AUSKLAPPEN] Graphics 800,600,0,2 Viewport 0,0,400,600 ClsColor 70,100,255 Cls Viewport 400,0,400,600 ClsColor 255,70,100 Cls WaitKey() |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hab folgende sim obigen Code eingebaut:
Viewport 270,0,100,100 Cls Viewport 0,101,800,600 Cls es geht nicht. Hier nochmal der Code: Code: [AUSKLAPPEN] Graphics 800,600,16,2 SetBuffer BackBuffer() AppTitle "Darstellung" anz = 4 ; Anzahl der Rects Dim posX(anz),posY(anz),col(anz) posX(0) = 270 posY(0) = 0 col(0) = Rnd(100,255) Viewport 270,0,100,100 Cls Viewport 0,101,800,600 Cls While Not KeyHit(1) Cls ;linie malen: Rect 0,100,800,2,1 If wahl = 1 posX(array) = MouseX()-xm posY(array) = MouseY()-ym If MouseHit(1) Then wahl = 0 EndIf For I = 0 To array Color col(I),col(I),col(I) Rect posX(I),posY(I),100,100,1 If wahl = 0 And I > 0 Then If RectsOverlap(MouseX(),MouseY(),1,1,posX(I),posY(I),100,100) Then If MouseHit(2) Then For E = I To array-1 posX(E) = posX(E+1) posY(E) = posY(E+1) col(E) = col(E+1) Next array = array - 1 EndIf EndIf EndIf Next ;And MouseY() < 50 And MouseX() < 370 And MouseX() > 260 If wahl = 0 And array < anz Then If RectsOverlap(MouseX(),MouseY(),1,1,posX(0),posY(0),100,100) Then If MouseHit(1) Then wahl = 1 array = array + 1 col(array) = Rnd(100,255) xm = MouseX()-posX(0) ym = MouseY()-posY(0) EndIf EndIf EndIf Color 255,255,255 Text 0,0,"Anzahl der Bilder: "+array Text 0,50,"Mausy()"+MouseY() Text 0,100,"Mausx()"+MouseX() Text 0,150,"Wahl"+wahl FlushMouse Flip Wend End |
||
~ Hey Ho Let's Go ~ |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
ÄHEM, du musst die Viewports in der Hauptschleife jedesmal wieder neu setzen; ViewPort erzeugt ein Bereich, in dem nachfolgend alle Grafiken eingezeichnet werden können, Grafiken (und auch Teile deren), die ausserhalb des mit Viewport definierten Bereiches liegen, werden nicht gemalt. Das Erneute vestlegen eines Viewportes hat kein Verlust des bereits gezeichneten Bildschirm- (Buffer- oder Bild-) Inhaltes zur folge.
Hier ein kleiner Code zur Verständigung: Code: [AUSKLAPPEN] Graphics 800,600,16,2 SetBuffer BackBuffer() While Not KeyHit(1) mx=MouseX() my=MouseY() Viewport 0,0,800,300 ClsColor 128,100,70 Cls Color 140,140,140 Rect mx-20, my-20, 40, 40 Viewport 0,300,800,300 ClsColor 70,100,128 Cls Color 120,120,120 Rect mx-30, my-30, 60, 60 Flip Wend End |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group