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

![]() |
brezelbakeryBetreff: spieler unabhängig von startposi immer in der mitte vom bild |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmm
also,tileengine,scrolling, und, kollision funzt ![]() 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 ![]() thx im voraus gruß brezelbakery |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab das jetzt nur eben aus einem alten Projekt rauskopiert, sind also die Variablen noch anzupassen ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
könntest du das bitte erklären..hab kein bock auf copy paste..ohne das ichs kapiere ![]() hoffe is net zuviel arbeit :X edit: ich eminte den 1. code 2. hab ich noch net nageguckt mom -->verstehs net hubsi ![]() |
||
![]() |
brezelbakery |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
brezelbakery |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() thx hubsi..bist mit dem ajn einer der besten/aktivsten hier gruß brezelbakery |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group