Problem mit ImagesOverlap

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

@ndinho

Betreff: Problem mit ImagesOverlap

BeitragDo, März 03, 2005 18:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
AppTitle "Football Star"


Graphics 800, 600
SetBuffer BackBuffer()

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; LADEN

; Startdaten für die Bälle
Data 100,100,1,1
Data 200,200,1,-1
Data 300,300,-1,1
Dim Ball(3,4)
; Startdaten einlesen
For I=1 To 3
For J=1 To 4
Read Ball(I,J)
Next
Next





;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;
; BILDER
;
spieler1 = LoadImage("Spieler1/rechts.png")
spieler2 = LoadImage("Spieler2/links2.png")
feld = LoadImage("Spielfeld.png")
start = LoadImage("Startbildschirm.png")
;Ball = LoadImage("ball.png")
;
; FONTS
;
font1 = LoadFont("Andy",32,32)
font2 = LoadFont("Arial",40,40)


tor1 = 0
tor2 = 0


X = 100
Y = 280

J = 700
Z = 280

MaskImage spieler1,255,0,255
MaskImage spieler2,255,0,255
;MaskImage ball,255,0,255

Color 0,0,255
Rect 145,100,500,100
DrawImage start,0,0
SetFont font1
Locate 150, 200
Print "Willkommen zum: !!!FOOTBALL STAR!!!"
Delay 500
Locate 150, 240
Print "Loading...."
Delay 500
;
Locate 150, 290
mannschaft1$ = Input$("Wähle den Namen für Mannschaft 1: ")
Locate 150, 330
mannschaft2$ = Input$("Wähle den Namen für Mannschaft 2: ")
;

Locate 150, 500
Print mannschaft1 + " vs " + mannschaft2

;Delay 5000

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;HAUPTSCHLEIFE

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


Repeat
Cls
DrawImage feld,50,100
DrawImage spieler1, X,Y
DrawImage spieler2, J,Z
;DrawImage ball1,380,280


If KeyDown(200) = 1 Then Y = Y - 1 ;And DrawImage sp1oben ; oben
If KeyDown(208) = 1 Then Y = Y + 1 ;And DrawImage sp1unten ; unten
If KeyDown(205) = 1 Then X = X + 2 ;And DrawImage spieler1 ; rechts
If KeyDown(203) = 1 Then X = X - 2 ;And DrawImage sp1links ; links




If KeyDown(17) = 1 Then Z = Z - 1
If KeyDown(31) = 1 Then Z = Z + 1
If KeyDown(32) = 1 Then J = J + 2
If KeyDown(30) = 1 Then J = J - 2



If X>700 Then X=700
If X<70 Then X=70
If Y>470 Then Y=470
If Y<86 Then Y=86


If J>700 Then J=700
If J<70 Then J=70
If Z>470 Then Z=470
If Z<86 Then Z=86



SetFont font2
Locate 100,10
Print mannschaft1 + "  " + tor1 + " : " + tor2 + "  " + mannschaft2


; KOLLISION

;ClsColor 200,200,0
For I=1 To 1
; Randtest
If Ball(I,1)=50 Then Ball(I,3) = +1
If Ball(I,1)=719 Then Ball(I,3) = -1 ; rechts
If Ball(I,2)=100 Then Ball(I,4) = +1 ; oben
If Ball(I,2)=460 Then Ball(I,4) = -1 ; unten
; Position ändern
Ball(I,1) = Ball(I,1) + Ball(I,3)
Ball(I,2) = Ball(I,2) + Ball(I,4)

Color 0,0,255
Oval Ball(1,1),Ball(1,2),36,36,0
Next





; Kollision

For I = 246 To 380

If ball(1,1) = 50 And ball(1,2) = I Then tor2 = tor2 + 1

Next


For I = 246 To 379

If ball(1,1) = 719 And ball(1,2) = I Then tor1 = tor1 + 1

Next



If ImagesOverlap(ball(1,1),ball(1,2), spieler1,X,Y) Then Ball(1,2) = -1  ; *




If ImagesOverlap(ball(1,1),ball(1,2), spieler2,X,Y) Then Ball(1,2) = +1
 






Flip
Until KeyDown(1)
End




* Das klappt nicht, Not enought Parameters Was mach ich Falsch?? Und was muss ich genau da eingeben, dass der Ball abprallt, weil das ist jetzt nur improvisiert Embarassed
User posted image

Mein PC: AMD 3000+ / 1024 DDR-Ramm 400 / Geforce 6800
Meine Lieblingsspiele: World of Warcraft, Warcraft III, Pro Evolutions Soccer 4, Blitz Basic Smile
 

noir

BeitragDo, März 03, 2005 18:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
If ImagesOverlap(ball(1,1),ball(1,2), spieler1,X,Y) Then Ball(1,2) = -1 ..


du hast keine zugehörige grafik angegeben:
du brauchst bild1,x,y,bild2,x,y

grafik????, ball(1,1),ball(1,2)
Fragt und man wird euch helfen

Das Alternativ BlitzBasic-Forum: FreeCoder
Einfach chatten: BlitzChat
Code&Text schnell und einfach pasten: FreePasting
  • Zuletzt bearbeitet von noir am So, März 06, 2005 2:34, insgesamt 2-mal bearbeitet

@ndinho

BeitragDo, März 03, 2005 18:23
Antworten mit Zitat
Benutzer-Profile anzeigen
doch, Ball ist ein gezeichnetes Oval


Code: [AUSKLAPPEN]
Oval Ball(1,1),Ball(1,2),36,36,0
User posted image

Mein PC: AMD 3000+ / 1024 DDR-Ramm 400 / Geforce 6800
Meine Lieblingsspiele: World of Warcraft, Warcraft III, Pro Evolutions Soccer 4, Blitz Basic Smile
 

noir

BeitragDo, März 03, 2005 18:25
Antworten mit Zitat
Benutzer-Profile anzeigen
@ndinho hat Folgendes geschrieben:
doch, Ball ist ein gezeichnetes Oval


Code: [AUSKLAPPEN]
Oval Ball(1,1),Ball(1,2),36,36,0




Les halt in der OH: Wert=IMAGESCOLLIDE (Bild1, X1, Y1, Frame1, Bild2, X2, Y2, Frame2)

du gibst kein bild an!


du hast nur 5 Parameter!
Fragt und man wird euch helfen

Das Alternativ BlitzBasic-Forum: FreeCoder
Einfach chatten: BlitzChat
Code&Text schnell und einfach pasten: FreePasting
  • Zuletzt bearbeitet von noir am So, März 06, 2005 2:34, insgesamt 5-mal bearbeitet

Spikespine

BeitragDo, März 03, 2005 18:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber wenn du nur Oval angibst ist es kein Image. Erstelle hierfür ein Image mit createimage und dann kannst du es in der Imagesoverlap-prüfung anwenden!
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax

Artemis

BeitragDo, März 03, 2005 18:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder du machst rectsoverlap!!
das gibt dann aber nen nicht so schönen abprall.

Christian

BeitragDo, März 03, 2005 18:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Tag!
JonasCleve hat Folgendes geschrieben:
Oder du machst rectsoverlap!!
das gibt dann aber nen nicht so schönen abprall.

Rectsoverlap geht auch bei Ovalen?

Gruß
Christian

Artemis

BeitragDo, März 03, 2005 18:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich sagte das gibt nen unschönen effekt!!!

_________
| /---------\ |
|/-----------\|
|\-----------/|
|_\_____/_|
Wenn das so aussieht, dann prallt das auch ab wen der an ne ecke kommt aber den kreis eigentlich nicht berührt.

Christian

BeitragDo, März 03, 2005 22:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Tag!

Ach so meinst du das.
Ok!

Gruß
Christian

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group