Problem bei isometrischen game.

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

DebbieDanger

Betreff: Problem bei isometrischen game.

BeitragSo, Okt 22, 2006 22:43
Antworten mit Zitat
Benutzer-Profile anzeigen
hier Code: [AUSKLAPPEN]
;shooter.bb
Graphics 640, 480
SetBuffer BackBuffer()
catx = 200
caty = 200
playerx = 200
playery = 200

switch = 0
building = 100
iron = 0

hinter = LoadImage("ipa.bmp") ;bilder definieren
cat = LoadImage("cat.jpg")
player = LoadImage("t-shirt-hell-2.jpg")


SeedRnd MilliSecs()

Repeat
Cls

DrawImage hinter,0,0
catx=MouseX()
caty=MouseY()
DrawImage cat,catx,caty
If KeyDown(200) Then caty=caty-2
If KeyDown(208) Then caty=caty+2
If KeyDown(203) Then catx=catx-2
If KeyDown(205) Then catx=catx+2
If ImageRectCollide(player,playerx,playery,0,50, 50, 30,30) Then
switch1 = 1
Else
switch1 = 0
EndIf
If switch1 = 1 And KeyDown(19) And building >0 Then
building = building -1
iron = iron +1
EndIf
Color 0,0,0
Text 200,200,building
Text 200,300,"Iron:"+iron
DrawImage player,playerx,playery

If KeyDown(30) And playerx>MouseX() Then playerx=playerx-1
If KeyDown(30) And playerx<MouseX() Then playerx=playerx+1
If KeyDown(30) And playery>MouseY() Then playery=playery-1
If KeyDown(30) And playery<MouseY() Then playery=playery+1

If ImageRectCollide(cat,catx,caty,0,300, 50, 111,111) And MouseHit(1) And iron>50 Then switchw=1 And switchp=1

If switchw=1 Then  iron = iron - 50 And switchw = 0
Color 0,0,0
If switchp = 1 Then Text 0,0,"Waffe gekauft"








Flip
Until KeyHit(1)

er soll wenn man rechts wo hin clickt waffe gekauft hinschreiben, aber das macht er nicht, warum?

sirokuhl

BeitragSo, Okt 22, 2006 23:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
If ImageRectCollide(cat,catx,caty,0,300, 50, 111,111) And MouseHit(1) And iron>50 Then switchw=1 And switchp=1

muss heißen:
Code: [AUSKLAPPEN]
If ImageRectCollide(cat,catx,caty,0,300, 50, 111,111) And MouseHit(1) And iron>50 Then
switchw=1
switchp=1
EndIf

Schranz0r

BeitragSo, Okt 22, 2006 23:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi


Erstens:

Schau erstmal selber ob du einen leichtsinnsfehler reingebracht hast, bevor du Postest.

Zweitens:

Wenn du in einer schleife mehrmals Maushit(1) oder 2 verwenden möchtest, musst du
Code: [AUSKLAPPEN]

MH = MouseHit(1)


machen.
sofern du das wohl da noch vorhattest, weil du hast ja nicht den ganzen Code gepostet, denk ich mal.. ? Very Happy

Nun zu deinen Problem:

dein Iron:

Code: [AUSKLAPPEN]
iron>50


Kann nicht gehen, da du "Global" Iron auf 0 hast, und dabei noch das Global davor vergessen hast. Somit ist Iron Lokal.

Also da ein Global Iron=100 .
aber du hast da ja noch eine einnahmequelle drin seh ich grade.
Naja egal.

sind leichtsinnsfehler , da musst du besser drauf aufpassen.
Am besten immer alles wichtigen Variablen auf den Bildschirm ausgeben lassen, so hast du immer die kontrolle, ob die werte stimmen, oder nicht.


grüße


EDIT:

sirokuhl hat Folgendes geschrieben:
Code: [AUSKLAPPEN]
If ImageRectCollide(cat,catx,caty,0,300, 50, 111,111) And MouseHit(1) And iron>50 Then switchw=1 And switchp=1

muss heißen:
Code: [AUSKLAPPEN]
If ImageRectCollide(cat,catx,caty,0,300, 50, 111,111) And MouseHit(1) And iron>50 Then
switchw=1
switchp=1
EndIf



muss nicht ^^

kann auch sein :
Code: [AUSKLAPPEN]
If ImageRectCollide(cat,catx,caty,0,300, 50, 111,111) And MouseHit(1) And iron>50 Then switchw=1 : switchp=1
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!HAUPTSACH et kost VIEL!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 

DebbieDanger

BeitragMo, Okt 23, 2006 21:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja danke das hat geholfen.

Ja das ist der ganze code!



bis denne

-Debbie

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group