*g*
drücke mal auf die Taste "Einfg" über den Cursor-Tasten oder Auf dem Num-Block bei ausgeschaltetem "Num"
beine bewegen
- Rubiko
- Beiträge: 943
- Registriert: 25.02.2005 19:43
- Computerausstattung: Intel i7 2600k
8GB Ram
GeForce GTX 560 Ti - Wohnort: Schwabach
danke
immernoch nicht animiert 
Code: Alles auswählen
InitSprite() ; Initialisiert die Sprite Umgebung, womit wir sprite-Befehle nutzen können
InitKeyboard() ; Das selbe nur initialisiert es die Tastatur, die wir nun auch verwenden können
playerX.l = 250
playerY.l = 200
kameraX.l = 5
kameraY.l = 5
TastaturObenRechts.l = 0
Enumeration
;window
#window_1
; Sprites
#Sprite_Mage01SchrittLinks
#Sprite_Mage01SchrittRechts
#Sprite_Mage02
#Sprite_Player
#Sprite_Player4
#Sprite_Mage067
#Sprite_Mage0532
; Umgebung
#Sprite_Grass01
EndEnumeration
; char allgemein
HP.l
AP.l
PROFESSION.l
EXP.l
Level.l
Level = 1
If Level = 1
HP = 20
AP = 30
EndIf
If Level = Level + 1 And PROFESSION = Mage
HP + 15
AP + 30
EndIf
; Mage 01
;schritt
SchrittMage01.l = #Sprite_Mage01SchrittLinks
SchrittMage02.l = #Sprite_Mage01SchrittRechts
AnimMageVonVorneSchritt.l = SchrittMage01
msPerFrame.l = 20
ActTimer = ElapsedMilliseconds() + msPerFrame
OpenWindow(#window_1,0,0,500,400,#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_BorderLess | #PB_Window_ScreenCentered, "Mage of Fear")
OpenWindowedScreen(WindowID(),0,0,500,400,0,0,0)
; Sprite Gecatche
CatchSprite(#Sprite_Mage01SchrittLinks, ?Sprite_MageVonVorneSchrittLinks)
CatchSprite(#Sprite_Mage01SchrittRechts, ?Sprite_MageVonVorneSchrittRechts)
CatchSprite(#Sprite_Grass01, ?Sprite_Grass01)
TransparentSpriteColor(#Sprite_Mage01SchrittLinks,255,0,255)
TransparentSpriteColor(#Sprite_Mage01SchrittRechts,255,0,255)
; Main
Repeat
StartDrawing(WindowOutput())
DrawingMode(1)
Locate(10,10)
FrontColor(0,0,0)
DrawText("HP: "+ Str(HP))
StopDrawing()
ClearScreen(255,0,255)
ExamineKeyboard()
DisplaySprite(#Sprite_Grass01, 0-kameraX,0-kameraY)
DisplaySprite(#Sprite_Grass01, 50-kameraX,0-kameraY)
DisplaySprite(#Sprite_Grass01, 100-kameraX,0-kameraY)
DisplaySprite(#Sprite_Grass01, 150-kameraX,0-kameraY)
DisplaySprite(#Sprite_Grass01, 200-kameraX,0-kameraY)
DisplaySprite(#Sprite_Grass01, 250-kameraX,0-kameraY)
DisplaySprite(#Sprite_Grass01, 300-kameraX,0-kameraY)
DisplaySprite(#Sprite_Grass01, 350-kameraX,0-kameraY)
DisplaySprite(#Sprite_Grass01, 400-kameraX,0-kameraY)
DisplaySprite(#Sprite_Grass01, 450-kameraX,0-kameraY)
DisplaySprite(#Sprite_Grass01, 0-kameraX,50-kameraY)
DisplaySprite(#Sprite_Grass01, 50-kameraX,50-kameraY)
DisplaySprite(#Sprite_Grass01, 100-kameraX,50-kameraY)
DisplaySprite(#Sprite_Grass01, 150-kameraX,50-kameraY)
DisplaySprite(#Sprite_Grass01, 200-kameraX,50-kameraY)
DisplaySprite(#Sprite_Grass01, 250-kameraX,50-kameraY)
DisplaySprite(#Sprite_Grass01, 300-kameraX,50-kameraY)
DisplaySprite(#Sprite_Grass01, 350-kameraX,50-kameraY)
DisplaySprite(#Sprite_Grass01, 400-kameraX,50-kameraY)
DisplaySprite(#Sprite_Grass01, 450-kameraX,50-kameraY)
DisplaySprite(#Sprite_Grass01, 0-kameraX,100-kameraY)
DisplaySprite(#Sprite_Grass01, 50-kameraX,100-kameraY)
DisplaySprite(#Sprite_Grass01, 100-kameraX,100-kameraY)
DisplaySprite(#Sprite_Grass01, 150-kameraX,100-kameraY)
DisplaySprite(#Sprite_Grass01, 200-kameraX,100-kameraY)
DisplaySprite(#Sprite_Grass01, 250-kameraX,100-kameraY)
DisplaySprite(#Sprite_Grass01, 300-kameraX,100-kameraY)
DisplaySprite(#Sprite_Grass01, 350-kameraX,100-kameraY)
DisplaySprite(#Sprite_Grass01, 400-kameraX,100-kameraY)
DisplaySprite(#Sprite_Grass01, 450-kameraX,100-kameraY)
DisplaySprite(#Sprite_Grass01, 0-kameraX,150-kameraY)
DisplaySprite(#Sprite_Grass01, 50-kameraX,150-kameraY)
DisplaySprite(#Sprite_Grass01, 100-kameraX,150-kameraY)
DisplaySprite(#Sprite_Grass01, 150-kameraX,150-kameraY)
DisplaySprite(#Sprite_Grass01, 200-kameraX,150-kameraY)
DisplaySprite(#Sprite_Grass01, 250-kameraX,150-kameraY)
DisplaySprite(#Sprite_Grass01, 300-kameraX,150-kameraY)
DisplaySprite(#Sprite_Grass01, 350-kameraX,150-kameraY)
DisplaySprite(#Sprite_Grass01, 400-kameraX,150-kameraY)
DisplaySprite(#Sprite_Grass01, 450-kameraX,150-kameraY)
DisplaySprite(#Sprite_Grass01, 0-kameraX,200-kameraY)
DisplaySprite(#Sprite_Grass01, 50-kameraX,200-kameraY)
DisplaySprite(#Sprite_Grass01, 100-kameraX,200-kameraY)
DisplaySprite(#Sprite_Grass01, 150-kameraX,200-kameraY)
DisplaySprite(#Sprite_Grass01, 200-kameraX,200-kameraY)
DisplaySprite(#Sprite_Grass01, 250-kameraX,200-kameraY)
DisplaySprite(#Sprite_Grass01, 300-kameraX,200-kameraY)
DisplaySprite(#Sprite_Grass01, 350-kameraX,200-kameraY)
DisplaySprite(#Sprite_Grass01, 400-kameraX,200-kameraY)
DisplaySprite(#Sprite_Grass01, 450-kameraX,200-kameraY)
DisplaySprite(#Sprite_Grass01, 0-kameraX,250-kameraY)
DisplaySprite(#Sprite_Grass01, 50-kameraX,250-kameraY)
DisplaySprite(#Sprite_Grass01, 100-kameraX,250-kameraY)
DisplaySprite(#Sprite_Grass01, 150-kameraX,250-kameraY)
DisplaySprite(#Sprite_Grass01, 200-kameraX,250-kameraY)
DisplaySprite(#Sprite_Grass01, 250-kameraX,250-kameraY)
DisplaySprite(#Sprite_Grass01, 300-kameraX,250-kameraY)
DisplaySprite(#Sprite_Grass01, 350-kameraX,250-kameraY)
DisplaySprite(#Sprite_Grass01, 400-kameraX,250-kameraY)
DisplaySprite(#Sprite_Grass01, 450-kameraX,250-kameraY)
DisplaySprite(#Sprite_Grass01, 0-kameraX,300-kameraY)
DisplaySprite(#Sprite_Grass01, 50-kameraX,300-kameraY)
DisplaySprite(#Sprite_Grass01, 100-kameraX,300-kameraY)
DisplaySprite(#Sprite_Grass01, 150-kameraX,300-kameraY)
DisplaySprite(#Sprite_Grass01, 200-kameraX,300-kameraY)
DisplaySprite(#Sprite_Grass01, 250-kameraX,300-kameraY)
DisplaySprite(#Sprite_Grass01, 300-kameraX,300-kameraY)
DisplaySprite(#Sprite_Grass01, 350-kameraX,300-kameraY)
DisplaySprite(#Sprite_Grass01, 400-kameraX,300-kameraY)
DisplaySprite(#Sprite_Grass01, 450-kameraX,300-kameraY)
DisplaySprite(#Sprite_Grass01, 0-kameraX,350-kameraY)
DisplaySprite(#Sprite_Grass01, 50-kameraX,350-kameraY)
DisplaySprite(#Sprite_Grass01, 100-kameraX,350-kameraY)
DisplaySprite(#Sprite_Grass01, 150-kameraX,350-kameraY)
DisplaySprite(#Sprite_Grass01, 200-kameraX,350-kameraY)
DisplaySprite(#Sprite_Grass01, 250-kameraX,350-kameraY)
DisplaySprite(#Sprite_Grass01, 300-kameraX,350-kameraY)
DisplaySprite(#Sprite_Grass01, 350-kameraX,350-kameraY)
DisplaySprite(#Sprite_Grass01, 400-kameraX,350-kameraY)
DisplaySprite(#Sprite_Grass01, 450-kameraX,350-kameraY)
DisplayTransparentSprite(AnimMageVonVorneSchritt,playerX,playerY)
If KeyboardPushed(#PB_Key_Right)
playerX + 1
kameraX + 2
EndIf
If KeyboardPushed(#PB_Key_Up)
playerY - 1
kameraY - 2
EndIf
If KeyboardPushed(#PB_Key_Down)
AnimMageVonVorneSchritt + 1
If AnimMageVonVorneSchritt > SchrittMage02
AnimMageVonVorneSchritt = SchrittMage01
EndIf
playerY + 1
kameraY + 2
EndIf
If KeyboardPushed(#PB_Key_Left)
playerX - 1
kameraX - 2
EndIf
Repeat:Delay(100):Until ElapsedMilliseconds() > ActTimer
ActTimer + msPerFrame
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
; Sprite Sprungmarken
Sprite_MageVonVorneSchrittLinks: IncludeBinary "GFX\Mage01\MageVonVorneSchritt1.bmp"
Sprite_MageVonVorneSchrittRechts: IncludeBinary "GFX\Mage01\MageVonVorneSchritt2.bmp"
Sprite_Grass01: IncludeBinary "GFX\GrassTile01.bmp"

Ich wollte die Welt verändern, doch Gott gab mir nicht den Quelltext.
- Epyx
- Beiträge: 247
- Registriert: 29.08.2004 01:40
- Computerausstattung: AMD64 X2 DualCore 6000+ , 3GB Ram , WinXP sp3
2x Ati Radeon HD4800 ~ CrossFireX - Kontaktdaten:
Ich weiß nicht ob es dir hilft aber ich hatte mal nen Sourcecode für ein Jump´n Run ins ShowCase gesetzt. Kannst du dir ja zumindest mal ansehen, vieleicht kannst du da was adaptieren.
XMas Run v.1.0
XMas Run v.1.0
If you can't make it good, at least make it look good.
Bill Gates
Bill Gates
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
schau dir mal AnimProcs an.
in dem Sorce findest du verschiedenste anhaltspunkte.
http://forums.purebasic.com/german/view ... 3707#23707
ich verstehe bei denem prog nicht, warum da nix animiert... es sieht richtig aus.
...abgesehen davon, dass ich Delay(1) geschrieben hatte...
in dem Sorce findest du verschiedenste anhaltspunkte.
http://forums.purebasic.com/german/view ... 3707#23707
ich verstehe bei denem prog nicht, warum da nix animiert... es sieht richtig aus.
...abgesehen davon, dass ich Delay(1) geschrieben hatte...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- Rubiko
- Beiträge: 943
- Registriert: 25.02.2005 19:43
- Computerausstattung: Intel i7 2600k
8GB Ram
GeForce GTX 560 Ti - Wohnort: Schwabach

aber mal bei der source gucken daraus kann ich vielleicht was lernen^^
EDIT: aber warum steht beim schließen des programmes immernoch da "blabal hat ein problem festegestellt und muss beendet werden."? (also wenn ich schon gleich nochmal poste)
Ich wollte die Welt verändern, doch Gott gab mir nicht den Quelltext.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
weil du vor den Sprites, die du ja per include ins programm nimmst,Rubiko hat geschrieben:aber warum steht beim schließen des programmes immernoch da "blabal hat ein problem festegestellt und muss beendet werden."?
weder ein End noch ein DataSection stehen hast.
deshalb versucht er, nach verlassen der Repeat-Schleife,
deine Sprite-Daten als Code zu interpretieren.
Das kann nicht gutgehen.
------------
> jetzt isses auf glaub ich auf 63
was ist auf 63?
die Verzögerung wird festgelegt durch die Variable msPerFrame.
es ist sinnlos, ins Delay etwas anderes als 1 zu schreiben.
und bei jedem Wert größer als msPerFrame könnte man sich die ganze Elapsed-Schose schenken...
sieh dir doch mal den codepart genauer an....
er wartet eine ms und schaut dann, ob seine msPerFrame-Zeit schon abgelaufen ist,
wenn nicht, wartet er nochmal eine ms undsoweiter...
wenn du ne 100 rein machst, dann ist aufjeden Fall seine msPerFrame rum nach dem warten.
wenn du langsam testen willst, setze msPerFrame auf 100 oder 200,
aber laß das Delay auf 1.
...und bau das Gras-Anzeigen in eine schleife... diese 37 zeilen sehen grauslig aus.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.