spieler unabhängig von startposi immer in der mitte vom bild

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

brezelbakery

Betreff: spieler unabhängig von startposi immer in der mitte vom bild

BeitragDi, Aug 10, 2004 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm
also,tileengine,scrolling, und, kollision funzt Wink (naja so halbwegs)..
Jetzt zu meinem problem:
Code: [AUSKLAPPEN]
Global ppx = 6*16 ;X-Position des Charakters
Global ppy = 4*16 ;Y-Position des Charakters
Global py = 4  ;Kollisions X-Position des Charakters
Global px = 6  ;Kollisions Y-Position des Charakters
Global scrolly ;Die Variable für die ScrollY-Position
Global scrollx ;Die Variable für die ScrollX-Position

so wird die "startposition" des charas gesetzt...wie bringe ich das programm dazu, dass der spieler immer im mittelpunkt des screens
ist und nich irgendwie verschoben, wenn der startpkt abweicht?..
hab keine ahnung -0
hoffe auf hilfe Wink
thx im voraus
gruß brezelbakery

Hubsi

BeitragDi, Aug 10, 2004 20:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab das jetzt nur eben aus einem alten Projekt rauskopiert, sind also die Variablen noch anzupassen Wink Code: [AUSKLAPPEN]
For y=0 To viewheight+1 ; Map malen
 For x=0 To viewwidth+1
  If map(x+scrollx,y+scrolly)>0 DrawImage tile(map(x+scrollx,y+scrolly)),x*32+schiebx,y*32+schieby
 Next
Next

x=einheit\x-(scrollx*32-schiebx) ; Kontrollabschnitt
y=einheit\y-(scrolly*32-schieby)
DrawImage man(einheit\angle/3,einheit\typ),x,y,einheit\frame

; Edit:
u=map(x/32,(y-18)/32)
d=map(x/32,(y+16)/32)
l=map((x-16)/32,y/32)
r=map((x+16)/32,y/32)
m=map(x/32,y/32)
;End Edit
; Gleich noch die Kollisionskontrolle
; ausgehend davon die Spielfigur 'MidHandle' ist
; u=up
;d=down
;l=left
;r=right
;m=middle
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
  • Zuletzt bearbeitet von Hubsi am Di, Aug 10, 2004 21:02, insgesamt einmal bearbeitet

brezelbakery

BeitragDi, Aug 10, 2004 21:02
Antworten mit Zitat
Benutzer-Profile anzeigen
könntest du das bitte erklären..hab kein bock auf copy paste..ohne das ichs kapiere Wink
hoffe is net zuviel arbeit :X
edit: ich eminte den 1. code
2. hab ich noch net nageguckt mom

-->verstehs net hubsi Sad

brezelbakery

BeitragDi, Aug 10, 2004 21:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
 If map(x+scrollx,y+scrolly)>0DrawImage tile(ma(x+scrollx,y+scrolly)),x*32+schiebx,y*32+schieby
DrawImage man(einheit\angle/3,einheit\typ),x,y,einheit\frame

warum? >0
was ist schiebx/y viewheight ?
und \angle ....
bitte um erklärung hubsi Razz

Hubsi

BeitragDi, Aug 10, 2004 21:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Map malen: Es wird der sichtbare Bereich plus ein Tile gezeichnet. Startkoordinate ist schiebx und schieby. Folglich werden die Variablen dekrementiert bis der Wert kleiner -32 ist. Tritt dieser Fall ein wieder auf 0 setzen und scrollx/y inkrementieren.

Position des Spielers errechnen: Nehmen wir an die Map ist schon ein Stück gescrollt (20 Tiles) und einheit\x folglich gleich 20*32+512=1152. Alles klar?

Kollisionskontrolle: Es wird errechnet welche Tiles sich rund um den Spieler befinden. z.B. kleiner/gleich 100 begehbar, größer 100 Kollision. Mittels If entscheiden was zu tun ist.

Tja und schon steht das Grundgerüst für viele Tilebasierte Spiele Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

brezelbakery

BeitragDi, Aug 10, 2004 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
gut
ne kollision brauch ich net
...das klappt ich lass mir das andre mal durchn kopf gehen
ich schrteib nachher noch was, FALLS ich immernoch hoffnungslos bin Wink
thx hubsi..bist mit dem ajn einer der besten/aktivsten hier
gruß brezelbakery

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group