Abschuß eines Objekts hinter Baum

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Retro

Betreff: Abschuß eines Objekts hinter Baum

BeitragDo, Jul 08, 2004 13:57
Antworten mit Zitat
Benutzer-Profile anzeigen
So als anschauliches Beispiel mal einfach ein Moorhuhn-Clone (sorry, aber so läßt es sich halt besser erklären):

Hinter einem Baum fliegt ein Huhn und sollte logischerweise nicht abgeschossen werden können. Zumindest nicht, wenn zwischen Zielobjekt und Maus der Baum ist. Abschuß wäre nur möglich wenn man durch die transparenten Stellen des Baums (Äste) schießt.

Was wäre die schnellste Abfrage für sowas?

If (ImagesCollide(baum,mausposition) And ImageRectCollide(huhn,mausposition)) Then

???

Sollte also mit transparenten Sachen funktionieren, ebenso die Bezugspunkte müssen glaub vorher für den Baum auch festgelegt werden oder?
 

storzi

BeitragDo, Jul 08, 2004 15:48
Antworten mit Zitat
Benutzer-Profile anzeigen
imagescollide mit baum und huhn machen, wenn beides kollidiert ist es nicht getroffen
http://www.splattergamez.de

Lord_Vader

BeitragDo, Jul 08, 2004 16:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja aber das huhn muss getroffen werden, wenn auch nur der schwanz rausguckt ^^

Hubsi

BeitragFr, Jul 09, 2004 10:04
Antworten mit Zitat
Benutzer-Profile anzeigen
@Retro: Deine Konstruktion ist die einzig mögliche um die Kollision vernünftig zu erkennen. Und solange nicht gerade 500 Hühner gleichzeitig über den Schirm wetzen ist der Speed durchaus vertretbar Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Retro

BeitragFr, Jul 09, 2004 13:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm, aber müßte es logisch eigentlich nicht so heißen:

Wenn (Zusammenstoß von (Baum&Maus)=0 UND (Zusammenstoß von (Huhn&Maus)) Dann...

Also wenn Baum&Maus nicht zusammentreffen und Huhn&Maus?

*grübel*

Lord_Vader

BeitragFr, Jul 09, 2004 13:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Was würde es bringen? Wenn zB nur der Schnabel des Huhns mit dem Baum kollediert muss es doch noch abschießbar sein ^^

Simulier doch ebenen. Sagen wir 4 Ebenen. Bäume, Schiler, AUtos und alles was im Weg stehehn soll sind ebene 1. Dahinter sind die nahen hühner ebene2 die weiten ebene 4...

So und jez prüfste die ebenen. Wenn auf ebene 1 der mauszeiger auf dem baum is, dann triffste den baum. Wenn der mauszeiger also auf dem kopf des huhnes ist, obwohl dieser hinter dem baum is, trifstes net...
 

Retro

BeitragFr, Jul 09, 2004 13:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Die erste Lösung von mir stimmt schon... zumindest funktioniert sie Wink

Wie meinst Du das mit den Ebenen?

Bei mir sind die Objekte einfach frei in den Raum gestellt, Vorteil ist auch, daß die Abfrage auch für mehrere identische Bäume gleichermaßen gilt und nicht jedes Objekt einzeln abgefragt werden muß.

Lord_Vader

BeitragFr, Jul 09, 2004 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja theorethisch kannste ja eine image mit 100 bäumen machen :\

Das mit den ebenen ist doch ganz einfach. Im 3D-Raum gibts doch unterschiede in der z achse, das geht in 2D net, deswegen musste die ebenen simulieren.
 

Retro

BeitragFr, Jul 09, 2004 19:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit welchen Befehl soll das in 2D gehen?

Ich zeichne momentan alle Objekte nacheinander ein, die Berge und die Wiese sind in dem Sinne ja 2 Ebenen, die unabhängig voneinander gescrollt werden. Aber die kann ich nicht konkret ansprechen.

Lord_Vader

BeitragFr, Jul 09, 2004 20:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Da gibts kein befehl für LOL. Hey kennste schon den Befehl Geilesspielmachen ("aber ohne blut") ?

Mal ernsthaft. Du machstn Array oder Type und Trägst ebene, position... ein. Dann tuste alles nach den ebenen zeichen lassen und danach abfragen!
 

Retro

BeitragFr, Jul 09, 2004 20:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Und was soll daran schneller, genauer oder einfacher sein als

If (ImagesCollide(baum,mausposition) And ImageRectCollide(huhn,mausposition)) Then

???

Blick ich jetzt echt nicht...

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group