tiles scrolling

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Die Wurst

Betreff: tiles scrolling

BeitragDo, Jan 06, 2005 0:12
Antworten mit Zitat
Benutzer-Profile anzeigen
hab n problem.... wieder mal! Argh.
Hallöchen erst mal...

wärt ihr so freundlich euch mal den code anzugucken, und mir zu sagen, wieviel richtig geraten war und was nicht...

Code: [AUSKLAPPEN]
Graphics 800,600,16,1
SetBuffer BackBuffer()


;LOAD
weg01 = LoadImage("weg01.bmp")
wand01= LoadImage("wand01.bmp")
Spieler=LoadImage("Spieler.bmp")
niemandsland = LoadImage("niemandsland.bmp")



Dim Level$(60,50)

dat = ReadFile("level01.txt")
For Zeile=0 To 59
   Linie$ = ReadLine(dat)
   For Spalte=0 To 49
      Level$(Zeile,Spalte) = Mid$(Linie$,Spalte+1,1)
   Next
Next
CloseFile dat


SpielerX=360
SpielerY=280

Repeat
   
   
   Cls
   
   For AnzZ=0 To 14
   
      For AnzY=0 To 19
      
         Select Level(AnzZ,AnzS)
            Case " "
               DrawImage weg01,Zeile*40,Spalte*40
            Case "#"
               DrawImage wand01,Zeile*40,Spalte*40
            Case "0"
               DrawImage niemandsland,Zeile*40,Spalte*40
            ;Hier kannst du weiter machen
         End Select
         
      Next
         
   Next

   
   
   
   If KeyDown(200) Then
      If Level(Zeile-1,Spalte) <> "#" Then
         Zeile=Zeile-1
      EndIf
   EndIf
   
   If KeyDown(208) Then
      If Level(Zeile+1,Spalte) <> "#" Then
         Zeile=Zeile+1
      EndIf
   EndIf
   
   If KeyDown(203) Then
      If Level(Zeile,Spalte-1) <> "#" Then
         Spalte=Spalte-1
      EndIf
   EndIf
   
   If KeyDown(205) Then
      If Level(Zeile,Spalte+1) <> "#" Then
         Spalte=Spalte+1
      EndIf
   EndIf

   
   MaskImage Spieler,255,0,255
   DrawImage Spieler,SpielerX,SpielerY

   Flip
   


Until KeyHit(1)




Textdatei (dat):

Code: [AUSKLAPPEN]

000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
00000000############################################00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000#                                          #00000000
00000000############################################00000000
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000


problemanalyse: die figur ist in der Mitte, und bewegt sich genau genommen nicht, sondern der hintergrund... wie lasse ich denn am besten tiles "wandern"? Das was da im code steht, war größten teils nur geraten... Embarassed

DivineDominion

BeitragDo, Jan 06, 2005 2:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie, was, hätte das Problem wo anders vermutet Smile

Code: [AUSKLAPPEN]
DrawImage weg01,Zeile*40,Spalte*40
            Case "#"
               DrawImage wand01,Zeile*40,Spalte*40
            Case "0"
               DrawImage niemandsland,Zeile*40,Spalte*40


Zeile und Spalte scheinen ja bei dir fürs Scrolling verantwortlich zu sein (würde das lieber scroll_x bzw _y nennen oder so!).
40 Wäre dann wohl die Größe des Bildes (40x40), oder?
In den Schleifen werden allerdings nur anzZ und AnzY iteriert, welche also die aktuelle "Position" darstellen.
Es müsste demnach doch statt Zeile und Spalte immer AnzZ/AnzY sein, oder nicht?
Übrigens ist es komisch, dass du Z und Y hast, aber kein X Smile

Der Gedanke ist übrigens ansonsten ganz okay so!

Du bewegst die Karte durch die Scrollvariablen und schmeisst den Spieler an X und Y oben drauf.

Richtig wäre es für ein Spiel dann später, wenn du ihm die Position auf der Karte zuweist (0,0 wäre oben-links in der Kartenecke und so weiter).
Dann malst du ihn, indem du SpielerX*40 und SpielerY*40 nimmst (damit die Position "in Kacheln gezählt" in Pixel umgerechnet wird.

Da du scrollen willst, musst du deine Scrollwerte abziehen:

Code: [AUSKLAPPEN]
x = ( SpielerX - scroll_x ) * 40 ;Bzw "- Zeile", wenn du das zum scrollen behalten willst
y = ...
Drawimage Spieler, x, y


Wenn das irgendwie falschherum geht, nimm + statt -. Hatte ich früher auch mal, keine Ahnung weswegen Smile


Achja, und beim Zeichnen der Karte musst du Ähnlich verfahren:
Code: [AUSKLAPPEN]
For x = 0 To 59
for y = 0 to 49
drawimage bild, ( x - scroll_x ) * 40, (y - scroll_y) * 40
next
next

Wobei du natürlich erst das Bild mit Select rausfiltern musst.


Ja, das wärs dann mit "Tileengines" Smile

Schau sonst mal auf Robsite (BLitzmasters fabulöse Tutorien) oder hier im fAQ-Bereich nach!
christian.tietze@gmail.com - https://christiantietze.de
macOS

Die Wurst

Betreff: danke... danke

BeitragDo, Jan 06, 2005 23:53
Antworten mit Zitat
Benutzer-Profile anzeigen
eine fülle an infos, die mir hier dargeboten werden... danke.
stellt sich nur die frage, wie ich die im Spiel verarbeite...

wärst du so gütig, mir den code komplett zu schicken... ich weis, des klingt extrem faul und so... aber ich hab noch so viel vorzubereiten...
ich bin der beste in unserem infokurs... (prahl) und mein infolehrer (der grundsätzlich langweilige themen behandelt; z.b. radioaktiver zerfall in BB... 10. Klasse) hat mir gestattet, 6 wochen lang seinen unterricht zu führen, und den schülern was über grafik und spiele in BB beizubringen... resultat wird ein kleines spiel sein...

Hubsi

Betreff: Re: danke... danke

BeitragFr, Jan 07, 2005 0:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Wurst hat Folgendes geschrieben:
und den schülern was über grafik und spiele in BB beizubringen... resultat wird ein kleines spiel sein...
Armes Deutschland kann ich da nur sagen Laughing
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Ebola33

BeitragFr, Jan 07, 2005 0:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast vor Unterricht zu führen ?*ggg* Sorry, sei mir nicht böse aber dann musst du dich jetzt richtig auf den Hosenboden setzen, sonst bringst du den anderen nur murx bei. Und die werden dann nie richtig programmieren können Wink Wieviel Zeit hast du denn noch ? Wenn du möchtest schick ich dir meine alte Tileengine mitsamt editor....ist nicht viel Code und sehr flexibel........
ansteckend... Wink
verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/

Die Wurst

Betreff: *grummel*

BeitragFr, Jan 07, 2005 22:23
Antworten mit Zitat
Benutzer-Profile anzeigen
welch kommentare... weist du hubsi... des hier nennt sich so "BEGINNER FORUM" ums mal auf deutsch auszudrücken: A - N - F - Ä - N - G - E - R - F - O - R - U - M

sollte man da als ach so toller programmierer (von dem man noch so gut wie gar nichts gesehen hat) mit hilfreichen tips zur seite stehen??? oder ist es sinnvoller besch****** (-hubsi- da wär mir fast ein wort rausgerutscht...) Beiträge, ohne Inhalt zu schreiben...? viel mehr kennt man von dir ja nicht...

...

@ebola33: anstrengen muss ich mich da nicht... ich hab mehr ahnung von BB als mein lehrer... des mit den tiles wär nur ne sache für mich zuhaus...
die aus meinem kurs können ne schleife nicht von ner bedingung unterscheiden... was ich denen beibringen will ist: double buffering... Steuerung per keyboard, maus, joy... loadimage und so...
grade so, dass es für n tennis oder so was in der art reicht...

aber wär net, wenn du mir des schicken kannst... Smile

(ich geh mal davon aus, hubsi, dass meine ach so begrenzten fähigkeiten und kenntnisse für ein tennis reichen)

stfighter01

BeitragFr, Jan 07, 2005 23:09
Antworten mit Zitat
Benutzer-Profile anzeigen
he du würstl, ich will mal streit schlichter spielen.
ich glaub hubsi wollte eher auf die politische seite deutschlands losgehen
(so in der art: kann sich keine lehrer mehr leisten und muss schüler einsetzten um geld zu sparen)
nimm nicht gleich alles so persönlich.


mfg stfighter
Denken hilft!
 

noir

BeitragFr, Jan 07, 2005 23:31
Antworten mit Zitat
Benutzer-Profile anzeigen
um anderen was zu erklären solltest du schon etwas über der sache stehen....
das du mehr als dein lehrer kannst glaub ich dir Wink, der wird sich sicherlich auch noch nie damit wirklich beschäftigt haben.

Die Wurst

BeitragSa, Jan 08, 2005 0:33
Antworten mit Zitat
Benutzer-Profile anzeigen
@stfighter: ja sorry... aber ich seh von dem nix als dämliche (nicht mal konstrunktuve (inden seltensten fällen vllt)) kritik...
Arrow bin noch nicht lang im forum, aber seit dem bin ich im anfängerbereich, und hab noch nie nen code oder ~ausschnitt, der zur lösung beiträgt von hubsi gesehen...
denk du verstehst meinen standpunkt

Hubsi

BeitragSa, Jan 08, 2005 14:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Fertigen Code wirst Du von mir auch nicht mehr sehen, da es mehr schadet als hilft.
Zitat:
von dem man noch so gut wie gar nichts gesehen hat

Contra Vorwurf, chronologisch geordnet:
-http://www.hubsi.biz/blitzchat/Blitzchat.zip (ca. 300 KB)

-http://www.hubsi.biz/data/Bastard.zip (ca. 1,05 MB)
-http://www.hubsi.biz/data/Bastard.bb (ca. 88 KB)

-http://www.shit-seite.de/BadMan.exe (ca. 6,63 MB)
-http://www.shit-seite.de/BadManII.bb (ca. 90 KB)

Wenn Du jetzt auf der Grafk rumreiten willst, bitte. Und wenn Dich meine Art des Humors kränkt ist das auch kein Problem:
[ingore=on]
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Ebola33

BeitragSo, Jan 09, 2005 3:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich's dir schicken soll, dann müsste ich schon ne adresse haben Wink
ansteckend... Wink
verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/

Ralf

BeitragSo, Jan 09, 2005 5:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

tja Hubsi, so kann es gehen: Im letzten Monat noch Mutter Theresa wegen zuviel Hilfe.
Nun einer "von dem man noch so gut wie gar nichts gesehen hat" Wink

Ralf

Hubsi

BeitragSo, Jan 09, 2005 12:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Laughing So schnell kanns gehen Laughing
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Ebola33

BeitragSo, Jan 09, 2005 14:53
Antworten mit Zitat
Benutzer-Profile anzeigen
bitte bitte, ich woll't ja nur nett sein. Wink
ansteckend... Wink
verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/

Die Wurst

BeitragDo, Jan 13, 2005 23:48
Antworten mit Zitat
Benutzer-Profile anzeigen
auch wenn mir der thread nich allzuviel gebracht hat, möcht ich mich bei den konstruktiven bedanken!!! Wink

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group