Seite 4 von 6

Verfasst: 18.03.2006 22:46
von Rubiko
glaub ich rück meinem Ziel näher, jetzt würde ich nurnoch gerne wissen wo du bei

Code: Alles auswählen

Procedure SchowMap ( x.l, y.l)
    For t=0 to 15
        For n=0 to 15
             DisplaySprite(Map(x+n,y+t), 32*n, 32*t)
        Next
    Next
EndProcedure
die Namen der Grafiken herbekommst...

wenn ich in die map datei zwei Longs mit dem Wert 15 reinschreibe , und dann 2x eine 1 oder so, meldet der Debugger immernoch "Sprite Object not initialized"

Verfasst: 18.03.2006 22:52
von Kaeru Gaman
>__<"

beim laden der sprites...

Code: Alles auswählen

For n=0 to 99
   LoadSprite(100+n, "Tile"+Str(n)+".bmp"
Next
lädt die grafiken "Tile0.bmp", "Tile1.bmp", ... "Tile99.bmp" in die sprites 100-199
eben diese spritenummern stehen in der Map...

Verfasst: 18.03.2006 23:09
von Rubiko
Anscheinend nerv ich dich langsam, sorry wenn das der Fall sein sollte

Jetzt gings grad wieder nicht, ich wollte den Code posten... teste es ein letztes mal und jetzt zeigt er die sprites an... zwar nicht direkt an der Position die ich wollte, aber lässt sich bestimmt ändern...

Vielen Dank für die hilfe, ich mach morgen damit weiter und falls ich wieder Probleme hab meld ich mich wieder, wenn das ok ist ;)

Verfasst: 18.03.2006 23:19
von Kaeru Gaman
nein, wirklich nerven nicht...

ich war nur leicht verwundert über die frage...

ich dachte, das sei selbstverständlich, dann wenn du die ziffern 0-9 verwendest,
musst du ja die zahlen auch irgendwie den sprites zuordnen...

oder machst du für jeder tile ein eigenes if?

Verfasst: 19.03.2006 01:59
von Rubiko
hm, hab die Lust auf WoW verloren und wollte hier weitermachen...
leider ist mir aufgefallen, dass sich nur die ersten IDs überschrieben haben mit denen von den Tiles... ich poste jetzt einfach mal den Code

ich weiß ich muss da noch aufräumen, sorry^^

Engine

Code: Alles auswählen

; - Engine
Procedure ReDim(Pointer.l, Len.l, Fieldlen.l)

fLen.l = SizeOf(LONG)

If Fieldlen <> 0 : fLen = Fieldlen : EndIf

Fields.l = PeekL(Pointer - 8)
If Len < Fields
   
  PokeL(Pointer - 8, Len + 1)
  ProcedureReturn Pointer
Else

oldArrayLen.l = (Fields * fLen + 8)
newArrayLen.l = (Len * fLen)


newArray = AllocateMemory(newArrayLen + 8)
CopyMemory(Pointer - 8, newArray, oldArrayLen)

PokeL(newArray, newArrayLen)

ProcedureReturn newArray
EndIf
EndProcedure 

Dim Map(XS,YS)
Procedure LoadTileMap()
  If OpenFile(0, "\GFX\Map\Map.map")
    XS = ReadLong()
    YS = ReadLong()
    ReDim(@Map, XS, YS)
    For t = 0 To YS
      For n=0 To XS
        Map(n,t) = ReadLong()
      Next
    Next
    CloseFile(0)
      ProcedureReturn 1
    Else
      ProcedureReturn 0
    EndIf
EndProcedure

Procedure showmap ( X.l, y.l)
    For t=0 To 15
        For n=0 To 15
          DisplaySprite(Map(X+n,y+t), 32*n, 32*t)
        Next
    Next
EndProcedure
Main

Code: Alles auswählen

IncludeFile "engine.pb"
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()

LoadTileMap()

PlayerX.f = 320.0
PlayerY.f = 220.0
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
  
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

;- map einteilung



; 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


; ----------------
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)
  


  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)
  

; interface

  
  For n=0 To 14
    LoadSprite(4+n, "GFX\Tiles\"+Str(n)+".PNG")
  Next
; 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

  showmap(0,0)
  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()

  ;{ animwarrior + laufen
  ;{ anim
  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 
  ;}
  ;{ laufen
  
  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
  ;}
  ;} schluss anim + laufen

  
  
  If EXP>=500
    Level + 1
  EndIf

    If KeyboardPushed(#PB_Key_Return)
      msgbox = 1
    EndIf
  EndIf
  
  ;- Blockierungen

  ; ----------------
  


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"


;face
Introface: IncludeBinary "GFX\Interface.jpg"
EndDataSection
in der map.map sind jetzt zwei 5er und eine 1 und eine 3 als Long...
frag mich nur was ich falsch mache :(

Verfasst: 19.03.2006 10:20
von Kaeru Gaman
my face...

ich könnte ma die grafix zum testen brauchen...

[edit3] macht nix, geht eh nich... 640x480x16 kann mein monitor nich...

-----------------------------------------------------------------
[edit1]

Was bei allen elektronischen Göttern ist das?????

Code: Alles auswählen

; 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 
wo ist denn der SINN von dem?

also, ich weiß nicht, wo die unsitte herkommt, mit gewalt enumeration verwenden zu müssen,
und dann auch noch konstantennamen, die länger sind als "Krieg und Frieden"...

-----------------------------------------------------------------
[edit2]

ach, da ist ja wirklich ein Repeat.. warum hast du das versteckt?
schämst du dich, ne schleife zu benutzen?

achja, und schau dir mal TransparentSpriteColor( -1,... an


===============================================

sorry für das obige, manchmal bin ich ein arsch...

also, der fehler liegt (glaube ich) nicht in diesem code...

wie und wo erzeugst du denn die map?

Verfasst: 19.03.2006 10:40
von Rubiko

Code: Alles auswählen

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
glaub das hatte ich sogar von dir, bis auf die enumerationen
War für die Animation gedacht, drücke ich Pfeiltaste rechts, ist die Richtung in der ich schau z.B 2 und dann werden andere Animationen angezeigt beim laufen

zu den Grafiken:
tut mir leid, hatte auf die schnelle keinen gescheiten Host, also hab ichs mal auf Rapidshare...
http://rapidshare.de/files/15872464/GFX.rar.html
könnte sein, dass nochn paar Grafiken von anderen Spielen drin sind... aber die wollte ich wegmachen, WENN ich vielleicht irgendwann mal damit fertig bin
Kaeru Guman hat geschrieben: [edit3] macht nix, geht eh nich... 640x480x16 kann mein monitor nich...
kannst du die Werte nicht ändern...? müsste doch trotzdem gehen, oder?


also, dass ich den Code aufräumen muss war klar... aber ist es denn so schlimm?


EDIT: is schon ok, wenn ich was falsch mache kannst du es mir sagen :)
also ich hab einfach:

Code: Alles auswählen

if OpenFile(0, "GFX\map.map")
  WriteLong(15)
  WriteLong(15)
  WriteLong(3)
  WriteLong(1)
Endif
CloseFile(0)
müsste doch eigentlich gehen (als Notlösung), oder mach ich da wieder was falsch?

Verfasst: 19.03.2006 11:09
von Kaeru Gaman
wenn du deiner datei den header 15,15 gibst, dann müssen danach auch 225 werte folgen, deine proc versucht nämlich, die zu lesen...


zu dem anderen:
kann nich von mir sein, ich lös sowas GANZ anders...

und sorry, ich find in dem code nix, ich SEHE in dem code garnix...

...und ich habe jetzt weder zeit noch lust, den erstmal zu sortieren,
um vielleicht was erkennen zu können...


und wie gesagt, es ist sonst nicht meine art, code von anderen niederzumachen,
normal spar ich mir einfach kommentare, aber heute mal nich,
außerdem hast du ja um antwort gebeten.

also, bitte nich böse sein, aber ich bin im moment echt in arschloch-laune...

Verfasst: 19.03.2006 11:27
von Rubiko
Kaeru Gaman hat geschrieben:wenn du deiner datei den header 15,15 gibst, dann müssen danach auch 225 werte folgen, deine proc versucht nämlich, die zu lesen...
wenn ich mit

Code: Alles auswählen

  If OpenFile(0, "GFX\Map.map")
    WriteLong(15)
    WriteLong(15)
    For a=0 To 224
      WriteLong(3)
    Next
  EndIf
  CloseFile(0)
die anderen 225 Werte eintrage gehts immernoch nicht...
Debugger meldet #sprite object not initialized in der showmap Procedure bei der Zeile

Code: Alles auswählen

DisplaySprite(Map(X+n,y+t), 32*n, 32*t)
ich glaub ich gebs lieber auf... gibt ja noch einfachere Sachen als ne Tilemap ...

Verfasst: 19.03.2006 11:36
von Kaeru Gaman
ok... dies also ist des pudels kern...

denk doch mal logisch!
du versuchst dort, das sprite Nr.3 anzuzeigen.
hast du das irgendwo geladen?

du musst erst noch ein Tileset laden!

außerdem würd ich dir empfehlen, das nicht bei Sprite Nr.0 anzufangen...

...aber wenn man so sinnlos enumeration verwendet, hat man natürlich keinen überblick, welche spritenummern man benutzt...

enum zu verwenden is ok für folgen von Windows oder Gadgets...

für große Spritesets ist es ein Horror, da kann doch keiner den durchblick behalten!