Wie positioniere ich eine bmp-Datei bei mehreren Screens?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Jey

Betreff: Wie positioniere ich eine bmp-Datei bei mehreren Screens?

BeitragMi, Aug 18, 2004 14:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie positioniere ich eine bmp-Datei bei mehreren Screens?
Ich bin noch ziemlicher Anfänger und habe vor ein kleines spiel zu programmieren in dem die camera mit pfeiltasten gesteuert wird...
das ganze funktioniert gut ich habe ein player als bmp in die mitte des fensters gesetzt und kann mich so auf den 4 screens bewegen.

Soweit so gut..
aber ich will mich nicht nur bewegen sondern auch dinge einbauen die solide sind.Wenn ich jetzt aber eine bild auf eine position lade bewege ich dieses automatisch mit meinem spieler über den bildschirm!

Ich bräuchte also einen Befehl um zu sagen screen 1 auf position 200, 300
->mein bildchen.

Oder muss ich meine maps ganz anderst anfertigen??

Bitte um Hilfe!!! thx

wunderkind

BeitragMi, Aug 18, 2004 14:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Meinst du, du benutzt eine Bitmap, die in der Breite über vier Screens geht?
 

x.Force

BeitragMi, Aug 18, 2004 14:49
Antworten mit Zitat
Benutzer-Profile anzeigen
am besten du nimmst tiles: hab jetzt aber keine zeit zu erklären muss jetzt weg *g* schau dir mal den editor von TheShadow an

AMD Athlon XP 2000+ | 1024mb DDR-Ram | Asus Radeon 9600XT | BENQ FP757 17°Zoll TFT

Was kümmert mich mein Geschwätz von gestern? (Konrad Adenauer) -.-
 

Jey

BeitragMi, Aug 18, 2004 14:59
Antworten mit Zitat
Benutzer-Profile anzeigen
ja tiles hab ich schon aber auch nach weiß gott wieviel anleitungen hab ich immer noch nicht kapiert wie ich sage welche tile begehbar ist und welche nicht..
wenn mir das jemand erklären könnte wäre ich zu großem dank verpflichtet^^
plz!!!

The Yeti

BeitragMi, Aug 18, 2004 15:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Dass Objekte sich mitbewegen kannst du mit Types regeln.

Ich hoffe, ich sag jetzt nix falsches (bin selsbt noch Anfänger):

Code: [AUSKLAPPEN]

Objektbild=LoadImage("Name.png")

Type Objekte
Field x
Field y
Field bild
End Type

Global objekt.Objekte

objekt=NEW Objekte         ;
objekt\x=[x-Koordinate]    ; Das für jedes Objekt machen
objekt\y=[y-Koordinate]    ;
objekt\bild=Objektbild       ;
Repeat
Cls
If Keydown(200)=True Then
For objekt=EACH Objekte
objekt\y=objekt\y+1
Next
EndIf
If Keydown(208)=True Then
For objekt=EACH Objekte
objekt\y=objekt\y-1
Next
EndIf
If Keydown(203)=True Then
For objekt=EACH Objekte
objekt\x=objekt\x+1
Next
EndIf
If Keydown(205)=True Then
For objekt=EACH Objekte
objekt\x=objekt\x-1
Next
EndIf

For objekt=EACH Objekte
DrawImage objekt\bild,objekt\x,objekt\y
Next

Flip

Forever

Bigmichi

BeitragMi, Aug 18, 2004 15:36
Antworten mit Zitat
Benutzer-Profile anzeigen
das kann man auch ohen Types Regeln hab ihm erstmal über ICQ Tips gegeben die soltle er erst befolgenwenn er keien Kommentare von Hot bit oder so bekommen will Wink er wird sich bestimtm irgendwann meldedn wenn er viel gelernt hat =)

The Yeti

BeitragMi, Aug 18, 2004 22:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Nur aus Interesse (ich bin wie gesagt noob):

War´s richtig, was ich geschrieben habe?

ssj-goku

BeitragMi, Aug 18, 2004 22:42
Antworten mit Zitat
Benutzer-Profile anzeigen
hi hier so funkt das alles mit tiles hab ich auch von einem tutorial nur bissel umgeändert eigentlich ist das ganz easy da ist aber auch der scroll mit eingebaut nur zu info hier der code:

Code: [AUSKLAPPEN]

Graphics 1024,768,32,2
SetBuffer BackBuffer()
;;;;;;;;;;;;;;;;;;;;;;
Global tileset = LoadAnimImage("tiles.bmp",32,32,0,8)
Global char = LoadImage("char.bmp")
Global px = 7
Global py = 10
Global move = 5
;;;;;;;;;;;;;;;;;;;;;;
Dim map(32,32)
;;;;;;;;;;;;;;;;;;;;;;
;0= rasen
;1= boden
;2= strasse
;3= niedriges wasser
;4= tiefes wasser
;5= bäume
;6= blummen
;7= wand
;8= mauer
;;;;;;;;;;;;;;;;;;;;;;MAP=32*32
Data 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5
;;;;;;;;;;;;;;;;;;;;;;
For x = 1 To 32
For y = 1 To 32
Read map(x,y)
Next
Next
;;;;;;;;;;;;;;;;;;;;;;

Repeat
 
Cls
If KeyDown(1) Then End
;;;;;;;;;;;;;;;;;;;;;;

For x = 1 To 32
For y = 1 To 32

DrawBlock tileset,x * 32-scrollx,y * 32-scrolly,map(x,y)

Next
Next
;;;;;;;;;;;;;;;;;;;;;;
If KeyDown(208) Then
If map(px,py+1) < 4 Then
py = py +1
move = 5
scrolly = scrolly +32
EndIf
EndIf
;
If KeyDown(200) Then
If map(px,py-1) < 4 Then
py = py -1
move = 5
scrolly = scrolly -32
EndIf
EndIf
;
If KeyDown(203) Then
If map(px-1,py) < 4 Then
px = px -1
move = 5
scrollx = scrollx -32
EndIf
EndIf
;
If KeyDown(205) Then
If map(px+1,py) < 4 Then
px = px +1
move = 5
scrollx = scrollx +32
EndIf
EndIf
;;;;;;;;;;;;;;;;;;;;;;
If move = 5 Then x = px*32 : y = py*32 : DrawImage char, x-scrollx,y-scrolly : Delay 50

Flip
Forever


hoffe ich habe dir geholfen

DivineDominion

BeitragMi, Aug 18, 2004 23:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich nehme mal andu speicherst deine Daten in einem Array
map(x,y)

Dann kannst du das Array DREIDIMENSIONAL machen. Hat nix mit 3d zu tun, sondern lediglich mit einem dritten, ja, "Parameter".
map(x,y,z)

Ganz einfach wäre, wenn z 0 oder 1 sein kann. Also:
Dim map(breite, hoehe, 1)

Dann schreibst du in map(x,y,0) deine Tiledaten und in map(x,y,1) (dem zweiten "layer" (ebene)) entweder true oder false, wobei false (0) ja standart ist.
Dann prüfst du, ob auf der Ebene "1" der Wert 1 ist. Wenn ja, dann ist das Tile NICHT begehbar. Zum abfragen der Posiiton machst du es dann z.B. so wie goku, einfach bei den Abfragen ein +1 dranmachen, wenn du in Tileschritten scrollst. Wilslt du die Figur Pixel für Pixle bewegen, dann geht das nicht mit einem einfachen +1, aber das findest du dann schon raus denke ich.

https://www.blitzforum.de/view...7945#57945

Noch Fragen? Zu kompliziert beschrieben? Smile
christian.tietze@gmail.com - https://christiantietze.de
macOS
 

Jey

BeitragDo, Aug 19, 2004 1:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Also vielen Dank schon mal für die schnelle Hilfe!!! Very Happy
Ich werde das jetzt mal alles ausprobieren, falls ich immer noch nicht weiterkommen sollte melde ich mich nochnmal Wink

Keimax

BeitragDo, Aug 19, 2004 12:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Andere Möglichkeit anstatt ein 3d feld zu nehmen, wäre mit layern zu arbeiten.
also Layer1 = begehbare tiles
Layer2 nicht usw...

cu
XP3000, FX6600, 1024DDR, BB2d @ W2k,
- > Diesen Text bitte nicht beachten <-

DivineDominion

BeitragDo, Aug 19, 2004 13:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Sind diese Layer nicht die Ebenenen? Oder willst du für jeden Layer ein Array anlegen? ISt dann ja Jacke wie Hose
christian.tietze@gmail.com - https://christiantietze.de
macOS

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group