hey

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Krumu1201

Betreff: hey

BeitragMo, Dez 01, 2014 21:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Hatte ja schon mal hier eine Diskussion verfasst wo ich viele antworten bekommen habe. Hat aber zum schluss keiner mehr drauf geantwortet. Ging zum schluss über die bewegungs zusammenführung der beiden Spiele. habe schon mal einmal probiert es zu machen sieht so aus:

spieler steuerung:
Code: [AUSKLAPPEN]

 ;ermittelt welche umliegenden tiles der spieler besetzt
         ty1 = Floor(spieler\spielerPositiony/Float(TileSize)) ;tile abgerundet
         ty2 = Ceil(spieler\spielerPositiony/Float(TileSize))  ;tile aufgerundet
         
         tx1 = Floor(spieler\spielerPositionX/Float(TileSize)) ;tile abgerundet
         tx2 = Ceil(spieler\spielerPositionX/Float(TileSize))  ;tile aufgerundet
         
             If ty1 >10 Then ty1 = 10
             If ty2 >10 Then ty2 = 10

         ;OBEN
         If KeyDown(200) Then
               testy = (spieler\spielerPositiony+spieler\spielerGeschwindigkeit)/TileSize
               If testy < 0 Then testy = 0
               If testy >10 Then testy = 10
            If TileStatusFeld(tx1, testy ) =0  And  TileStatusFeld( tx2, testy)  =0  Then
               spieler\spielerPositiony = spieler\spielerPositiony - spieler\spielerGeschwindigkeit
            Else
               spieler\spielerPositiony = spieler\spielerPositiony + spieler\spielerGeschwindigkeit
               spieler\spielerPositiony = (spieler\spielerPositiony/TileSize)*TileSize
            End If     
         End If
         
         ;UNTEN
         If KeyDown(208) Then
              testy = (spieler\spielerPositiony+spieler\spielerGeschwindigkeit)/TileSize+1
               If testy > 10 Then testy = 10
            If TileStatusFeld( tx1,testy) =0 And  TileStatusFeld( tx2,testy) =0 Then
               spieler\spielerPositiony = spieler\spielerPositiony +spieler\spielerGeschwindigkeit
            Else
               spieler\spielerPositiony = spieler\spielerPositiony - spieler\spielerGeschwindigkeit
               spieler\spielerPositiony = (spieler\spielerPositiony/TileSize+1)*TileSize
            End If   
         End If
         
         ;links
         If KeyDown(203) Then
              testx = (spieler\spielerPositionX -spieler\spielerGeschwindigkeit)/TileSize
               If testx < 0 Then testx = 0
            If TileStatusFeld( testx,ty1  ) =0 And TileStatusFeld( testx,ty2   ) =0 Then
               spieler\spielerPositionX = spieler\spielerPositionX -spieler\spielerGeschwindigkeit
            Else
               spieler\spielerPositionX = spieler\spielerPositionX+spieler\spielerGeschwindigkeit
               spieler\spielerPositionX = (spieler\spielerPositionX/TileSize)*TileSize
            End If
         End If
         
         ;rechts
         If KeyDown(205) Then
               testx = (spieler\spielerPositionX +spieler\spielerGeschwindigkeit)/TileSize+1
               If testx > 15 Then testx = 15
            If TileStatusFeld( testx,ty1 ) =0 And  TileStatusFeld(  testx,ty2   ) =0 Then
               spieler\spielerPositionX = spieler\spielerPositionX +spieler\spielerGeschwindigkeit
            Else
               spieler\spielerPositionX = spieler\spielerPositionX - spieler\spielerGeschwindigkeit
               spieler\spielerPositionX = (spieler\spielerPositionX/TileSize+1)*TileSize
            End If
         End If
            
   
            
            If spieler\spielerPositiony > 704 Then
               spieler\spielerPositiony =704
            EndIf
            If spieler\spielerPositiony < 64 Then
               spieler\spielerPositiony = 64
            EndIf
            If spieler\spielerPositionX > 960 Then
               spieler\spielerPositionX = 960
            EndIf
            If spieler\spielerPositionX <0 Then
               spieler\spielerPositionX = 0
            EndIf
         
         ;hero malen
         ;Color 0,0,255:Rect hero_px,hero_py,64,64,1
            
 DrawImage hero,spieler\spielerPositionX,spieler\spielerPositionY

map zeichnen
Code: [AUSKLAPPEN]

Function map_zeichnen()

   
   Local zeile, spalte
  For zeile = 0 To zeilen
    For spalte = 0 To spalten
      DrawImage mapFeld(spalte,zeile)\tile,spalte*TileSize, zeile*TileSize+64   
    Next   
   Next




End Function


map zuweisen
Code: [AUSKLAPPEN]

Function map_zuweisen()

   
   
   
    For Zeile = 0 To zeilen
       For Spalte = 0 To spalten
       Select AbschnittFeld(Spalte,zeile)
         Case 1 mapFeld(Spalte,zeile)\tile = boden_tile1
         Case 2 mapFeld(Spalte,zeile)\tile = boden_tile2
         Case 3 mapFeld(Spalte,zeile)\tile = busch_tile_test
         Case 4 mapFeld(Spalte,zeile)\tile = fels_gruen
         Case 5 mapFeld(Spalte,zeile)\tile = fels_gruen2
         Case 6 mapFeld(Spalte,zeile)\tile = fels_gruen3
         Case 7 mapFeld(Spalte,zeile)\tile = fels_gruen4
         Case 8 mapFeld(Spalte,zeile)\tile = tuer
       End Select
      Next
    Next



 
 
End Function

Code: [AUSKLAPPEN]

Function Abschnitt_laden()
   Cls
   zeile = 0
   spalte = 0


   If Absschnitt = 1 Then
    AbsschnittDatei = ReadFile("secret.abs")
    KollisionsDatei = ReadFile("secret.tss")
   EndIf
   
   For Zeile = 0 To zeilen
      A = ReadLine(AbsschnittDatei)
      For Spalte = 0 To spalten
       AbschnittFeld(Spalte,zeile) = Mid$(A,Spalte+1,1)
      Next
   Next
   
   
   

   For zeile2 = 0 To zeilen
      b = ReadLine(KollisionsDatei)
      For spalte2 = 0 To spalten
         TileStatusFeld(Spalte2,zeile2) = Mid$(b,Spalte2+1,1)
      next
   Next
   
   

   CloseFile KollisionsDatei
   CloseFile AbsschnittDatei
   
   
   


End Function

sie im programm so aus

www.blitzforum.de/upload/file.php?id=12922

gruss

Krumu1201
  • Zuletzt bearbeitet von Krumu1201 am Di, Dez 02, 2014 12:14, insgesamt einmal bearbeitet

TimBo

BeitragDi, Dez 02, 2014 1:05
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe den letzten Thread nicht mitgelesen, wo ist denn dein Problem genau ?
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

BladeRunner

Moderator

BeitragDi, Dez 02, 2014 12:00
Antworten mit Zitat
Benutzer-Profile anzeigen
...und warum benutzt Du wieder keine Code-Tags und warum machst Du einen neuen Thread zum selben Thema auf?
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

Krumu1201

Betreff: ok

BeitragMi, Dez 03, 2014 11:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry, kannst diesen thread loeschen.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group