Scroll ohne die Nutzung von Tiles möglich?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Vinz

Betreff: Scroll ohne die Nutzung von Tiles möglich?

BeitragMo, Aug 27, 2007 19:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja wie im Titel schon steht, würde ich gern mein Spiel scrollbar machen, welches ganz ohne Tiles nur mit rects, Ovals und Images erstellt wurde.

Nun wenn ihr jetzt sagt das ihr mir das ohne den Code nicht sagen könnt, poste ich ihn, aber der ist imens groß.

Danke im Vorraus.

D2006

Administrator

BeitragMo, Aug 27, 2007 19:16
Antworten mit Zitat
Benutzer-Profile anzeigen
bissl halbgaren code:

Code: [AUSKLAPPEN]

;Graphicsbla

Local cam_x%, cam_y%

;Hautpschleife

While Not KeyHit(1)

Cls

Oval 10 - cam_x%, 10 - cam_y%, 5, 5

;"Kamerasteuerung"
cam_x% = cam_x - KeyDown(203)+KeyDown(205)
cam_y% = cam_y - KeyDown(200)+KeyDown(208)


Flip

Wend
End


So nach dem Prinzip mach ich das immer. Natürlich noch mit ner Abfrage, ob das Oval überhaupt sichtbar ist usw.
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

Vinz

BeitragMo, Aug 27, 2007 19:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die schnelle Hilfe, konnte die Idee leider nocht nicht umsetzen.
Der Image spieler soll sich ja so bewegen, dass er wie in Robs JP&Rn tutorials im Mittelpunkt steht, nur ebend das ich das nicht nutzen konnte da ich keine Tiels verwende.

Ist das mit deinem Beispiel möglich?
Viewport ist dafür kein alternativer Lösungsansatz oder?

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMo, Aug 27, 2007 19:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Lösung steht eigendlich schon oben. Wenn sich der Spieler auf der Karte/auf dem Bild nach rechts bewegt, aber du den Spieler in der Mitte des Bildschirmes haben willst, dann bewegst du eben die Karte/das Bild der Bewegung entgegengesetzt. Wenn er also nach rechts läuft, wird die Map nach links verschoben.

Was mich aber interessiert, warum du keine Tiles benutzen möchtest?
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Vinz

BeitragMo, Aug 27, 2007 20:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Nun ich bin schon relativ weit ohne Tiles gekommen, und die ganzen Kollisions und Bewegungen klappen halt auch ohne. Wenn irgendwann dann gar nix mehr geht, kann ich zumindest aus gemachten Fehlern lernen
Embarassed
Danke für eure Hilfe.
 

Gast

Betreff: Lösung

BeitragSo, Sep 02, 2007 17:39
Antworten mit Zitat
Ich arbeite Grad an nem Jump ´n Run...
Hier ist der code:
Code: [AUSKLAPPEN]
Function DrawMap()
For X = 0 To 49
 For Y = 0 To 18
  If Map(X,Y) = 1 Then DrawImageRect Karte,(X*32) - Offset,Y*32,2,240,32,32
  If Map(X,Y) = 2 Then DrawImageRect Karte,(X*32) - Offset,Y*32,36,240,32,32
  If Map(X,Y) = 3 Then DrawImageRect Karte,(X*32) - Offset,Y*32,206,240,32,32
  If Map(X,Y) = 4 Then DrawImageRect Karte,(X*32) - Offset,Y*32,36,308,32,32
  If Map(X,Y) = 5 Then DrawImageRect Karte2,(X*32) - Offset,Y*32,580,2,32,32
  If Map(X,Y) = 6 Then DrawImageRect Karte2,(X*32) - Offset,Y*32,444,36,32,32
  If Map(X,Y) = 7 Then DrawImageRect Karte2,(X*32) - Offset,Y*32,342,342,32,32
  If Map(X,Y) = 8 Then DrawImageRect Karte2,(X*32) - Offset,Y*32,376,342,32,32
  If Map(X,Y) = 9 Then DrawImageRect Karte2,(X*32) - Offset,Y*32,444,308,32,32
  If Map(X,Y) =10 Then DrawImageRect Karte2,(X*32) -Offset,Y*32,478,308,32,32
  If Map(X,Y) =11 Then DrawImageRect Karte1,(X*32) - Offset,Y*32,376,128,32,32
 Next
Next
End Function


DrawImageRect kannst du nautürlich auch mit Rect ersetzen...


Achja, Der Offset-Code:
Code: [AUSKLAPPEN]
Function Moveplayer()
X = (Offset /32) + (128/32)
Y = PlayerY /32
If KeyDown(203) And Map(X-1,Y) <>4 And Map(X-1,Y) <>2 Then Offset = Offset - 2
If KeyDown(205) And Map(X+1,Y) <>4 And Map(X+1,Y) <>2 Then Offset = Offset + 2
If KeyDown(200) And Map(X,Y) = 5 Then PlayerY = PlayerY - 2
If KeyDown(208) And Map(X,Y) = 5 And Map(X,Y+1)<>2 Then PlayerY = PlayerY + 2
End Function


Und eine Beispiel-Funktion

Code: [AUSKLAPPEN]
Function Fallplayer()
X = (Offset /32) + (128/32)
Y = PlayerY /32
If Map(X,Y+1) <>2 And Map(X,Y+1)<>3 And Map(X,Y+1) <>1 And Map(X,Y+1) <>5 And Jump <= 0 Then PlayerY = PlayerY + 2
End Function

WEBLink

BeitragMo, Sep 24, 2007 22:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hehe, beim Stammtisch hatten wir ein beispiel mit einem Bild das 6000*6000 Pixel groß war xD


An alle Insider: Pssssssssssstttttttttttttttt

BladeRunner

Moderator

BeitragDi, Sep 25, 2007 0:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Hehe, beim Stammtisch hatten wir ein beispiel mit einem Bild das 6000*6000 Pixel groß war xD

Glückwunsch, dann habt ihr mit einer einzigen Datei 137 Megabyte Grafikkartenspeicher zugemüllt und damit weite Teile der Casual Gamer mit schlechteren Karten schon von vorneherein disqualifiziert.
Es ist schlicht IRRSINN solch große Images zu verwenden, belastet die Hardware unnötig und ist einfach ineffizient.
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

StepTiger

BeitragDi, Sep 25, 2007 23:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Da machen sich viele kleine Bilder wesentlich sinnvoller Wink
Man muss immer mindestens 4, maximal 9 Bilder im Speicher haben, und schon ist es perfekt.
Aber Bilder scrollen find ich meistens eh nicht so sinnvoll. Vielleicht in Verbindung mit einem Kollisionsarray oder so.
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group