Hintergrund

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen

viper199

Betreff: Hintergrund

BeitragFr, Feb 23, 2007 18:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ich benötige Hilfe beim einfügen eines Hintergrunds!

In der FAQ und der boardsuche habe ich nichts dadrüber gefunden, fals es dennoch schon solch einen Thread geben sollte möchte ich mich hierfür entschuldigen

Ich habe hier ein steuerbares schiff erstellt und es wäre nett, wenn mir jemand einen code für den Hintergrund an die richtige stelle einfügen würde!

Ausserdem hätte ich noch eine Frage dazu, das mein schiff nicht auf land und felsen fahren kann.

Über Antworten bin ich sehr dankbar.

Code: [AUSKLAPPEN]
 Graphics 640,480

;enable double buffering
SetBuffer BackBuffer()

;load a player image
player=LoadImage("up.bmp")

;initialize player position
player_x=320
player_y=400

;loop until ESC hit...
While Not KeyDown(1)

   ;is left key being held?
   If KeyDown(203)
   
      ;move player to the left
      player_x=player_x-4
      
      ;stop the player going 'off screen'
      If player_x<0 Then player_x=0
      player=LoadImage("left.bmp")
   
      
   EndIf
   
   ;is right key being held?
   If KeyDown(205)
   
      ;move player to the right
      player_x=player_x+4
      
      ;stop the player going 'off screen'
      If player_x>580 Then player_x=580
      player=LoadImage("right.bmp")
            
      EndIf
   
   ;is up key being held?
   If KeyDown(200)
   
      ;move player to up
      player_y=player_y-4
      
      ;stop the player going 'off screen'
      If player_y<0 Then player_y=0
      player=LoadImage("up.bmp")
   
   
   EndIf
   
   ;is down key being held?
   If KeyDown(208)
   
      ;move player to down
      player_y=player_y+4
      
      ;stop the player going 'off screen'
      If player_y>420 Then player_y=420
      player=LoadImage("down.bmp")


   
   EndIf
   
   ;clear the screen
   Cls
   
   ;draw the player
   DrawImage player,player_x,player_y
   
   ;swap front and back buffers
   Flip
   

Wend

Tankbuster

BeitragFr, Feb 23, 2007 18:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie Hintergrund?? Scrollbar oder einfach nur son Bild??
Zitat:
Ausserdem hätte ich noch eine Frage dazu, das mein schiff nicht auf land und felsen fahren kann.

If imagesoverlap(player,player_x,player_y,boden,boden_x,boden_y) then .......
Twitter
Download Jewel Snake!
Windows|Android

viper199

Betreff: danke

BeitragFr, Feb 23, 2007 19:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke schonmal für die antwort!
Mit dem Hintergrundbild soll es so sein das es einfach im Hintergrund ohne scrollbar angezeigt wird und worauf das schiff dann fährt!

Tankbuster

BeitragFr, Feb 23, 2007 20:26
Antworten mit Zitat
Benutzer-Profile anzeigen
einfach "drawimage hintergrund,0,0" oder so! kommt halt drauf an, wo du den plazierst! Der sollte aber vor "DrawImage player,player_x,player_y " stehen, sonst wird das Schiff übermalt^^
Twitter
Download Jewel Snake!
Windows|Android
 

FBI-blitz

BeitragFr, Feb 23, 2007 21:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Tankbuster hat Folgendes geschrieben:
einfach "drawimage hintergrund,0,0" oder so! kommt halt drauf an, wo du den plazierst! Der sollte aber vor "DrawImage player,player_x,player_y " stehen, sonst wird das Schiff übermalt^^



Wenn der Hintergrund den ganzen Bildschirm bedeckt, kannste auch eifnach das cls damit überschreiben.

Den Hintergrund selbst lädsts du genau so wie den Spieler und platzierst ihn eben, wie Tankbuster schon sagte, an die Koordinaten 0, 0
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+

viper199

BeitragFr, Feb 23, 2007 22:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok vielen Dank, so hat das schonmal geklappt, Smile
Jetzt stehe ich nur vor dem Problem das ich die map als Hintergrund habe, doch wie genau mache ich das, dass mein Boot nicht über die Inseln fährt?

Hier die Map
user posted image

Smily

BeitragFr, Feb 23, 2007 22:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Erstelle noch ein Bild, welches nur schwarz-weis ist.
Schwarze pixel bedeuten befahrbar und weise pixel bedeuten nicht befahrbar.

Das bild noch laden und mit imagescollide überprüfen.

Gruß, Smily0412
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

Tankbuster

BeitragFr, Feb 23, 2007 23:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder du lädst als Hintergrundbild nur das wasser, und dann plazierst du noch eine Insel als einzelnes Bild. Dann kannst du auch eine Kollision abfragen!^^
Twitter
Download Jewel Snake!
Windows|Android

viper199

BeitragFr, Feb 23, 2007 23:03
Antworten mit Zitat
Benutzer-Profile anzeigen
sry aber was sind imagescollide Embarassed
und wie überprüfe ich die? Sad

zu tank
was davon ist sinnvoller? ich denke das mit den 2 maps oder?

Tankbuster

BeitragFr, Feb 23, 2007 23:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Beides ist Sinnvoll! Wenn die Inseln sich bewegen sollen, ist meins sinnvoller, denn sonst musst du jedes mal eine andere map haben xD! (aber hab sowieso noch nie ne laufende insel gesehen)^^

Ich hab hier mal ein kleines Beispielprog aus der OnlineHilfe! Schau dir das mal an!^^
Code: [AUSKLAPPEN]
GRAPHICS 640,480,16
gfxBox=CREATEIMAGE(50,50)
gfxCircle=CREATEIMAGE(50,50)
SETBUFFER IMAGEBUFFER(gfxBox)
COLOR 0,0,255
RECT 10,10,30,30,1
SETBUFFER IMAGEBUFFER(gfxCircle)
COLOR 255,0,0
OVAL 10,10,30,30,1
SETBUFFER BackBuffer()
boxX=RND(50,610)
boxY=RND(50,430)
REPEAT
   circleX=MOUSEX()
   circleY=MOUSEY()
   CLS
   DRAWIMAGE gfxBox,boxX,boxY
   DRAWIMAGE gfxCircle,circleX,circleY
   FLIP
UNTIL IMAGESCOLLIDE (gfxBox,boxX,boxY,0,gfxCircle,circleX,circleY,0)
TEXT 0,0, "Kollision! Maustaste drücken"
FLIP
WAITMOUSE()
ENDGRAPHICS
Twitter
Download Jewel Snake!
Windows|Android

BladeRunner

Moderator

BeitragFr, Feb 23, 2007 23:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Code den du uns präsentiert hast, wo hast du den her ?

Zu deiner Frage:
ql:imagescollide

Die Onlinehilfe ist sehr sinnvoll, zudem würde ich dir die tutorials auf der Robsite empfehlen (www.robsite.de)
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

viper199

BeitragSa, Feb 24, 2007 0:01
Antworten mit Zitat
Benutzer-Profile anzeigen
BladeRunner hat Folgendes geschrieben:
Der Code den du uns präsentiert hast, wo hast du den her ?


Fals du meinen code meinst das ist der bei blitz basic im help/sample ordner das move_player den code hab ich dann nur was bearbeitet Smile

BladeRunner

Moderator

BeitragSa, Feb 24, 2007 12:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Dem dachte ich mir schon...
ich würde dir empfehlen nicht blind code zu kopieren, sondern ihn zu verstehen zu versuchen. Desweiteren leg ich dir wie gesagt die OnlineHkilfe ans Herz, hier wird jeder Befehl recht ausführlich erläutert.
Da das ganze in BB einzubinden ist kann man mit einem (doppel-)Druck auf f1 jede Menge Infos erlangen die Fragen klären bevor sie entstehen.
Ansonsten: wenn Dir ein Befehl unklar ist teste ihn in einem separaten programm aus, spiel damit herum. So wirst du sehr viel lernen.
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

viper199

BeitragSa, Feb 24, 2007 22:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok das hab ich jetzt erstmal gemacht mit der Onlinehilfe und dem BB kurs doch ich verzweifel jetzt :S

Grund dazu ist ich hab irgendwo einen Fehler und finde ihn nicht ,weil er immer eine Kollision anzeigt.

Vielleicht könnt ihr mir ja wieder helfen Smile

Code: [AUSKLAPPEN]
EndIf
   
   Cls
   

   wasserbg = LoadImage ("wasserbg.bmp")
   Hintergrund = LoadImage ("wasser.bmp")
   DrawBlock wasserbg, 0, 0
   DrawBlock Hintergrund, 0, 0
   
   MaskImage wasserbg, 0, 0, 128
   MaskImage player, 0, 0, 128
   

   
   sound = LoadSound("brandung.wav")
   kanal = PlaySound(sound)
   
   DrawImage player,player_x,player_y
   
   If ImagesCollide(player, 0, 0, 0, wasserbg, 1, 1, 0) Then Text MouseX(), MouseY(), "Kollision"

   
   Flip
   

Wend

BladeRunner

Moderator

BeitragSa, Feb 24, 2007 22:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Schau dir mal ql:imagescollide genau an - Du gibst feste koordinaten an, also muss es immer eine Kollision geben. Ändere das und es wird gehen.
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

skey-z

BeitragSa, Feb 24, 2007 23:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Außerdem lädst du alles in der Hauptschleife, dadurch wird dein Speicher ziemlich schnell überlaufen und das Spiel hacken.
Lad alle Bilder, Sounds und Objekte immer vor der Schleife.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
 

Schoasch

Betreff: ok

BeitragSo, Feb 25, 2007 7:24
Antworten mit Zitat
Benutzer-Profile anzeigen
ich mache es immer so:


Code: [AUSKLAPPEN]

Wert = ImagesCollide(Player,PlayerX,PlayerY,0,Insel,wasserbrg,1,1,0)
;hier wurde ermittelt ob es eine Kollision zwischen den beiden Bildern gibt
;und in die Variable Wert gespeichert (0 = Keine Kollision, 1 = Kollision)

If Wert = 1 Then
Text,MouseX(),MouseY(),"Kollision"
EndIf
;und wenn Wert 1 ist (das heißt Kollision) dann kommt er in das If... und
;schreibt den Text :)



Mach das mal so vieleicht funktionierts dann....

viper199

BeitragMo, Feb 26, 2007 13:43
Antworten mit Zitat
Benutzer-Profile anzeigen
skey-z hat Folgendes geschrieben:
Außerdem lädst du alles in der Hauptschleife, dadurch wird dein Speicher ziemlich schnell überlaufen und das Spiel hacken.
Lad alle Bilder, Sounds und Objekte immer vor der Schleife.


Damit hattest du allerdings recht das spiel hatte auf meinem laptop schon was gelagt vielen Danke für den tipp =)

Doch mit der ollen Kolision komm ich einfach nicht klar
@ Blade Runner : wo hab ich denn feste Kordinaten angegeben?
@ Schoasch : bei deinem code meckert mein BB immer , das End If kein if hat !?! was heißt das oder was mache ich falsch

Tankbuster

BeitragMo, Feb 26, 2007 14:32
Antworten mit Zitat
Benutzer-Profile anzeigen
1.Zitat:
If ImagesCollide(player, 0, 0, 0, wasserbg, 1, 1, 0)

Dasind feste Koordinaten! Du musst auch den X wert und den Y wert der Bildes angeben Beispiel:
Zitat:
If ImagesCollide(player, player_x, player_x, 0, wasserbg, 1, 1, 0)

2.Dann hast du ein endif zu viel in deinem code!^^
Twitter
Download Jewel Snake!
Windows|Android

viper199

BeitragMo, Feb 26, 2007 16:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Juhu vielen Dank, es klappt Smile

Wie mache ich das jetzt, das mein Schiff stehen bleibt?
Ich habe da mal probiert das jetzt wie mit der steuerung zu machen aber das ging nicht gibts da vll einen speziellen befehl zu?
  • Zuletzt bearbeitet von viper199 am Mo, Feb 26, 2007 18:13, insgesamt einmal bearbeitet

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group