Ich suche jetzt schon ewig nach dem Fehler, kann ihn aber nicht finden.
Bei Kollision treten bei Image1,...,Image7 die erwünschten Parameter ein, bei Image8 aber nicht. Fehlermeldung wird keine angezeigt, aber irgendwo muss ein Fehler sein...
für dieses Image funktionierts z.B.:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| if (PtInRect(FirstImgRect, SiebenImgRect.TopLeft) and (Image7.Visible)) or (PtInRect(FirstImgRect, Point(SiebenImgRect.Right, SiebenImgRect.Top)) and (Image7.Visible)) or (PtInRect(FirstImgRect, Point(SiebenImgRect.Left, SiebenImgRect.Bottom)) and (Image7.Visible)) or (PtInRect(FirstImgRect, SiebenImgRect.BottomRight) and (Image7.Visible)) then begin Timer4.Enabled:=false; Timer1.Enabled:=false; Timer5.Enabled:=false; ShowMessage('Game Over!'); Edit1.Text:='0'; Button7.Click; end; |
für dieses seltsamerweise nicht:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| if (PtInRect(FirstImgRect, AchtImgRect.TopLeft) and (Image8.Visible)) or (PtInRect(FirstImgRect, Point(AchtImgRect.Right, AchtImgRect.Top)) and (Image8.Visible)) or (PtInRect(FirstImgRect, Point(AchtImgRect.Left, AchtImgRect.Bottom)) and (Image8.Visible)) or (PtInRect(FirstImgRect, AchtImgRect.BottomRight) and (Image8.Visible)) then begin Timer4.Enabled:=false; Timer1.Enabled:=false; Timer5.Enabled:=false; ShowMessage('Game Over!'); Edit1.Text:='0'; Button7.Click; end; |