Mitte des Bildschirms??
- Milchshake
- Beiträge: 166
- Registriert: 30.01.2006 17:47
- Wohnort: Zwischen dem Sessel und dem Computer
Mitte des Bildschirms??
Ich hab ein Problem!!Da ich noch ziemlich neu bin,
hab ich in vielen Dingen keine ahnung!
Doch wie geht es,das man z.B in einen Rollenspiel wie Sacred oder so immer in der mitte des bildschirmes is!!Geht das in PureBasic auch??Wenn ja wie??
hab ich in vielen Dingen keine ahnung!
Doch wie geht es,das man z.B in einen Rollenspiel wie Sacred oder so immer in der mitte des bildschirmes is!!Geht das in PureBasic auch??Wenn ja wie??
Hab jetzt PB 4.02
Muhahaha!!!!
Muhahaha!!!!
- Milchshake
- Beiträge: 166
- Registriert: 30.01.2006 17:47
- Wohnort: Zwischen dem Sessel und dem Computer
Bei jedem Darstellungsbefehl z.b. DisplaySprite() von den x und y werten eine Variable zb ScrollX ScrollY abziehen (DisplaySprite(?,x-ScrollX,y-ScrollY)
Bei Spielerbewegung die Variable verändern z.b. 1 nach rechts ScrollX + 1
da es ja abgezogen wird.
Ich mach dir mal nen Beispielcode (hast du ne E-Mail ?).
edit: wenn du sie nicht posten willst, kannst du sie ja an mich mailen.
Bei Spielerbewegung die Variable verändern z.b. 1 nach rechts ScrollX + 1
da es ja abgezogen wird.
Ich mach dir mal nen Beispielcode (hast du ne E-Mail ?).
edit: wenn du sie nicht posten willst, kannst du sie ja an mich mailen.
- Milchshake
- Beiträge: 166
- Registriert: 30.01.2006 17:47
- Wohnort: Zwischen dem Sessel und dem Computer
Hier der Code (ist auch als E-Mail mit Beispielbild bei dir im Postfach):
edit: der Computer ist beim erstellen abgestürzt
edit: der Computer ist beim erstellen abgestürzt

Code: Alles auswählen
;initialisieren
InitSprite()
InitKeyboard()
If OpenScreen(1024,768,32,"test")=0
End
EndIf
CreateSprite(2,10,10)
StartDrawing(SpriteOutput(2))
Box(0,0,10,10,RGB(0,255,0))
StopDrawing()
If LoadSprite(1,"C:\test.bmp")=0
End
EndIf
;Programmschleife
Repeat
FlipBuffers()
ExamineKeyboard()
;Tasten prüfen
If KeyboardPushed(#PB_Key_Up)
posy+10
EndIf
If KeyboardPushed(#PB_Key_Down)
posy-10
EndIf
If KeyboardPushed(#PB_Key_Left)
posx+10
EndIf
If KeyboardPushed(#PB_Key_Right)
posx-10
EndIf
; OOO Zeichne 9 Sprites, so dass der Spieler nie ein Ende sieht.
; OOO
; OOO
For x=-1024 To 1024 Step 1024
For y=-768 To 768 Step 768
DisplaySprite(1,x+posx,y+posy)
Next
Next
;wenn das Sprite seine Größe verschoben wurde, es wieder zurücksetzen (der Spieler merkt nichts)
If posx>1024
posx-1024
EndIf
If posx<-1024
posx+1024
EndIf
If posy<-768
posy+768
EndIf
If posy>768
posy-768
EndIf
;Spieler
DisplaySprite(2,1024/2,768/2)
Until KeyboardPushed(#PB_Key_Escape)
End
gut das wäre die einfache Variante.
Aber wenn du dich drehen willst wird es schwerer weil du ja auch die Umgebung anpassen musst wenn du willst kann ich dir auch ein Beispiel schicken wo das sehr gut zu sehen ist
Aber wenn du dich drehen willst wird es schwerer weil du ja auch die Umgebung anpassen musst wenn du willst kann ich dir auch ein Beispiel schicken wo das sehr gut zu sehen ist

PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr