Gleichzeitig bewegen und schießen
Übersicht

niggyBetreff: Gleichzeitig bewegen und schießen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
könnte mir jemand helfen ?
ich weiß leider nicht wie man das machen muss wenn man ein schuss oder auch mehrere zeichnet und gleichzeitig sich bewegt damit man beides sieht könnt ihr mir nen tip geben? ~EDITIERT~ Titel geändert. hamZta |
||
da_poller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hmm... eine genauere beschreibeung in welchem spiel genre das liegt und vllt etwas code wären hilfreich.. | ||
![]() |
Chrise |
![]() Antworten mit Zitat ![]() |
---|---|---|
da_poller hat Folgendes geschrieben: hmm... eine genauere beschreibeung in welchem spiel genre das liegt und vllt etwas code wären hilfreich..
lol xD Laufen und Scheißen gleichzeitig ^^ Ähm ich glaube so ein ähnliches Thema hatten wir schonmal hier. Da kamen Vorschläge, wie das Objekt oder die Figur zu unterteilen in Oberkörper und Beine. |
||
niggy |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das spiel ist sowas wie ein jump and run shooter
wie metroid falls das jemand kennt hier ist der code Code: [AUSKLAPPEN] ;set graphics Graphics 800, 600 ;variabeln Global samusX = 600 Global samusy = 372 Global counter = 1 ;grafiken Global hintergrund1 = LoadImage("C:\Dokumente und Einstellungen\User\Desktop\blitzbasic\Grafiken\metroid_erstes lvl.bmp") Global hintergrund2 = LoadImage("C:\Dokumente und Einstellungen\User\Desktop\blitzbasic\Grafiken\metroid_erstes level2.bmp") Global samuslinks = LoadImage("C:\Dokumente und Einstellungen\User\Desktop\blitzbasic\Grafiken\samuslinks ohne waffe.bmp") Global samuslinkswaffe = LoadImage("C:\Dokumente und Einstellungen\User\Desktop\blitzbasic\Grafiken\samuslinkswaffe.bmp") Global samusrechts = LoadImage("C:\Dokumente und Einstellungen\User\Desktop\blitzbasic\Grafiken\samusrechts ohne waffe.bmp") Global samusrechtswaffe = LoadImage("C:\Dokumente und Einstellungen\User\Desktop\blitzbasic\Grafiken\samusrechtswaffe.bmp") Global schussrechts = LoadImage("C:\Dokumente und Einstellungen\User\Desktop\blitzbasic\Grafiken\schussrechts.bmp") Global schusslinks = LoadImage("C:\Dokumente und Einstellungen\User\Desktop\blitzbasic\Grafiken\schusslinks.bmp") ;hintergrund SetBuffer BackBuffer() DrawImage hintergrund2, x, y DrawImage hintergrund1, x, y MaskImage samuslinks, 255, 0, 255 MaskImage samusrechts, 255, 0, 255 MaskImage samuslinkswaffe, 255, 0, 255 MaskImage samusrechtswaffe, 255, 0, 255 MaskImage hintergrund1, 255, 0, 255 DrawImage samuslinks, 600, 373 SetBuffer BackBuffer() DrawImage hintergrund2, x, y DrawImage hintergrund1, x, y DrawImage samuslinks, samusx, samusy DrawImage samuslinkswaffe, samusx-8, samusy Global samuslook$ = samuslinks Global samuslookweapon$ = samuslinkswaffe Global samusschuss$ = schusslinks ;makes the music levelsound=LoadSound ("C:\Dokumente und Einstellungen\User\Desktop\metroid\metroid_tallon.wav") LoopSound levelsound PlaySound(levelsound) Goto start ;funktionen ;bewegungsfunktionen Function moveleft () FlushKeys If ImageRectCollide(samuslinks, samusx, samusy, frame, 453, 376, 1, 40)=0 And ImageRectCollide(samuslinks, samusx, samusy, frame, 350, 334, 5, 4)=0 Then samusx = samusx-1 SetBuffer BackBuffer () DrawImage samuslinks, samusx, samusy DrawImage samuslinkswaffe, samusx-8, samusy samuslook$ = samuslinks samuslookweapon$ = samuslinkswaffe samusschuss$ = schusslinks Flip DrawImage hintergrund2, x, y DrawImage hintergrund1, x, y If KeyHit(200) Then jump () EndIf FlushKeys End Function Function moveright () FlushKeys If ImageRectCollide(samusrechts, samusx, samusy, frame, 705, y, 3, 600)=0 And ImageRectCollide(samusrechts, samusx, samusy, frame, 395, 380, 3, 42)=0 And ImageRectCollide(samusrechts, samusx, samusy, frame, 275, 334, 3, 4)=0 Then samusx = samusx+1 SetBuffer BackBuffer () DrawImage samusrechts, samusx, samusy DrawImage samusrechtswaffe, samusx+11, samusy samuslook$ = samusrechts samuslookweapon$ = samusrechtswaffe samusschuss$ = schussrechts Flip DrawImage hintergrund2, x, y DrawImage hintergrund1, x, y If KeyHit(200) Then jump () EndIf FlushKeys End Function Function jump () FlushKeys For n = 0 To 50 If ImageRectCollide(samuslook$, samusx, samusy, 0, 276, 343, 80, 5)=0 Then samusy = samusy-1 SetBuffer BackBuffer () DrawImage samuslook$, samusx, samusy If samuslookweapon$ = samusrechtswaffe Then DrawImage samuslookweapon$, samusx+11, samusy Else DrawImage samuslinkswaffe, samusx-8, samusy EndIf Flip DrawImage hintergrund2, x, y DrawImage hintergrund1, x, y If KeyDown(203) Then moveleft () If KeyDown(205) Then moveright () EndIf Next FlushKeys End Function Function shoot () If samusschuss$ = schussrechts Then ;unvollständig End Function .start While Not KeyDown(1) ;falling ;) While ImageRectCollide (samuslook$, samusx, samusy, frame, 0, 419, 800, 9)=0 And ImageRectCollide(samuslook$, samusx, samusy, frame, 397, 375, 56, 42)=0 And ImageRectCollide(samuslook$, samusx, samusy, frame, 276, 333, 80, 5)=0 samusy = samusy+1 DrawImage samuslook$, samusx, samusy If samuslookweapon$ = samusrechtswaffe Then DrawImage samuslookweapon$, samusx+11, samusy Else DrawImage samuslinkswaffe, samusx-8, samusy EndIf Flip DrawImage hintergrund2, x, y DrawImage hintergrund1, x, y If KeyDown(203) Then moveleft () If KeyDown(205) Then moveright () If KeyHit (31) Then shoot () Wend ;bewegungsknöpfe ;bewegen .bewegen If KeyDown(203) Then moveleft () If KeyDown(205) Then moveright () If KeyHit(200) Then jump () If KeyHit (31) Then shoot () ;falling ;) Wend End |
||
da_poller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
mhh beim schnellen überfliegen seh ich böses GOTO, dann solltest du relative pfade verwenden und zu guter letzt.. wo ist da die hauptschleife? | ||
![]() |
WüstLing |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kleiner Tipp: Wenn du die .bb datei im selben Ordner wie die Bilder,Sounds,etc. angibst, musst du nicht immer die elends langen Pfade hinschreiben ![]() |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
~VERSCHOBEN~ Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde. Das sollten Basics sein ![]() |
||
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 |
![]() |
coolo |
![]() Antworten mit Zitat ![]() |
---|---|---|
haha, scheißenn haha!
Nein mal im Ernst: Versuch dich am Anfang mit etwas einfacherem als ein Jump/n/run, ein kleines Pong oder Brake-Out Spiel sollte für dich geeignet sein. Ansonsten einen Space-Shooter. Nun zu Fragestellung: Du musst im Mainloop(zw. While-wend) einfach eine neue Funktion einfügen zum schießen. Achja: Versuche Goto zu meiden, es ist BÖSE! |
||
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project! "Eigenzitate sind nur was für Deppen" -Eigenzitat |
niggy |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich seh grad das ich nicht nur scheiße buchstabiere sondern auch genauso erkläre
mein problem ist das ich nicht weiß wie gleichzeitig ein oder mehrere schüsse und meine figur sich bewegen können ich hab da leider keine idee am besten wärs wenn ich dafür keine variablen bräuchte |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ohne Variablen wird das sicher nix, denn in denen musst du eben deine Informationen speichern.
Welche Art von Var liegt nun an dir und der gewünschten Flexibilität: -Normale Variablen bei Einzelnen Dingen -Dim (also Arrays) wenn es eine fest definierte Anzahl gleicher Objekte ist -Types wenn es eine flexible Anzahl gleicher Objekte sein soll. |
||
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 |
niggy |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hm da ich nicht bestimmen will wieviele schüsse man hat da man unendlich haben soll nehm ich die types
ich weiß nur leider nich was das ist oder wie man sie benutzt vielleicht hab ich es nur vergessen |
||
![]() |
Dice of Darkness |
![]() Antworten mit Zitat ![]() |
---|---|---|
https://www.blitzforum.de/help/Type
Schau mal da nach, wenn du wissen willst, was ein Type ist. Wenn du das verstanden hast (verstanden, nicht kopiert), solltest du in der Lage sein, beliebig viele Schüsse zu generieren. |
||
Gratis Spiele, Musik, Tools |
niggy |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
vielen dank für das type tut damit kann ich was anfangen ( hoffentlich)
auch vielen dank dass du den thread umbenannt hast ich hab mich schlapp gelacht nachdem ich gemerkt hab was für nen schwachsinn ich da geschrieben habe und noch ne frage kann mir jemand mal ne alternative zu diesen elends langen codes geben? sie dienen dazu dass man nicht durch die wände läuft... Code: [AUSKLAPPEN] If ImageRectCollide ( samuslook$ , samusx, samusy, frame, 395, 377, 59, 40)=0 And ImageRectCollide ( samuslook$, samusx, samusy, frame, 275, 335, 80, 41)=0 And ImageRectCollide(samuslinks, samusx, samusy, frame, 143 , 346, 59, 51)=0 Then
mit imgerect collide funktioniert das leider nicht und auch in variabeln speichern geht irgendwie auch nicht dauernd diese langen zielen zu schreiben ist ziemlich ätzend und unübersichtlich ![]() ![]() ![]() ![]() |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bilder sind Int Variablen, also % bzw. ohne Symbol, warum also sind deine Bilder Strings ($) ? | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
niggy |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
da meine figur nach links und rechts gucken kann hab ich 2 bilder gemacht
je nachdem in welche richtung man guckt ist samuslook$ entweder Samusrechts oder samuslinks welche wiederum die bilder sind |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Okay, BlitzBasic lässt einen auch damit durchkommen, da Zahlen und Strings ineinander Konvertiert werden... richtig wäre aber trotzdem Interger.
Aber zum abkürzen: Wie sind denn Wände bei dir definiert? |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group