Kollision

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Niu-Iun

Betreff: Kollision

BeitragSa, Jan 07, 2006 0:53
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Jan 07, 2006 1:52
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Jan 07, 2006 1:54
Antworten mit Zitat
Benutzer-Profile anzeigen
ich meine, das man mit einem Bereich eines Bildes kollidieren soll

dabei ist der aber trapezförmig (so in etwa)
-------------------------------------------------------

Whoay!

5k41

BeitragSa, Jan 07, 2006 2:01
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Jan 07, 2006 2:12
Antworten mit Zitat
Benutzer-Profile anzeigen
also gilt images collide nicht für den transparente bereich? Geil, dann wird das ja easy =)
-------------------------------------------------------

Whoay!

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, Jan 07, 2006 4:01
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Jan 07, 2006 12:20
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Jan 07, 2006 16:00
Antworten mit Zitat
Benutzer-Profile anzeigen
naja, es soll ein point and click adv werden. Ich hatte eigentlich vor immer bei mausklick den geklickten Punkt zu überprüfen...
-------------------------------------------------------

Whoay!

Kryan

BeitragSa, Jan 07, 2006 19:13
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Jan 07, 2006 19:26
Antworten mit Zitat
Benutzer-Profile anzeigen
kann ich nicht einfach abfragen ob die farbe des pixels die transparenzfarbe ist?
-------------------------------------------------------

Whoay!

Kryan

BeitragSa, Jan 07, 2006 19:27
Antworten mit Zitat
Benutzer-Profile anzeigen
so prüfst du ob die maus da drauf ist:
If ImageRectCollide(trapezinschwarzweiss,100,100,0,MouseX(),mOuseY(),1,1) Then .....

5k41

BeitragSa, Jan 07, 2006 19:28
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Jan 07, 2006 19:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Ups, Quatsch Very Happy Löscht den Post bitte raus, danke Very Happy
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

BeitragSa, Jan 07, 2006 19:30
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Jan 07, 2006 19:34
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Jan 07, 2006 19:39
Antworten mit Zitat
Benutzer-Profile anzeigen
-.- hätte ich mir eigentlich denken können aber trotzdem danke
-------------------------------------------------------

Whoay!

5k41

BeitragSa, Jan 07, 2006 19:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Very Happy kein problem man hilft doch gern!
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group