Iso-lauf-engine

Übersicht BlitzBasic Allgemein

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

Hubsi

BeitragDo, Apr 22, 2004 21:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Memory access violation ist eine recht allgemeine Fehlermeldung. Schalt den Debugger ein, dann kriegst Du vernünftige Meldungen. Das Problem ist vermutlich das die Wertzuweisung verdreht ist. Das sollte vermutlich so aussehen:Code: [AUSKLAPPEN]
tc0 = map(charx,chary) ; Mitte
usw...
Sonst wird ja die Map geändert, weil map(x,y) dann der Wert von tc0 usw. zugewiesen wird. Daraufhin passiert wahrscheinlich folgendes:Code: [AUSKLAPPEN]
For y=0 To...
For x=0 To...
  DrawImage tile(map(x,y)),... ; Hier wird versucht ein nicht
  ; vorhandenes Tile zu zeichnen, Fehlermeldung
Next
Next
Denke mal da liegt der Hase im Pfeffer Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

ZAiMoN

BeitragDo, Apr 22, 2004 21:27
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm jo sind aber 2 Fehler drin
den ersten hast du erkannt und der zweite ist das charx,chary keine map koordinaten sondern screen koordinaten sind. Wenn Charx, Chary = 200,400 sind aber die map nur ein Dim von (20,20) hat kommt ein fehler Smile

aber das liegt an meinem TilePloter ... ich versuchs mal mit nem neuen.
In Online Games Gilt:

Luck Beats Skill
Lag Beats Skill
Cheat Beats Skill

Hubsi

BeitragDo, Apr 22, 2004 21:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Mein vorletzter Post sollte das Problem beheben Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

ZAiMoN

BeitragMi, Apr 28, 2004 21:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Hubsi hab meinen code bisschen umgebaut, da es einen sehr bösen bug gab. Nun weiss ich leider nicht wie charx zielx erreicht und chary ziely erreicht. Der Charakter bleibt nicht an der postion stehen er sondern läuft einfach gerade aus weiter.

Code: [AUSKLAPPEN]

Function Hero_Move()

 
If MouseHit(1) Then
  zielx = MouseX()
  ziely = Mousey()
  move = 1
Endif



  If move=0 Then DrawImage barbarstop,CharX,CharY-60,7
  If zielx+10 > Charx and zielx-10 < Charx Then zielx = charx
   If ziely+10 > chary And ziely-10 < Chary Then ziely = chary
  If ziely+10 > chary and ziely-10 < Chary and zielx+10 > Charx and zielx-10 < Charx Then move=0
   If keyhit(29) Then move = 0
   
   
;oben rechts
   If move=1 And zielx > Charx And ziely < Chary And tc2 = 1 Then
     scrollx = scrollx -movespeed
     scrolly = scrolly +movespeed
    frame=frame+1
    delay 50
    if frame=8 then frame=0
      DrawImage barbarobenrechts,Charx,CharY-60,frame
   


;unten rechts   
   elseIf move=1 And zielx > Charx And ziely > Chary And tc4 = 1 Then
     scrollx = scrollx -movespeed
     scrolly = scrolly -movespeed
    frame=frame+1
    delay 50
    if frame=8 then frame=0
      DrawImage barbaruntenrechts,CharX,CharY-60,frame
   
   
   
;unten links   
   elseIf move=1 And zielx < Charx And ziely > Chary And tc6 = 1 Then
     scrollx = scrollx +movespeed
     scrolly = scrolly -movespeed
    frame=frame+1
    delay 50
    if frame=8 then frame=0
      DrawImage barbaruntenlinks,CharX,CharY-60,frame

   
   
;oben links
   elseIf move=1 And zielx < Charx And ziely < Chary And tc8 = 1 Then
     scrollx = scrollx +movespeed
     scrolly = scrolly +movespeed
    frame=frame+1
    delay 50
    if frame=8 then frame=0
      DrawImage barbarobenlinks,CharX,CharY-60,frame
   

;Rechts
   ElseIf move=1 And zielx > Charx And tc3 = 1 Then
     scrollx = scrollx -movespeed
      frame=frame+1
      delay 50
      if frame=8 then frame=0
       DrawImage barbarrechts,CharX,CharY-60,frame


;unten
   ElseIf move=1 and ziely > Chary And tc5 = 1 Then
     scrolly = scrolly -movespeed
     frame=frame+1
     delay 50
    if frame=8 then frame=0
      DrawImage barbarunten,CharX,CharY-60,frame


;oben
   ElseIf move=1 and ziely < Chary And tc1 = 1 Then
     scrolly = scrolly +movespeed
    frame=frame+1
    delay 50
    if frame=8 then frame=0
      DrawImage barbaroben,CharX,CharY-60,frame
   
      
;Links   
   ElseIf move=1 And zielx < Charx And tc7 = 1 Then
     scrollx = scrollx +movespeed
     frame=frame+1
     delay 50
    if frame=8 then frame=0
    DrawImage barbarlinks,CharX,CharY-60,frame
Endif


End Function


Ausserdem was soll ich machen wenn da eine wand ist? move = 0 setzen? Dann komme ich aber nicht mehr ausder postion raus. Der Charakter bleibt dann an wänden hängen.

Hab schon vieles probiert aber bin nicht auf eine bug freie lösung gekommen.
In Online Games Gilt:

Luck Beats Skill
Lag Beats Skill
Cheat Beats Skill

Hubsi

BeitragMi, Apr 28, 2004 23:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
If ziely+10 > chary and ziely-10 < Chary and zielx+10 > Charx and zielx-10 < Charx Then move=0
Das kann nicht funktionieren. Nimm Dir mal drei Kekse und leg sie vor Dir auf den Tisch (ohne Quatsch). Einen lege in die Mitte, das ist Position 500. Einen rechts davon, das ist Position 510 und den letzten links, das ist Position 490. Dann brauchst Du noch einen Haribo-Goldbären, das ist der Hero (nicht essen!). Wir sehen, der Goldbär soll zwischen den Keksen halt machen, muß also in einem Bereich zwischen 490 und 510 sein. Na dann prüfen wir das mal eben:Code: [AUSKLAPPEN]
If Goldbär_x>Keks_x-10 And Goldbär_x<Keks_x+10 Then Lecker()
Und das ganze geht für y genauso.
Das zweite Prob ist eigentlich gar keins Smile Code: [AUSKLAPPEN]
;Ausgehend von Tilegröße 32*32 Pixel

temp=charx/32
charx=temp*32

; Same Bullshit for y

Solltest Du gerade keine Kekse oder Goldbären zur Hand haben: Ab zur nächsten Tankstelle! Sowas ist Grundausstattung für Programmierer Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

ZAiMoN

BeitragDo, Apr 29, 2004 12:50
Antworten mit Zitat
Benutzer-Profile anzeigen
da gibts wieder ein kleines verständigungs problem...

also zielx kann nicht charx werden weil keiner der variabeln verändert wird. Deswegen läuft der hero auch nicht auf das ziel sondern einfach weiter gerade aus.

Beispiel:
ziel ist 300,300
char ist 500, 500

Der Char läuft nun in die richtung weil ziel kleiner ist als seine werte aber Char wird NIEMALS = ziel werden weil an Char nicht verändert wird Char bleibt 500,500 und ziel bleibt 300,300. Die Map wird gescrollt mit scrollx,scrolly aber die werte werden nirgend drangehängt damit Char = ziel werden kann.

Wenn ich die scroll werte dran hänge gibt es sehr sehr fiese bugs Sad
In Online Games Gilt:

Luck Beats Skill
Lag Beats Skill
Cheat Beats Skill

Hubsi

BeitragDo, Apr 29, 2004 22:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Das geht aber dann nur mit den Scrollwerten. Die Bugs müssen, so leid es mir tut drum, eben dran glauben. Die armen Crying or Very sad Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

ZAiMoN

BeitragDo, Apr 29, 2004 23:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Sad heute nachmittag is mein pc abgestürzt dann habe ich es nicht mehr geschaft ihn richtig zum laufen zu bringen.
Musste formatieren nun sindauch die bb codes für mein game weg Sad
alles von neu ....


dann helfst mir halt bissle bei der bug beseitigung wenn ich wieder soweit bin.
In Online Games Gilt:

Luck Beats Skill
Lag Beats Skill
Cheat Beats Skill

Hubsi

BeitragDo, Apr 29, 2004 23:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist bitter. Wenn mir sowas passieren würde, flöge die Kiste ausm Fenster Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

ZAiMoN

BeitragSo, Mai 02, 2004 12:33
Antworten mit Zitat
Benutzer-Profile anzeigen
so der code steht nun nach langer arbeit wieder "fast so wie vorher"

Code: [AUSKLAPPEN]


.         ,





. ist MouseX, MouseY
, ist Zielx Ziely

wenn sich die map verschiebt durch scrollx scrolly sind die beidenw werte nicht mehr gleich das führt dazu das ich die gezeichnete maus in "," nicht mehr ganz über den bildschirm bewegen kann da Mousex und MouseY schon am Rand des Screens sind.
In Online Games Gilt:

Luck Beats Skill
Lag Beats Skill
Cheat Beats Skill

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group