Hallo,
habe ein kleines Problem bei einem Moorhuhn-Clone:
Repeat
- Hintergrund wird gezeichnet
- hintere Zielobjekte werden gezeichnet
- transparenter Baum wird gezeichnet
- vordere Zielobjekte werden gezeichnet
- Fadenkreuz wird gezeichnet
Until ...
Nun findet eine Überprüfung mittels SpritePixelCollision() zwischen dem Fadenkreuz und den Zielobjekten statt.
Problem: Zielobjekte hinter dem Baum werden bei Kollision mit dem Fadenkreuz auch als Treffer gewertet.
Das soll natürlich nur passieren wenn diese tatsächlich getroffen werden, also auch sichtbar sind.
Hat jemand ne Idee wie man das elegant lösen kann?
Danke,
Delle
Transparenter Baum zwischen Fadenkreuz und Zielobjekt
Transparenter Baum zwischen Fadenkreuz und Zielobjekt
PB 6.21 | Win 11
- NicTheQuick
- Ein Admin
- Beiträge: 8812
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: Tansparenter Baum zwischen Fadenkreuz und Zielobjekt
Wenn dir die Kollisionsüberprüfung sagt, dass ein hinteres Objekt getroffen wurde, musst du nur nochmal prüfen, ob auch eine Kollision mit dem Baum stattfand. Ist dies der Fall, wurde das hintere Objekt eben doch nicht getroffen.
Re: Tansparenter Baum zwischen Fadenkreuz und Zielobjekt
Aber PB checkt dann schon, dass es beim transparenten Bereich vom Baum ein "Treffer" ist und dahinter nicht oder?
PB 6.21 | Win 11
Re: Transparenter Baum zwischen Fadenkreuz und Zielobjekt
kommt auf die Art der Kollisionsprüfung und die Art (Größe , Form) der transparenten Baumbereiche an
und auf die Größe des Projektils , denk ich mal ..
wenn Dein Baum aus einem hohlen Kreis bestünde, dann kannst Du da mit einem genügen kleinen
Projektil da durchschiessen SpritePixelCollision() und ein Dahinterfliegendes Moorhuhn (oder was auch immer)
abballern .. oder eben auch nicht bei Benutzung von SpriteCollision(), dann geht nix durch den Bereich des
BaumSprites (rechteckig !!) durch.
und auf die Größe des Projektils , denk ich mal ..
wenn Dein Baum aus einem hohlen Kreis bestünde, dann kannst Du da mit einem genügen kleinen
Projektil da durchschiessen SpritePixelCollision() und ein Dahinterfliegendes Moorhuhn (oder was auch immer)
abballern .. oder eben auch nicht bei Benutzung von SpriteCollision(), dann geht nix durch den Bereich des
BaumSprites (rechteckig !!) durch.
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Re: Transparenter Baum zwischen Fadenkreuz und Zielobjekt
Also das wäre jetzt grob meine Idee: Erst grob prüfen ob Fadenkreuz überhaupt Feind berührt, wenn ja dann nochmal prüfen ob der Baum dazwischen ist.
Funktioniert natürlich nicht
Ich weiß jetzt auch nicht ob das #Sprite_Baum,MouseX(),MouseY() so richtig ist.
Code: Alles auswählen
If SpriteCollision(#Sprite_Fadenkreuz,MouseX(),MouseY(),#Sprite_Feind,Feinde()\x,Feinde()\y) And MouseButton(1)
If SpritePixelCollision(#Sprite_Fadenkreuz,MouseX(),MouseY(),#Sprite_Baum,MouseX(),MouseY())=0
DeleteElement(Feinde())
EndIf
EndIfPB 6.21 | Win 11