2016-07-23 16 views
0

Also, ich habe ein bisschen eine besondere Situation mit Kollision.
Ich muss ein Beispiel geben, um meinen Punkt zu liefern, also hören Sie mich bitte!
In meinem Spiel habe ich den Hauptspieler, der auf verschiedenen Spots läuft, jeder Fleck hat seinen eigenen Knopf auf dem Bildschirm!
was ich tun möchte, ist: wenn der Spieler an Ort und Stelle ist, wenn der Knopf gedrückt wurde, während es noch den Punkt berührt, dann passierst du!
Wenn der Knopf nicht gedrückt wurde, verlieren Sie.
ich habe all das gemacht und es ist in Ordnung !,
aber mein Problem ist, dass meine Kollision das erste Pixel der Kollision nur entdecken! Wenn du also den Knopf drückst, während du in der Mitte der Stelle oder am Ende bist, wird es nicht funktionieren!
ich weiß, es könnte einfach sein, aber bitte ich brauche Hilfe !!
meine Kollisionsmethode:Wie wird die Kollisionserkennung eine Zeitlang durchgeführt?

public boolean collision(GameObject a, GameObject b) 
{ 
    if(Rect.intersects(a.getRectangle(), b.getRectangle())) 
    { 
     return true; 
    } 
    return false; 
} 

if(collision(helobaby.get(i), player)) 
      { 
       helobaby.remove(i); 
       enemykilled.add(new Death(BitmapFactory.decodeResource(getResources(), R.drawable. 
         helobabyultimate), player.width + 125, 210, 220, 180, player.getScore(), 12)); 

       if(bbypressed) { 

        missiles.remove(i); 

        killed.add(new Death(BitmapFactory.decodeResource(getResources(), R.drawable. 
          babykilled), player.width + 155, 130, 233, 233, player.getScore(), 5)); 

        killed.add(new Death(BitmapFactory.decodeResource(getResources(), R.drawable. 
          rebaby), player.width + 100, 250, 233, 233, player.getScore(), 14)); 

        killed.get(i).getAnimation().setDelay(50); 
       } 
       break; 
      } 

, wenn Sie Informationen benötigen mehr einfach fragen.

Antwort

0

Try tun:

a.getRectangle().overlaps(b.getRectangle); 

Wenn Sie dies tun, wird es überprüft werden, wenn das Rechteck von „a“ das Rechteck von „b“ überlappt, in seiner Gesamtfläche, nicht die x und die y-Pixel nur

(Sorry über mein Englisch)

+0

Sind Sie sicher, dass der Code richtig ist! weil ich einen Fehler bei "Überlappungen" bekomme – Ethan

Verwandte Themen