Code: Alles auswählen
; Autor: Folker Linstedt
; Erstellt am: 28.06.2006 für Groudon
; Demo: JA (läuft mit der Demo von PB 4.0 unter Windows Vista Business)
Procedure MachHeld(Sprite.l,Text.s)
CreateSprite(Sprite,32,32)
StartDrawing(SpriteOutput(Sprite)) ; Violett
Box(0,0,32,32,RGB(255,0,255))
Circle(16,16,16,RGB(0,255,255))
DrawText(13,8,Text,0,RGB(0,255,255))
StopDrawing()
EndProcedure
Procedure MachBaum(Sprite.l)
CreateSprite(Sprite,32,64)
StartDrawing(SpriteOutput(Sprite))
Box(0,0,32,64,RGB(255,0,255)) ; Violett
Box(12,30,8,34,RGB(128,64,0)) ; Stamm
Circle(16,16,16,RGB(0,255,0)) ; Busch
StopDrawing()
EndProcedure
Procedure MachBett(Sprite.l)
CreateSprite(Sprite,64,32)
StartDrawing(SpriteOutput(Sprite))
Box(0,0,64,32,RGB(255,0,255)) ; Violett
Box(0,0,4,32,RGB(255,128,64))
Box(60,0,4,32,RGB(255,128,64))
Box(0,20,64,4,RGB(255,128,64))
StopDrawing()
EndProcedure
Procedure MachSand(Sprite.l)
CreateSprite(Sprite,32,32)
StartDrawing(SpriteOutput(Sprite))
Box(0,0,32,32,RGB(255,255,0))
For j=0 To 140 ; Plot macht Fehler
Box(Random(31),Random(31),1,1,RGB(120+Random(20),60+Random(20),Random(20)))
Next
StopDrawing()
EndProcedure
;MessageRequester("ANLEITUNG","Steuerung: Pfeiltasten",0)
InitSprite()
InitMouse()
InitKeyboard()
If OpenScreen(640,480,32,"Game")
TransparentSpriteColor(#PB_Default, RGB(255,0,255)) ; für alle Sprites
;LoadSprite(1,"hallo.bmp",0); Pfad ersetzen!!
MachHeld(2,"\/")
MachHeld(3,"/\")
MachHeld(4,">")
MachHeld(5,"<")
CreateSprite(6,32,32) ; Anzeige-Sprite
; Peter
MachBaum(10) ;das hier meine ich
MachBett(12)
MachSand(14)
figurX=100 ; StartProsition vom Held
figurY=100
CopySprite(3, 6 ,0 ) ; Damit Sprite 6 nicht leer ist
Repeat
ClearScreen(0)
ExamineMouse()
ExamineKeyboard()
DisplayTransparentSprite(10,100,400-64) ; Baum
DisplayTransparentSprite(10,200,400-64) ; Baum
DisplayTransparentSprite(10,400,400-64) ; Baum
DisplayTransparentSprite(12,300,400-32) ; Bett
For i=0 To 200
DisplayTransparentSprite(14,i*32,400) ; Sand
Next
If KeyboardPushed(#PB_Key_Up )
figurY-10
CopySprite(3, 6 ,0 )
EndIf
If KeyboardPushed(#PB_Key_Down )
figurY+10
CopySprite(2, 6 ,0 )
EndIf
If KeyboardPushed(#PB_Key_Left )
figurX-10
CopySprite(5, 6 ,0 )
EndIf
If KeyboardPushed(#PB_Key_Right )
figurX+10
CopySprite(4, 6 ,0 )
EndIf
DisplayTransparentSprite(6,figurX,figurY)
StartDrawing(ScreenOutput())
DrawText(0,0,"Hallo")
StopDrawing()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
CloseScreen()
EndIf
Ich nehme an, du wolltest eher was wie Pokemon machen oder Zelda.
Hatte keine Bilder da. Peter hab ich jetzt nicht erstellt.
Schau dir den Code mal an, wenn du Fragen dazu hast, gib Bescheid.
Die Sprite-Nummern musst du durch echte Zahlen ersetzen.
Wenn #Sprite gemeint ist, bekommt das Sprite eine "echte" Nummer.
automatisch mit Zahlen versehen lassen.
Solltest deinen Konstanten (Variablen mit festen Werten) sinnvolle Namen geben. Also zum Beispiel:
Wird schon werden.