RPG Drehengine
Übersicht

![]() |
BlaggiBetreff: RPG Drehengine |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aaaaaalso, ich bau gerade ein ganz kleines Spielchen, indem man mit ner Figur in der Vogelperspektive.. rumrennt......
Ich hab durch die Suche eben den code zum drehen per Maus gefunden.. Wenn ich den jetzt drehe, entsteht um die gedrehte Figur ein schwarzer Rahmen... Ich poste gleich nen screen.. EDIT: Hier ist er: ![]() hier is der Code (aus Robs tut uebernommen): Code: [AUSKLAPPEN] Graphics 609,609,16,2
SetBuffer BackBuffer() TFormFilter 0 Global ppx = 10*32 ;X-Position des Charackters Global ppy = 7*32 ;Y-Position des Charackters Global py = 7 ;Kollisions X-Position des Charackters Global px = 10 ;Kollisions Y-Position des Charackters Global scrolly ;Die Variable für die ScrollY-Position Global scrollx ;Die Variable für die ScrollX-Position Global player1_n$ ;Name von player 1 Global winkel# Global char = LoadImage("theChar.bmp") Global Tileset = LoadAnimImage("theTile.bmp",32,32,0,152) Dim theChar(360) For winkel = 0 To 359 theChar(winkel) = CopyImage(char) MidHandle theChar(winkel) RotateImage theChar(winkel),winkel Next Dim map(18,18) Data 149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149 Data 149,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,149 Data 149,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,149 Data 149,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,149 Data 149,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,149 Data 149,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,149 Data 149,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,149 Data 149,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,149 Data 149,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,149 Data 149,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,149 Data 149,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,149 Data 149,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,149 Data 149,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,149 Data 149,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,149 Data 149,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,149 Data 149,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,149 Data 149,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,149 Data 149,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,149 Data 149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149 For y = 0 To 18 For x = 0 To 18 Read map(x,y) Next Next Repeat Cls For x = 0 To 18 For y = 0 To 18 DrawBlock tileset,x*32-scrollx,y*32-scrolly,map(x,y) Next Next winkel = (ATan2 (ppy-scrolly-MouseY(),ppx-scrollx-MouseX())+270) Mod 360 ; Spieler malen MaskImage theChar(winkel), 255, 0, 255 DrawImage theChar(winkel),ppx-scrollx+16,ppy-scrolly+16 player1_n$ = "Flippeh" Text ppx-scrollx-(Len(player1_n$)/2)-5, ppy-scrolly+30, player1_n$ Text 0,0,py Text 0,20,px If move = 1 Then If aa > 0 ;scrolly = scrolly + 2 ppy = ppy + 2 xo = xo + 1 If xo = 16 Then aa = 0:py = py + 1:xo = 0 End If End If If move = 2 Then If aa > 0 ;scrolly = scrolly - 2 ppy = ppy - 2 xo = xo + 1 If xo = 16 Then aa = 0:py = py - 1:xo = 0 End If End If If move = 3 Then If aa > 0 ;scrollx = scrollx - 2 ppx = ppx - 2 xo = xo + 1 If xo = 16 Then aa = 0:px = px - 1:xo = 0 End If End If If move = 4 Then If aa > 0 ;scrollx = scrollx + 2 ppx = ppx + 2 xo = xo + 1 If xo = 16 Then aa = 0:px = px + 1:xo = 0 End If End If If KeyDown(205) Then If map(px+1,py) < 5 Then If aa < 1 Then move = 4 aa = 1 End If End If End If If KeyDown(203) Then If map(px-1,py) < 5 Then If aa < 1 Then move = 3 aa = 1 End If End If End If If KeyDown(200) Then If map(px,py-1) < 5 Then If aa < 1 Then move = 2 aa = 1 End If End If End If If KeyDown(208) Then If map(px,py+1) < 5 Then If aa < 1 Then move = 1 aa = 1 End If End If End If Flip Until KeyHit(1) FreeImage tileset FreeImage char End |
||
=D |
lettorTrepuS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger. | ||
![]() |
Blaggi |
![]() Antworten mit Zitat ![]() |
---|---|---|
In meinem Code befindet sich schon ein MaskImage......
Mit dem filtere ich den RGB Wert 255, 0, 255 vom Bild raus.... Der schwarze Kasten wird von BB gemacht...... |
||
=D |
konstantin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo.
Du solltest das Bild in der Schleife maskieren, in der du es drehst. Gruß, Konstantin |
||
![]() |
Blaggi |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Koni: Das habe ich bereit versucht, sowohl mit schwarz als auch mit pink als Maskfarbe | ||
=D |
konstantin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du musst das Bild vor dem Rotieren maskieren... | ||
![]() |
Bud |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie sieht "theChar.bmp" genau aus? Könntest du es mal posten? | ||
flohrian |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Alt:
Code: [AUSKLAPPEN] For winkel = 0 To 359
theChar(winkel) = CopyImage(char) MidHandle theChar(winkel) RotateImage theChar(winkel),winkel Next Neu: Code: [AUSKLAPPEN] For winkel = 0 To 359
theChar(winkel) = CopyImage(char) MidHandle theChar(winkel) MaskImage theChar (winkel), 255, 0, 255 RotateImage theChar(winkel),winkel Next Versuch das mal, wie konni sagte. |
||
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi!
Bitte, bitte benutz kein Array! Hast nur Probleme damit hab das schon 2 mal versucht, jedes mal gabs in verbindung mit ImagesCollide komische Probleme bei bestimmten gradzahlen. Benutz statt dessen eine erstellte animimage. wenn du nicht weisst wie, dann guck dir den Code von meinem Spaceshooter im Showcase an. MfG |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group