Kollision
Übersicht

Niu-IunBetreff: Kollision |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sorry, wusste einfach nicht, wie ich solche art kollisionen beschreiben kann =).
Also ich hätte gerne gewusste, wie man Kollisionsabfragen auf ungleichmäßigen Flächen macht (z . B. Trapeznegativ, d. h. man kann nur auf einer Fläche, die wie ein Trapez aussieht laufen.) Und gibt es eine Möglichkeit die Farbe eines Pixels zu ermitteln? |
||
-------------------------------------------------------
Whoay! |
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Farbe des Pixels kannst du mir Readpixel, Readpixelfast oder GetColor ermitteln...und das mit der kollision verstehe ich jetzt nicht ganz meinst du einfach das man mit einem bild kollidieren soll, wenn ja dann guck dir mal imagescollide an...wenn nicht dann beschreib dein problem noch etwas genauer... | ||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
Niu-Iun |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich meine, das man mit einem Bereich eines Bildes kollidieren soll
dabei ist der aber trapezförmig (so in etwa) |
||
-------------------------------------------------------
Whoay! |
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja wenn der rest des Bildes transperent ist dann geht das mit imagescollide...ansonsten müsstest du überlegen das du das gleiche bild nur mit transperentem äussren unter das farbliche zu zeichenen und dann die kollision mit dem unteren zu testen...hoffe das war verständlich... | ||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
Niu-Iun |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also gilt images collide nicht für den transparente bereich? Geil, dann wird das ja easy =) | ||
-------------------------------------------------------
Whoay! |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi Niu-Iun, mit ImagesCollide kannst du, wie bereits beschrieben, eine Pixelgenaue Kollisionsprüfung machen. Beachte aber das diese art von Kollisionsprüfung nicht grad die schnellste ist. Für wenige Objekte gehts noch. Bei einer Tilemap beispielsweise ist es wichtig das nur die 'möglichen' Tiles nach Kollision überprüft werden. /EDIT: Sagst ja nur, weil ich den Eindruck habe, daß du ein RPG machen möchtest... | ||
![]() |
Kryan |
![]() Antworten mit Zitat ![]() |
---|---|---|
eine möglichkeit für unregelmäßige flächen wäre ja, dass du es als bild machst und dann mit imagescollide...das sieht in etwa so aus:
Code: [AUSKLAPPEN] trapez=CreateImage(100,100) SetBuffer ImageBuffer(trapez) ;Hier zeichnest du ein Trapez SetBuffer BackBuffer() ... If ImagesCOllide(trapez,x,y,0,objekt,x2,y2,0) Then MachDiesUndJenes ... |
||
Niu-Iun |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
naja, es soll ein point and click adv werden. Ich hatte eigentlich vor immer bei mausklick den geklickten Punkt zu überprüfen... | ||
-------------------------------------------------------
Whoay! |
![]() |
Kryan |
![]() Antworten mit Zitat ![]() |
---|---|---|
kannst du dann ja so machen wie ich meinte
mit einem editor machst du dann die klickbereiche, wo man reinklicken kann dies wird in einer datei gespeichert vllt auch als schwarz/weiß-bitmap und diese lädst du dann und dann prüfst du ob die maus da drauf ist |
||
Niu-Iun |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
kann ich nicht einfach abfragen ob die farbe des pixels die transparenzfarbe ist? | ||
-------------------------------------------------------
Whoay! |
![]() |
Kryan |
![]() Antworten mit Zitat ![]() |
---|---|---|
so prüfst du ob die maus da drauf ist:
If ImageRectCollide(trapezinschwarzweiss,100,100,0,MouseX(),mOuseY(),1,1) Then ..... |
||
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ne weil die farbe des pixels is dann schwarz oder was immer sonst anhintet wär denn es ist ja TRANSPERENT^^ du solltest dich echt mit der imagescollide methode anfreunden das is echt das leichteste... | ||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ups, Quatsch ![]() ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
- Zuletzt bearbeitet von Hubsi am Sa, Jan 07, 2006 19:31, insgesamt einmal bearbeitet
Niu-Iun |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wie kann ich das machen, das ich von einem image nicht runter darf...
also, das die koordinaten immer auf diesem image liegen müssen. |
||
-------------------------------------------------------
Whoay! |
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] If imagesnotcollide(maus,x,y,0,bild,x,y,0) then x=tempx y=tempy endif tempx=x tempy=y so sollte das gehen... ~Edit~ blödsinn.... Code: [AUSKLAPPEN] If not imagescollide(maus,x,y,0,bild,x,y,0) then x=tempx y=tempy endif tempx=x tempy=y oder Code: [AUSKLAPPEN] If imagescollide(maus,x,y,0,bild,x,y,0)=false then x=tempx y=tempy endif tempx=x tempy=y |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
Niu-Iun |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
-.- hätte ich mir eigentlich denken können aber trotzdem danke | ||
-------------------------------------------------------
Whoay! |
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group