spieler drehen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Snaq

Betreff: spieler drehen

BeitragSo, Nov 20, 2005 1:44
Antworten mit Zitat
Benutzer-Profile anzeigen
hi,

also ich möchte ein 2d shooter programmieren.
Wie stelle ich das am besten an das der charakter immer dahin schaut wo die kamera zeigt.
das geht mit rotateimage ich weiss aber ich habe kein plan wie genau das geht.
achso noch etwas wenn sich der spieler bei mir dreht wird er unscharf.
ich habe TFORMFILTER 1.
bei 0 sieht das noch komischer aus.

Danke schon mal im Vorraus.



MfG Snaq

skey-z

BeitragSo, Nov 20, 2005 11:09
Antworten mit Zitat
Benutzer-Profile anzeigen
du erstellst ein dim mit 359 Einträgen also von 0-359=360°

dann drehst du jedes image um 1° und speicherst es in dem dazugehrigen Arrayeintrag.

BlitzBasic: [AUSKLAPPEN]

TFormFilter 0

Dim spieler(359)

spieler_img=LoadImage(\"spieler.bmp\")

For winkel=0 To 359
spieler(winkel)=RotateImage spieler_img, winkel
MaskImage spieler(winkel)
Next
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
 

Darren

BeitragSo, Nov 20, 2005 12:49
Antworten mit Zitat
Benutzer-Profile anzeigen
okay also 360 is a weng viel..... ich würde vlt nur 180 nehmen...
MFG Darren

skey-z

BeitragSo, Nov 20, 2005 17:06
Antworten mit Zitat
Benutzer-Profile anzeigen
nja, das muss er entscheiden, wie er es braucht
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
 

Snaq

BeitragSo, Nov 20, 2005 20:53
Antworten mit Zitat
Benutzer-Profile anzeigen
okay danke.

jetzt weiss ich aber nicht wie ich das drehen muss bzw wie man den winkel berechnet und den spieler danach ausrichtet.

könntet ihr mir das vlt mal zeigen wie das geht?


zZ sieht mein programm so aus

BlitzBasic: [AUSKLAPPEN]

SetBuffer BackBuffer()

TFormFilter 1

; Bilder laden
gfx_player =LoadImage(\"gfx/charakter.bmp\")
gfx_boden =LoadImage(\"gfx/boden.bmp\")
gfx_wand =LoadImage(\"gfx/wand.bmp\")
gfx_maus =LoadImage(\"gfx/maus.bmp\")


; Bilder \"ausschneiden\"
MaskImage gfx_maus,255,0,255

; Mitte des Bildes als Angriffspunkt
MidHandle gfx_maus
MidHandle gfx_player
; Cursor ausblenden
HidePointer


Global player_x
Global player_y
Global player_winkel




player_x=0
player_y=0
winkel=0

Repeat
Cls

If KeyDown(200) Then player_y=player_y-4 ; Hoch
If KeyDown(208) Then player_y=player_y+4 ; Runter
If KeyDown(203) Then player_x=player_x-4 ; Links
If KeyDown(205) Then player_x=player_x+4 ; Rechts

If MouseX()=player_x And MouseY()<player_y Then winkel=1
If MouseX()>player_x And MouseY()<player_y Then winkel=2
If MouseX()>player_x And MouseY()=player_y Then winkel=3
If MouseX()>player_x And MouseY()>player_y Then winkel=4
If MouseX()=player_x And MouseY()>player_y Then winkel=5
If MouseX()<player_x And MouseY()>player_y Then winkel=6
If MouseX()<player_x And MouseY()=player_y Then winkel=7
If MouseX()<player_x And MouseY()<player_y Then winkel=8
If winkel=2 Then
RotateImage gfx_player,22.5
winkel=0
EndIf


DrawImage gfx_player,player_x,player_y
DrawImage gfx_maus,MouseX(),MouseY()
Text 1,1,winkel

If KeyDown(1) Then End
Flip
Forever

Ralff

BeitragSo, Nov 20, 2005 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
hi!
also ich würd den spieler erstma als dim erstellen... wie es skey-z schon beschrieben hat.

den winkel berechnest du dann so:

BlitzBasic: [AUSKLAPPEN]

winkel=ATan2(maus_y-player_y,maus_x-player_x)+180


;und malen geht dann so:

DrawImage player(winkel),player_x,player_y


wenn ich mich irre könnt ihr mich gern belehren...

Ralff
Zieht euch das rein...:
http://myspace.com/ndyderchef
Hammertracks, kostenlos...

N-Dy rulez
 

Snaq

BeitragSo, Nov 20, 2005 22:05
Antworten mit Zitat
Benutzer-Profile anzeigen
okay gut das habe ich soweit verstanden.

jetzt soll der charakter durch ne map gehen. och will aber nicht immer
BlitzBasic: [AUSKLAPPEN]

DrawImage gfx_wand,000,000
DrawImage gfx_wand,050,000

schreiben sondern das problem bisschen einfach lösen.
Aso ja und wie prüfe ich dann ob der spieler kolidiert mit der wand oder nicht?

Danke schon mal für die Hilfe.


MfG Snaq

Hubsi

BeitragSo, Nov 20, 2005 23:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Schonmal an eine Tilemap gedacht? Das ganze gestaltet sich zwar anfangs etwas aufwendiger, aber hat man sich erstmal ein paar wenige vernünftige Routinen zusammengeschraubt kann man die immer wieder brauchen Very Happy Ein sehr schönes Tutorial zu Tilemap, Kollision darauf und Scrolling gibts von Ralf Geiger auf www.robsite.de Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Snaq

BeitragMo, Nov 21, 2005 0:24
Antworten mit Zitat
Benutzer-Profile anzeigen
okay danke.

ich habs mir mal angeschaut und ich denke ich habs verstanden und versuche es jetzt auf meins zu übertragen

nochmal big THX @ all

MfG Snaq

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group