Bleibender, Fortlaufender Strich
Übersicht

![]() |
relentless92Betreff: Bleibender, Fortlaufender Strich |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo ihrs,
Ich sitze grade an etwas, was mir keine Ruhe lässt und brauche mal euren Rat. Ich denke, jeder von euch kennt Snake - die sich bewegende 2D Schlange. Ich allerdings möchte eine unendlich fortlaufende Linie zeichnen - nur kommen bisher nur Plots bei rum. Code: Code: [AUSKLAPPEN] Graphics 800,600,32,1 SetBuffer BackBuffer() timer=CreateTimer(60) SeedRnd MilliSecs() ;Globals ----------------------- ;CONST ------------------------- ;Laden ------------------------- ;Maskimage --------------------- ;Sonstiges --------------------- Type Player Field x,y ;Field da Field speedx,speedy End Type Repeat If MouseHit(1)=True Then p1.player=New player p1\x=Rnd(0,100) p1\y=Rnd(0,100) ;p1\da=1 Plot p1\x,p1\y p1\speedx=2 p1\speedy=2 EndIf For p1.player=Each player ;If da=1 Then p1\x=p1\x+p1\speedx p1\y=p1\y+p1\speedy Plot p1\x,p1\y ;Else ;da=0 ;EndIf Next Flip Cls WaitTimer timer Until KeyHit(1) Erst hatte ich "da" drinn, da mir eingefallen ist, das es eventuell mit einem Zustand klappen könnte, aber Fehlanzeige. MfG |
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Am besten du machst noch einen Type für die einzelnen Plots. Und es ist besser, wenn du WritePixel![]() ![]() |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
relentless92 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du meinst zusätzlich zu den Playern?
Wieso und inwiefern sollte ich die miteinander nutzen? Plot wird später sowieso durch Rect oder sogar einem Image ersetzt. Das war nur weils Schneller zu schreiben war ;D |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sowas?
Code: [AUSKLAPPEN] Graphics 800,600,32,1 SetBuffer BackBuffer() timer=CreateTimer(60) SeedRnd MilliSecs() ;Globals ----------------------- ;CONST ------------------------- ;Laden ------------------------- ;Maskimage --------------------- ;Sonstiges --------------------- Type Player Field x,y Field nx,ny Field speedx,speedy End Type Repeat Cls If MouseHit(1)=True Then p1.player=New player p1\x=Rnd(0,100) p1\y=Rnd(0,100) p1\nx=p1\x p1\ny=p1\y p1\speedx=2 p1\speedy=2 EndIf For p1.player=Each player p1\nx=p1\nx+p1\speedx p1\ny=p1\ny+p1\speedy Line p1\x,p1\y,p1\nx,p1\ny Next WaitTimer timer Flip 0 Until KeyHit(1) PS: Timer und Flip 1=böse |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
relentless92 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Seh ich ja auch grade... Demnach sollte aber Flip 1 genügen, und man kann den timer weglassen, oder?
Zurück zum Code: Einfach getrickst! Allerdings soll die Linie auch Kurven können (werde eine Art Steuerung einbauen), dann ist das mit Line leider nicht mehr möglich... ^^ |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Achso. Dann kannst du jeden Pixel, den der Spieler überfährt auf ein Hintergrundimage malen. Dass müsste dann zwar 800x600 Pixel groß sein, aber was solls ![]() Zitat: SetBuffer Imagebuffer(Hintergrund)
Rect P\x,P\y,1,1 SetBuffer Backbuffer() printnochmehr() Zitat: Seh ich ja auch grade... Demnach sollte aber Flip 1 genügen, und man kann den timer weglassen, oder?
Genau andersrum. Timer und Flip 0 ![]() PS: Sorry, ich hab das wohl irgendwie falsch verstanden ![]() |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
relentless92 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ah, danke dir Tankbuster, so gehts natürlich ![]() Werde das mal Coden und schauen ob's geht. MfG |
||
![]() |
relentless92 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Funktioniert!
Das Problem: Die Kollision wenn ich 2 von den Dingern hab! Wie bewerkstelligt man das denn? ![]() |
||
![]() |
DerHase |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zeichne die Schlange einfach in einen eigenen image buffer und prüfe ob der "Kopf" irgendwo dagegen knallt ![]() |
||
Play Satyr! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group