Mitte des Bildschirms??

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Milchshake
Beiträge: 166
Registriert: 30.01.2006 17:47
Wohnort: Zwischen dem Sessel und dem Computer

Mitte des Bildschirms??

Beitrag von Milchshake »

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 jetzt PB 4.02
Muhahaha!!!!
Benutzeravatar
Macros
Beiträge: 1361
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Beitrag von Macros »

Du musst einfach den Hintergrund Scrollen,
anstatt des Spielers.
Bewegt sich der Spieler nach oben,
bewegt sich stattdessen der Hintergrund nach unten.
Benutzeravatar
Milchshake
Beiträge: 166
Registriert: 30.01.2006 17:47
Wohnort: Zwischen dem Sessel und dem Computer

Beitrag von Milchshake »

und wie mache ich das am besten??
Hab jetzt PB 4.02
Muhahaha!!!!
Benutzeravatar
Macros
Beiträge: 1361
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Beitrag von Macros »

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.
Benutzeravatar
Milchshake
Beiträge: 166
Registriert: 30.01.2006 17:47
Wohnort: Zwischen dem Sessel und dem Computer

Beitrag von Milchshake »

Ja!! 39alex@gmx.at
Danke!!
Hab jetzt PB 4.02
Muhahaha!!!!
Benutzeravatar
Macros
Beiträge: 1361
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Beitrag von Macros »

Hier der Code (ist auch als E-Mail mit Beispielbild bei dir im Postfach):

edit: der Computer ist beim erstellen abgestürzt :evil:

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
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

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 :allright:
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
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Beitrag von nco2k »

@STARGÅTE
poste es doch einfach hier, dann haben alle was davon.

c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

Oder man lässt die Figur im GTA2 Style drehen.
Benutzeravatar
Macros
Beiträge: 1361
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Beitrag von Macros »

Bei dem am Anfang genannten Beispiel Sacred,
dreht sich auch nur die Figur und nicht die Ansicht.
Antworten