ich hab jetzt im code mal die gesamte kamera (bei der spielfigur) entfernt. jetzt versteht man (vielleicht) besser was ich mein, es soll ungefähr so sein:
(nein denkt jetzt bitte nicht ich will nur das ihr für mich tut... und so ich danke euch
egal wie schnell der spieler ist, er bewegt sich immer einen Tile in die richtung in die er sich bewegen will... immer nur einen, und die kamera geht genauso einen tile nach vorne
EDIT2: rechtschreibfehler... war übermüdet...
so... sorry, dass ich den alten thread hochhole...
das prinzip ist mir klar, jetzt hab ichs verkauft, aber mir ist nicht so ganz klar welche X und Y positionen?
ich kann ja mal als beispiel den jetzigen code posten... sorry für die unordentlichkeit darin, und bitte
über die 50 - 70 zeilen code mit displaytransparent... also die map eben...
ambesten mit kommentaren zeigen... dann weiß ichs wie ichs in zukunft machen muss...
Code: Alles auswählen
; ==========================================================
; |\ /| | |
; | \ / | | /\ |
; | \ / | | / \ |
; | \ / | | / \ |
; | \/ | | / \ |
; | | ages and |/ \| arriors
; ==========================================================
If InitSprite() = 0 : MessageRequester("","Sprites could not be initialised. DirectX 7 or higher is needed!") : EndIf
If InitKeyboard() = 0 : MessageRequester("","Keyboard could not be initialised. DirectX 7 or higher is needed!") : EndIf
If InitMouse() = 0 : MessageRequester("","Mouse could not be initialised. DirectX 7 or higher is needed!") : EndIf
UseJPEGImageDecoder() : UsePNGImageDecoder() : UsePNGImageEncoder()
playerX.f = 320.0 -kameraX
playerY.f = 220.0 -kameraY
playerspeed.f = -1.5
kameraX.l = playerspeed
kameraY.l = playerspeed
TastaturObenRechts.l = 0
Procedure.l FPS()
Shared Zeit, Frames, Ausgabe
If ElapsedMilliseconds() < Zeit + 1000
Frames + 1
Else
Ausgabe = Frames
Frames = 0
Zeit = ElapsedMilliseconds()
EndIf
If Ausgabe > 0
ProcedureReturn Ausgabe
Else
ProcedureReturn 60
EndIf
EndProcedure
Enumeration
;window
#window_1
#window_2
; Sprites
#Sprite_Interface
#Sprite_cursor
; warrior01
#Sprite_WarriorAnimLaufenVonHinten01
#Sprite_WarriorAnimLaufenVonHinten02
#Sprite_WarriorAnimLaufenVonHinten03
#Sprite_WarriorAnimLaufenVonHinten04
#Sprite_WarriorAnimLaufenVonHinten05
#Sprite_WarriorAnimLaufenVonHinten06
#Sprite_WarriorAnimLaufenVonRechts01
#Sprite_WarriorAnimLaufenVonRechts02
#Sprite_WarriorAnimLaufenVonRechts03
#Sprite_WarriorAnimLaufenVonRechts04
#Sprite_WarriorAnimLaufenVonRechts05
#Sprite_WarriorAnimLaufenVonRechts06
#Sprite_WarriorAnimLaufenVonLinks01
#Sprite_WarriorAnimLaufenVonLinks02
#Sprite_WarriorAnimLaufenVonLinks03
#Sprite_WarriorAnimLaufenVonLinks04
#Sprite_WarriorAnimLaufenVonLinks05
#Sprite_WarriorAnimLaufenVonLinks06
#Sprite_WarriorAnimLaufenVonVorne01
#Sprite_WarriorAnimLaufenVonVorne02
#Sprite_WarriorAnimLaufenVonVorne03
#Sprite_WarriorAnimLaufenVonVorne04
#Sprite_WarriorAnimLaufenVonVorne05
#Sprite_WarriorAnimLaufenVonVorne06
; Msgbox
#Msgbox
; Screenshot
#Sprite_Screenshot1
; Umgebung
#Tile_Grass01
#Tile_GrassSand01
#Tile_GrasSsand02
#Tile_Water01
#Tile_SandWater02
#Tile_Sandeckenordwest
#Sprite_Baum01
EndEnumeration
; char allgemein
HP.l
AP.l
PROFESSION.l
EXP.l
Level.l
Level = 1
If Level = 1 And PROFESSION = Knight
HP = 50
AP = 5
EndIf
If Level = Level + 1 And PROFESSION = Knight
HP + 15
AP + 5
EndIf
; Mage 01
;schritt
WarriorSchauRichtung.l
WarriorSchauRichtung = 1
SchrittVorneWarrior01.l = #Sprite_WarriorAnimLaufenVonHinten01
SchrittVorneWarrior02.l = #Sprite_WarriorAnimLaufenVonHinten02
SchrittVorneWarrior03.l = #Sprite_WarriorAnimLaufenVonHinten03
SchrittVorneWarrior04.l = #Sprite_WarriorAnimLaufenVonHinten04
SchrittVorneWarrior05.l = #Sprite_WarriorAnimLaufenVonHinten05
SchrittVorneWarrior06.l = #Sprite_WarriorAnimLaufenVonHinten06
AnimWarriorVonHintenSchritt.l = SchrittVorneWarrior01
SchrittRechtsWarrior01.l = #Sprite_WarriorAnimLaufenVonRechts01
SchrittRechtsWarrior02.l = #Sprite_WarriorAnimLaufenVonRechts02
SchrittRechtsWarrior03.l = #Sprite_WarriorAnimLaufenVonRechts03
SchrittRechtsWarrior04.l = #Sprite_WarriorAnimLaufenVonRechts04
SchrittRechtsWarrior05.l = #Sprite_WarriorAnimLaufenVonRechts05
SchrittRechtsWarrior06.l = #Sprite_WarriorAnimLaufenVonRechts06
AnimWarriorVonRechtsSchritt.l = SchrittRechtsWarrior01
SchrittLinksWarrior01.l = #Sprite_WarriorAnimLaufenVonLinks01
SchrittLinksWarrior02.l = #Sprite_WarriorAnimLaufenVonLinks02
SchrittLinksWarrior03.l = #Sprite_WarriorAnimLaufenVonLinks03
SchrittLinksWarrior04.l = #Sprite_WarriorAnimLaufenVonLinks04
SchrittLinksWarrior05.l = #Sprite_WarriorAnimLaufenVonLinks05
SchrittLinksWarrior06.l = #Sprite_WarriorAnimLaufenVonLinks06
AnimWarriorVonLinksSchritt.l = SchrittLinksWarrior01
SchrittHintenWarrior01.l = #Sprite_WarriorAnimLaufenVonVorne01
SchrittHintenWarrior02.l = #Sprite_WarriorAnimLaufenVonVorne02
SchrittHintenWarrior03.l = #Sprite_WarriorAnimLaufenVonVorne03
SchrittHintenWarrior04.l = #Sprite_WarriorAnimLaufenVonVorne04
SchrittHintenWarrior05.l = #Sprite_WarriorAnimLaufenVonVorne05
SchrittHintenWarrior06.l = #Sprite_WarriorAnimLaufenVonVorne06
AnimWarriorVonVorneSchritt.l = SchrittHintenWarrior01
; SystemVariablen
msPerFrame.l = 80
ActTimer = ElapsedMilliseconds() + msPerFrame
Posi.l = 1 ; Variable, es wird abgefragt ob sich der Spieler
; im Interface, oder im eigentlichen game ist.
; 1 = Interface 2 = Game
msgbox.l = 2 ; und nochwas: es wird abgefragt ob sich eine msgbox im screen befindet,
; 1 = nein ; 2 = ja
; ----------------
Structure items
X.w
y.w
EndStructure
NewList items.items()
AddElement(items())
items()\X = 10
windowed.l
OpenConsole()
PrintN("Windowed(w) or fullscreen(f)?")
antwort.s = Input() : If antwort = "w" : windowed = #True : EndIf : If antwort = "f" : windowed = #False : EndIf
CloseConsole()
If windowed = #True
OpenWindow(#window_1,0,0,640,480,#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_BorderLess | #PB_Window_ScreenCentered, "Mage of Fear")
OpenWindowedScreen(WindowID(),0,0,640,480,0,0,0)
UseWindow(#window_1)
EndIf
If windowed = #False
OpenScreen(640,480,16,"Mages And Warriors")
EndIf
;- face gecatche
CatchSprite(#Sprite_Interface, ?Introface)
CatchSprite(#Sprite_cursor, ?cursor)
;Zur Übersichtlichkeit, der cursor gleich hiermit drin
TransparentSpriteColor(#Sprite_cursor,255,0,255)
; -------------------------
; Sprite Gecatche
CatchSprite(#Sprite_WarriorAnimLaufenVonHinten01, ?Sprite_WarriorAnimLaufenVonHinten01)
CatchSprite(#Sprite_WarriorAnimLaufenVonHinten02, ?Sprite_WarriorAnimLaufenVonHinten02)
CatchSprite(#Sprite_WarriorAnimLaufenVonHinten03, ?Sprite_WarriorAnimLaufenVonHinten03)
CatchSprite(#Sprite_WarriorAnimLaufenVonHinten04, ?Sprite_WarriorAnimLaufenVonHinten04)
CatchSprite(#Sprite_WarriorAnimLaufenVonHinten05, ?Sprite_WarriorAnimLaufenVonHinten05)
CatchSprite(#Sprite_WarriorAnimLaufenVonHinten06, ?Sprite_WarriorAnimLaufenVonHinten06)
CatchSprite(#Sprite_WarriorAnimLaufenVonRechts01, ?Sprite_WarriorAnimLaufenVonRechts01)
CatchSprite(#Sprite_WarriorAnimLaufenVonRechts02, ?Sprite_WarriorAnimLaufenVonRechts02)
CatchSprite(#Sprite_WarriorAnimLaufenVonRechts03, ?Sprite_WarriorAnimLaufenVonRechts03)
CatchSprite(#Sprite_WarriorAnimLaufenVonRechts04, ?Sprite_WarriorAnimLaufenVonRechts04)
CatchSprite(#Sprite_WarriorAnimLaufenVonRechts05, ?Sprite_WarriorAnimLaufenVonRechts05)
CatchSprite(#Sprite_WarriorAnimLaufenVonRechts06, ?Sprite_WarriorAnimLaufenVonRechts06)
CatchSprite(#Sprite_WarriorAnimLaufenVonLinks01, ?Sprite_WarriorAnimLaufenVonLinks01)
CatchSprite(#Sprite_WarriorAnimLaufenVonLinks02, ?Sprite_WarriorAnimLaufenVonLinks02)
CatchSprite(#Sprite_WarriorAnimLaufenVonLinks03, ?Sprite_WarriorAnimLaufenVonLinks03)
CatchSprite(#Sprite_WarriorAnimLaufenVonLinks04, ?Sprite_WarriorAnimLaufenVonLinks04)
CatchSprite(#Sprite_WarriorAnimLaufenVonLinks05, ?Sprite_WarriorAnimLaufenVonLinks05)
CatchSprite(#Sprite_WarriorAnimLaufenVonLinks06, ?Sprite_WarriorAnimLaufenVonLinks06)
CatchSprite(#Sprite_WarriorAnimLaufenVonVorne01, ?Sprite_WarriorAnimLaufenVonVorne01)
CatchSprite(#Sprite_WarriorAnimLaufenVonVorne02, ?Sprite_WarriorAnimLaufenVonVorne02)
CatchSprite(#Sprite_WarriorAnimLaufenVonVorne03, ?Sprite_WarriorAnimLaufenVonVorne03)
CatchSprite(#Sprite_WarriorAnimLaufenVonVorne04, ?Sprite_WarriorAnimLaufenVonVorne04)
CatchSprite(#Sprite_WarriorAnimLaufenVonVorne05, ?Sprite_WarriorAnimLaufenVonVorne05)
CatchSprite(#Sprite_WarriorAnimLaufenVonVorne06, ?Sprite_WarriorAnimLaufenVonVorne06)
;Tile Gecatche
CatchSprite(#Tile_Grass01, ?Tile_Grass01)
CatchSprite(#Tile_GrassSand01, ?Tile_GrassSand01)
CatchSprite(#Tile_GrasSsand02, ?Tile_GrassSand02)
CatchSprite(#Tile_Water01, ?Tile_Water01)
CatchSprite(#Tile_SandWater02, ?Tile_Sandwater02)
CatchSprite(#Tile_Sandeckenordwest, ?Tile_Sandeckenordwest)
; Sprite
CatchSprite(#Sprite_Baum01, ?Sprite_Baum01)
CatchSprite(#Msgbox, ?MsgBox1)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonHinten01,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonHinten02,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonHinten03,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonHinten04,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonHinten05,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonHinten06,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonRechts01,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonRechts02,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonRechts03,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonRechts04,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonRechts05,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonRechts06,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonLinks01,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonLinks02,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonLinks03,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonLinks04,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonLinks05,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonLinks06,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonVorne01,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonVorne02,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonVorne03,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonVorne04,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonVorne05,255,0,255)
TransparentSpriteColor(#Sprite_WarriorAnimLaufenVonVorne06,255,0,255)
TransparentSpriteColor(#Sprite_Baum01,255,0,255)
; interface
; Main
MouseLocate(240,180)
Repeat
ExamineKeyboard()
;-interface
If Posi = 1
ExamineMouse()
MausX = MouseX()
MausY = MouseY()
DisplaySprite(#Sprite_Interface,60,20)
DisplayTransparentSprite(#Sprite_cursor,MausX,MausY)
If KeyboardPushed(#PB_Key_S)
Posi = 2
EndIf
EndIf
If Posi = 2
ClearScreen(0,255,200)
FPS()
If windowed = #True : StartDrawing(WindowOutput()) : EndIf
If windowed = #False : StartDrawing(ScreenOutput()) : EndIf
DrawingMode(1)
FrontColor(255,255,255)
Locate(10,10)
DrawText("HP: "+ Str(HP))
Locate(70,10)
DrawText("FPS: "+Str(Ausgabe))
Locate(10,30)
DrawText("AP: "+Str(AP))
Locate(10,50)
DrawText("Lvl: "+Str(Level))
Locate(10,70)
DrawText("Exp: "+Str(EXP))
StopDrawing()
; Section 1
DisplaySprite(#Tile_Grass01, 0-kameraX,0-kameraY)
DisplaySprite(#Tile_Grass01, 50-kameraX,0-kameraY)
DisplaySprite(#Tile_Grass01, 100-kameraX,0-kameraY)
DisplaySprite(#Tile_Grass01, 150-kameraX,0-kameraY)
DisplaySprite(#Tile_Grass01, 200-kameraX,0-kameraY)
DisplaySprite(#Tile_Grass01, 250-kameraX,0-kameraY)
DisplaySprite(#Tile_Grass01, 300-kameraX,0-kameraY)
DisplaySprite(#Tile_Grass01, 350-kameraX,0-kameraY)
DisplaySprite(#Tile_Grass01, 400-kameraX,0-kameraY)
DisplaySprite(#Tile_Grass01, 450-kameraX,0-kameraY)
DisplaySprite(#Tile_Grass01, 0-kameraX,50-kameraY)
DisplaySprite(#Tile_Grass01, 50-kameraX,50-kameraY)
DisplaySprite(#Tile_Grass01, 100-kameraX,50-kameraY)
DisplaySprite(#Tile_Grass01, 150-kameraX,50-kameraY)
DisplaySprite(#Tile_Grass01, 200-kameraX,50-kameraY)
DisplaySprite(#Tile_Grass01, 250-kameraX,50-kameraY)
DisplaySprite(#Tile_Grass01, 300-kameraX,50-kameraY)
DisplaySprite(#Tile_Grass01, 350-kameraX,50-kameraY)
DisplaySprite(#Tile_Grass01, 400-kameraX,50-kameraY)
DisplaySprite(#Tile_Grass01, 450-kameraX,50-kameraY)
DisplaySprite(#Tile_Grass01, 0-kameraX,100-kameraY)
DisplaySprite(#Tile_Grass01, 50-kameraX,100-kameraY)
DisplaySprite(#Tile_Grass01, 100-kameraX,100-kameraY)
DisplaySprite(#Tile_Grass01, 150-kameraX,100-kameraY)
DisplaySprite(#Tile_Grass01, 200-kameraX,100-kameraY)
DisplaySprite(#Tile_Grass01, 250-kameraX,100-kameraY)
DisplaySprite(#Tile_Grass01, 300-kameraX,100-kameraY)
DisplaySprite(#Tile_Grass01, 350-kameraX,100-kameraY)
DisplaySprite(#Tile_Grass01, 400-kameraX,100-kameraY)
DisplaySprite(#Tile_Grass01, 450-kameraX,100-kameraY)
DisplaySprite(#Tile_Grass01, 0-kameraX,150-kameraY)
DisplaySprite(#Tile_Grass01, 50-kameraX,150-kameraY)
DisplaySprite(#Tile_Grass01, 100-kameraX,150-kameraY)
DisplaySprite(#Tile_Grass01, 150-kameraX,150-kameraY)
DisplaySprite(#Tile_Grass01, 200-kameraX,150-kameraY)
DisplaySprite(#Tile_Grass01, 250-kameraX,150-kameraY)
DisplaySprite(#Tile_Grass01, 300-kameraX,150-kameraY)
DisplaySprite(#Tile_Grass01, 350-kameraX,150-kameraY)
DisplaySprite(#Tile_Grass01, 400-kameraX,150-kameraY)
DisplaySprite(#Tile_Grass01, 450-kameraX,150-kameraY)
DisplaySprite(#Tile_Grass01, 0-kameraX,200-kameraY)
DisplaySprite(#Tile_Grass01, 50-kameraX,200-kameraY)
DisplaySprite(#Tile_Grass01, 100-kameraX,200-kameraY)
DisplaySprite(#Tile_Grass01, 150-kameraX,200-kameraY)
DisplaySprite(#Tile_Grass01, 200-kameraX,200-kameraY)
DisplaySprite(#Tile_Grass01, 250-kameraX,200-kameraY)
DisplaySprite(#Tile_Grass01, 300-kameraX,200-kameraY)
DisplaySprite(#Tile_Grass01, 350-kameraX,200-kameraY)
DisplaySprite(#Tile_Grass01, 400-kameraX,200-kameraY)
DisplaySprite(#Tile_Grass01, 450-kameraX,200-kameraY)
DisplaySprite(#Tile_Grass01, 0-kameraX,250-kameraY)
DisplaySprite(#Tile_Grass01, 50-kameraX,250-kameraY)
DisplaySprite(#Tile_Grass01, 100-kameraX,250-kameraY)
DisplaySprite(#Tile_Grass01, 150-kameraX,250-kameraY)
DisplaySprite(#Tile_Grass01, 200-kameraX,250-kameraY)
DisplaySprite(#Tile_Grass01, 250-kameraX,250-kameraY)
DisplaySprite(#Tile_Grass01, 300-kameraX,250-kameraY)
DisplaySprite(#Tile_Grass01, 350-kameraX,250-kameraY)
DisplaySprite(#Tile_Grass01, 400-kameraX,250-kameraY)
DisplaySprite(#Tile_Grass01, 450-kameraX,250-kameraY)
DisplaySprite(#Tile_Grass01, 0-kameraX,300-kameraY)
DisplaySprite(#Tile_Grass01, 50-kameraX,300-kameraY)
DisplaySprite(#Tile_Grass01, 100-kameraX,300-kameraY)
DisplaySprite(#Tile_Grass01, 150-kameraX,300-kameraY)
DisplaySprite(#Tile_Grass01, 200-kameraX,300-kameraY)
DisplaySprite(#Tile_Grass01, 250-kameraX,300-kameraY)
DisplaySprite(#Tile_Grass01, 300-kameraX,300-kameraY)
DisplaySprite(#Tile_Grass01, 350-kameraX,300-kameraY)
DisplaySprite(#Tile_Grass01, 400-kameraX,300-kameraY)
DisplaySprite(#Tile_Grass01, 450-kameraX,300-kameraY)
DisplaySprite(#Tile_Grass01, 0-kameraX,350-kameraY)
DisplaySprite(#Tile_Grass01, 50-kameraX,350-kameraY)
DisplaySprite(#Tile_Grass01, 100-kameraX,350-kameraY)
DisplaySprite(#Tile_Grass01, 150-kameraX,350-kameraY)
DisplaySprite(#Tile_Grass01, 200-kameraX,350-kameraY)
DisplaySprite(#Tile_Grass01, 250-kameraX,350-kameraY)
DisplaySprite(#Tile_Grass01, 300-kameraX,350-kameraY)
DisplaySprite(#Tile_Grass01, 350-kameraX,350-kameraY)
DisplaySprite(#Tile_Grass01, 400-kameraX,350-kameraY)
DisplaySprite(#Tile_Grass01, 450-kameraX,350-kameraY)
DisplaySprite(#Tile_GrassSand01,0-kameraX,-50-kameraY)
DisplaySprite(#Tile_GrassSand01,50-kameraX,-50-kameraY)
DisplaySprite(#Tile_GrassSand01,100-kameraX,-50-kameraY)
DisplaySprite(#Tile_GrassSand01,150-kameraX,-50-kameraY)
DisplaySprite(#Tile_GrassSand01,200-kameraX,-50-kameraY)
DisplaySprite(#Tile_GrassSand01,250-kameraX,-50-kameraY)
DisplaySprite(#Tile_GrassSand01,300-kameraX,-50-kameraY)
DisplaySprite(#Tile_GrassSand01,350-kameraX,-50-kameraY)
DisplaySprite(#Tile_GrassSand01,400-kameraX,-50-kameraY)
DisplaySprite(#Tile_GrassSand01,450-kameraX,-50-kameraY)
DisplaySprite(#Tile_GrasSsand02,-50-kameraX,-0-kameraY)
DisplaySprite(#Tile_GrasSsand02,-50-kameraX,50-kameraY)
DisplaySprite(#Tile_GrasSsand02,-50-kameraX,100-kameraY)
DisplaySprite(#Tile_GrasSsand02,-50-kameraX,150-kameraY)
DisplaySprite(#Tile_GrasSsand02,-50-kameraX,200-kameraY)
DisplaySprite(#Tile_GrasSsand02,-50-kameraX,250-kameraY)
DisplaySprite(#Tile_GrasSsand02,-50-kameraX,300-kameraY)
DisplaySprite(#Tile_GrasSsand02,-50-kameraX,350-kameraY)
;SandWater Küstenlinie
DisplaySprite(#Tile_SandWater02,-50-kameraX,-100-kameraY)
DisplaySprite(#Tile_SandWater02,0-kameraX,-100-kameraY)
DisplaySprite(#Tile_SandWater02,50-kameraX,-100-kameraY)
DisplaySprite(#Tile_SandWater02,100-kameraX,-100-kameraY)
DisplaySprite(#Tile_SandWater02,150-kameraX,-100-kameraY)
DisplaySprite(#Tile_SandWater02,200-kameraX,-100-kameraY)
DisplaySprite(#Tile_SandWater02,250-kameraX,-100-kameraY)
DisplaySprite(#Tile_SandWater02,300-kameraX,-100-kameraY)
DisplaySprite(#Tile_SandWater02,350-kameraX,-100-kameraY)
DisplaySprite(#Tile_SandWater02,400-kameraX,-100-kameraY)
DisplaySprite(#Tile_SandWater02,450-kameraX,-100-kameraY)
; ---------------------
;150er Wasserlinie
DisplaySprite(#Tile_Water01,-50-kameraX,-150-kameraY)
DisplaySprite(#Tile_Water01,0-kameraX,-150-kameraY)
DisplaySprite(#Tile_Water01,50-kameraX,-150-kameraY)
DisplaySprite(#Tile_Water01,100-kameraX,-150-kameraY)
DisplaySprite(#Tile_Water01,150-kameraX,-150-kameraY)
DisplaySprite(#Tile_Water01,200-kameraX,-150-kameraY)
DisplaySprite(#Tile_Water01,250-kameraX,-150-kameraY)
DisplaySprite(#Tile_Water01,300-kameraX,-150-kameraY)
DisplaySprite(#Tile_Water01,350-kameraX,-150-kameraY)
DisplaySprite(#Tile_Water01,400-kameraX,-150-kameraY)
DisplaySprite(#Tile_Water01,450-kameraX,-150-kameraY)
; ------------------
;200er Wasserlinie
DisplaySprite(#Tile_Water01,-50-kameraX,-200-kameraY)
DisplaySprite(#Tile_Water01,0-kameraX,-200-kameraY)
DisplaySprite(#Tile_Water01,50-kameraX,-200-kameraY)
DisplaySprite(#Tile_Water01,100-kameraX,-200-kameraY)
DisplaySprite(#Tile_Water01,150-kameraX,-200-kameraY)
DisplaySprite(#Tile_Water01,200-kameraX,-200-kameraY)
DisplaySprite(#Tile_Water01,250-kameraX,-200-kameraY)
DisplaySprite(#Tile_Water01,300-kameraX,-200-kameraY)
; -----------------
; -----------------
DisplaySprite(#Tile_Sandeckenordwest,-50-kameraX,-50-kameraY)
DisplayTransparentSprite(#Sprite_Baum01, 450-kameraX,250-kameraY)
; End section 1 ------------------------------------------------------------------
If WarriorSchauRichtung = 1
DisplayTransparentSprite(AnimWarriorVonHintenSchritt,playerX,playerY)
EndIf
If WarriorSchauRichtung = 2
DisplayTransparentSprite(AnimWarriorVonRechtsSchritt,playerX,playerY)
EndIf
If WarriorSchauRichtung = 3
DisplayTransparentSprite(AnimWarriorVonVorneSchritt,playerX,playerY)
EndIf
If WarriorSchauRichtung = 4
DisplayTransparentSprite(AnimWarriorVonLinksSchritt,playerX,playerY)
EndIf
If KeyboardPushed(#PB_Key_Right) And KeyboardPushed(#PB_Key_Up) = 0 And KeyboardPushed(#PB_Key_Left) = 0 And KeyboardPushed(#PB_Key_Down) = 0
WarriorSchauRichtung = 2
AnimWarriorVonRechtsSchritt + 1
If AnimWarriorVonRechtsSchritt > SchrittRechtsWarrior06
AnimWarriorVonRechtsSchritt = SchrittRechtsWarrior01
EndIf
playerX - playerspeed
EndIf
If KeyboardPushed(#PB_Key_Up) And KeyboardPushed(#PB_Key_Right)= 0 And KeyboardPushed(#PB_Key_Left) = 0 And KeyboardPushed(#PB_Key_Down) = 0
WarriorSchauRichtung = 1
AnimWarriorVonHintenSchritt + 1
If AnimWarriorVonHintenSchritt > SchrittVorneWarrior06
AnimWarriorVonHintenSchritt = SchrittVorneWarrior01
EndIf
playerY + playerspeed
EndIf
If KeyboardPushed(#PB_Key_Down) And KeyboardPushed(#PB_Key_Up) = 0 And KeyboardPushed(#PB_Key_Left) = 0 And KeyboardPushed(#PB_Key_Right) = 0
WarriorSchauRichtung = 3
AnimWarriorVonVorneSchritt + 1
If AnimWarriorVonVorneSchritt > SchrittHintenWarrior06
AnimWarriorVonVorneSchritt = SchrittHintenWarrior01
EndIf
playerY - playerspeed
EndIf
If KeyboardPushed(#PB_Key_Left) And KeyboardPushed(#PB_Key_Up) = 0 And KeyboardPushed(#PB_Key_Right) = 0 And KeyboardPushed(#PB_Key_Down) = 0
WarriorSchauRichtung = 4
AnimWarriorVonLinksSchritt + 1
If AnimWarriorVonLinksSchritt > SchrittLinksWarrior06
AnimWarriorVonLinksSchritt = SchrittLinksWarrior01
EndIf
playerX + playerspeed
EndIf
If EXP>=500
Level + 1
EndIf
If KeyboardPushed(#PB_Key_Return)
msgbox = 1
EndIf
EndIf
;- Blockierungen
; ----------------
If KeyboardPushed(#PB_Key_F12)
GrabSprite(#Sprite_Screenshot1,0,0,500,400)
SaveSprite(#Sprite_Screenshot1,"Screeni1.png")
EndIf
Repeat: Delay(1) : Until ElapsedMilliseconds() > ActTimer
ActTimer + msPerFrame
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
End
; Sprite Sprungmarken
DataSection
cursor: IncludeBinary "GFX\cursor.png"
Sprite_WarriorAnimLaufenVonHinten01: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonHinten01.png"
Sprite_WarriorAnimLaufenVonHinten02: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonHinten02.png"
Sprite_WarriorAnimLaufenVonHinten03: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonHinten03.png"
Sprite_WarriorAnimLaufenVonHinten04: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonHinten04.png"
Sprite_WarriorAnimLaufenVonHinten05: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonHinten05.png"
Sprite_WarriorAnimLaufenVonHinten06: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonHinten06.png"
Sprite_WarriorAnimLaufenVonRechts01: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonRechts01.png"
Sprite_WarriorAnimLaufenVonRechts02: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonRechts02.png"
Sprite_WarriorAnimLaufenVonRechts03: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonRechts03.png"
Sprite_WarriorAnimLaufenVonRechts04: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonRechts04.png"
Sprite_WarriorAnimLaufenVonRechts05: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonRechts05.png"
Sprite_WarriorAnimLaufenVonRechts06: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonRechts06.png"
Sprite_WarriorAnimLaufenVonLinks01: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonLinks01.png"
Sprite_WarriorAnimLaufenVonLinks02: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonLinks02.png"
Sprite_WarriorAnimLaufenVonLinks03: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonLinks03.png"
Sprite_WarriorAnimLaufenVonLinks04: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonLinks04.png"
Sprite_WarriorAnimLaufenVonLinks05: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonLinks05.png"
Sprite_WarriorAnimLaufenVonLinks06: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonLinks06.png"
Sprite_WarriorAnimLaufenVonVorne01: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonVorne01.png"
Sprite_WarriorAnimLaufenVonVorne02: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonVorne02.png"
Sprite_WarriorAnimLaufenVonVorne03: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonVorne03.png"
Sprite_WarriorAnimLaufenVonVorne04: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonVorne04.png"
Sprite_WarriorAnimLaufenVonVorne05: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonVorne05.png"
Sprite_WarriorAnimLaufenVonVorne06: IncludeBinary "GFX\Warrior01\WarriorAnimLaufenVonVorne06.png"
; Sprites
Sprite_Baum01: IncludeBinary "GFX\Sprites\Baum01.png"
; Tiles
Tile_Grass01: IncludeBinary "GFX\Tiles\5.png"
Tile_GrassSand01: IncludeBinary "GFX\Tiles\1.png"
Tile_GrassSand02: IncludeBinary "GFX\Tiles\2.png"
Tile_Water01: IncludeBinary "GFX\Tiles\12.png"
Tile_Sandwater02: IncludeBinary "GFX\Tiles\12.png"
Tile_Sandeckenordwest: IncludeBinary "GFX\Tiles\8.png"
;Messagebox
MsgBox1: IncludeBinary "GFX\Messagebox.jpg"
;interface
Introface: IncludeBinary "GFX\Interface.jpg"
EndDataSection