Problem mit nem programm

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Flameskull

Betreff: Problem mit nem programm

BeitragDo, Mai 01, 2008 19:55
Antworten mit Zitat
Benutzer-Profile anzeigen
also ich hab folgendes programm gemacht: kann mit w a s d einen smiley hin und her bewegen. außerdem sind in dem programm 2 balken. wnen der smiley diese berührt, kommt eine kollisionsabfrage und dasgame hört auf. ich weiß aber nicht, wie ich die balken zum bewegen bringe, also hin und her.
hier is das programm:




Graphics 640, 480
SetBuffer BackBuffer()



Repeat
Cls


a = LoadImage("smiley.bmp")
b = LoadImage("balkenlang.bmp")
c = LoadImage("balkenquer.bmp")
MaskImage a, 255, 255, 255



DrawImage a, x, y
DrawImage b, 300, 10
DrawImage c, 30, 300


If ImagesOverlap(a, x, y, b, 300, 10)
Text 280, 240, "GAME OVER"
ElseIf ImagesOverlap(a, x, y, c, 30, 300)
Text 280, 240, "GAME OVER"
ElseIf KeyDown(17) And KeyDown(30)
y=y-1
x=x-1
ElseIf KeyDown(17) And KeyDown(32)
y=y-1
x=x+1
ElseIf KeyDown(31) And KeyDown(30)
y=y+1
x=x-1
ElseIf KeyDown(31) And KeyDown(32)
y=y+1
x=x+1
ElseIf KeyDown(17)
y=y-1
ElseIf KeyDown(31)
y=y+1
ElseIf KeyDown(30)
x=x-1
ElseIf KeyDown(32)
x=x+1

EndIf



Flip



Forever

Eingeproggt

BeitragDo, Mai 01, 2008 20:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Zu deinem Problem:

Code: [AUSKLAPPEN]
DrawImage b, 300, 10
DrawImage c, 30, 300


Statt den fixen Werten einfach Variablen machen Wink
Diese Variablen dann beliebig verändern.

Abseits deines Problems:

[ code ]-Tags nutzen bitte.

An deinem Code gäbe es noch viel zu verbessern, aber das muss nicht jetzt sein. Hauptsache du versthest mal das Grundprinzip.

mfG, Christoph.
 

Flameskull

BeitragDo, Mai 01, 2008 20:13
Antworten mit Zitat
Benutzer-Profile anzeigen
so, tags verändert.

das problem ist, ich weiß nicht wo ichdie variablen bei den balken verändern soll.... ich will, dass der eine balken sich hin und her (links - rechts) und der andre auch (oben - unten) bewegt..
ich post mal das,was ich verändert hab:






Graphics 640, 480
SetBuffer BackBuffer()



Repeat
Cls


smiley = LoadImage("smiley.bmp")
querbalken = LoadImage("balkenlang.bmp")
langerbalken = LoadImage("balkenquer.bmp")
MaskImage smiley, 255, 255, 255

x2 = 300
y2= 10

x3= 30
y3= 300

DrawImage smiley, x, y
DrawImage querbalken, x2, y2
DrawImage langerbalken, x3, y3


If ImagesOverlap(smiley, x, y, querbalken, x2, y2)
Text 280, 240, "GAME OVER"
ElseIf ImagesOverlap(smiley, x, y, langerbalken, x3, y3)
Text 280, 240, "GAME OVER"
ElseIf KeyDown(17) And KeyDown(30)
y=y-1
x=x-1
ElseIf KeyDown(17) And KeyDown(32)
y=y-1
x=x+1
ElseIf KeyDown(31) And KeyDown(30)
y=y+1
x=x-1
ElseIf KeyDown(31) And KeyDown(32)
y=y+1
x=x+1
ElseIf KeyDown(17)
y=y-1
ElseIf KeyDown(31)
y=y+1
ElseIf KeyDown(30)
x=x-1
ElseIf KeyDown(32)
x=x+1

EndIf



Flip



Forever

Eingeproggt

BeitragDo, Mai 01, 2008 20:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast die Sache mit den tags wohl noch nicht ganz verstanden. So geht's:
[%code%]blablabla[/code]
(Ohne den %-zeichen)

Und nun zur Bewegung:

Ich hätte da nen Vorschlag anzubieten:

Code: [AUSKLAPPEN]
x2=x2+v
If x2>640 Or x2<0 Then v=v*(-1)


Die grenzen (0 und 640) kannst du ja noch anpassen und v muss festgelegt werden. Ist die geschwindigkeit, mit dneen sich die balen bewegen. zB 5.

Eine andere Methode wäre, mit Sin und Cos zu arbeiten, aber das erspar ich dir erstmal. Wenn es dich interessiert, kannst du ja den Links folgen Smile

mfG, Christoph.
 

Flameskull

BeitragDo, Mai 01, 2008 20:33
Antworten mit Zitat
Benutzer-Profile anzeigen
hat sich erledigt, ich weiß jetzt wies geht! :)danke trotzdem^^

Plasma

Betreff: np aber

BeitragDo, Mai 01, 2008 21:54
Antworten mit Zitat
Benutzer-Profile anzeigen
nie dateien in der schleife laden !!! Siehe Oben

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group