hey
Übersicht BlitzBasic Beginners-Corner
Krumu1201Betreff: hey |
Mo, Dez 01, 2014 21:35 Antworten mit Zitat |
|
---|---|---|
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 |
Di, Dez 02, 2014 1:05 Antworten mit Zitat |
|
---|---|---|
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. |
BladeRunnerModerator |
Di, Dez 02, 2014 12:00 Antworten mit Zitat |
|
---|---|---|
...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 |
Krumu1201Betreff: ok |
Mi, Dez 03, 2014 11:08 Antworten mit Zitat |
|
---|---|---|
Sorry, kannst diesen thread loeschen. | ||
Übersicht BlitzBasic Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group