imagesoverlap
Übersicht

SkullspliterBetreff: imagesoverlap |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi all,
ich kapier das irgendwie mit den imagesoverlap. Welche koordinaten muss man da noch angeben? Kann man das nih einfach so machen, das man nur die beiden Bilder angibt, die sich überschneiden sollen? Hmmmmm |
||
![]() |
DCSieger des B2D Retro Wettbewerb / Aug 04 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein. Wenn man nur die Bilder angeben würde, wüsste BlitzBasic ja nicht wo die sich befinden.
Schließlich kann man ein Bild das im Speicher ist beliebig oft malen. Woher soll Blitz Basic dann wissen, welche dieser Positionen an die es gemalt wurde es nehmen soll? Du musst also logischerweise die Positionen angeben, an die du die Bilder auch malst (jedenfalls in den meisten Fällen). |
||
Core i5 4670K | 4 x 3,40 GHZ | 16 GB Ram | GeForce GTX 960 | HTC Vive | Win 10 Pro
www.UnrealSoftware.de | www.StrandedOnline.de | www.CS2D.com | www.CarnageContest.com | www.Stranded3.com |
Timo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn du die Position angibst, denkt sich BB dann quasi ein Imaginäres Rechteck, da es die Beiden anderen Punkte vom Bild auch kennt (Posx + Bildweite,Posy + Bildhöhe). Aber wie DC schon sagt, ohne Koordinaten nichts los ![]() |
||
Skullspliter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
aso hmmm k
aber ich kapier immernoch nich welche koordinaten die genau wollen, wollen die einfach nur den Punkt ganz links oben? oder die kompletten Maße? das ging für mich noch aus keinem tut klar hervor ![]() ![]() ![]() |
||
David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Es geht aus der Hilfe superklar hervor! Parameter 1-4: x-Position, y-Position, Länge und Höhe des 1. Rechtecks. Parameter 5-8: x-Position, y-Position, Länge und Höhe des 2. Rechtecks. Und wenn diese sich überscheiden, dann wird true zurückgegeben! Zitat: rect1 X = rectangle 1 x location rect1 Y = rectangle 1 y location rect1 Width = rectangle 1 width rect1 Height = rectangle 1 height rect2 X = rectangle 2 x location rect2 Y = rectangle 2 y location rect2 Width = rectangle 2 width rect2 Height = rectangle 2 height Zitat: This command will take two rectangular locations on the screen and see if they overlap. You will need to know the x, y, width, and height of both regions to test. I'm still trying to find a real good logical use for this command with all the other collision commands available to you like ImagesOverlap, ImagesCollide, ImageRectOverlap, and ImageRectCollide. My guess is that this is the absolute fastest possible collision method available and useful to those wishing to write their own collision routines. Unlike the other collision commands, there is no image to detect a collision with - simply one rectangular location overlapping another. You could probably use this command instead of the ImageRectOverlap command, as they are really basically doing the same thing (and I betcha this is faster). This would be useful for very easy-going 'Monkey Island' games to check the position of your pointer against a screen location (or 'hot spot') when pixel perfect accuracy (heck, image graphics in general) are not really needed. grüße |
||
http://bl4ckd0g.funpic.de |
Timo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wenn du eine Imagevariable hast, heißt das nur das du ein stückchen Arbeitsspeicher für dein Bild reserviert hast. Es heißt NICHT das du es hiermit an eine bestimmte Stelle auf den Bildschirm gekletscht hast. Vielmehr kannst du mittels DrawBlock oder DrawImage dieses Bild an eine Belibige Stelle auf deinen Bildschirm an jedem Punkt zeichnen. und genau da ist der haken bei ImagesOverlap. Der Computer will wissen wo du das Bild hingekletscht hast. Das sollst du nur angeben - fertig!! | ||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
@David: Wir sprechen von ImagesOverlap nicht RectsOverlap ![]() Syntax: ImagesOverlap(bild_1_handle, x_pos1, y_pos1, bild_2_handle, x_pos2, y_pos2) |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
Skullspliter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hm
aber irgendwo in einem anderen tut hab ich gelesen, dass man auch statt "true" eine 1 bzw 0 nehmen kann. Stimmt das? |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Völlig korrekt. True bzw. False sind Konstanten und werden, wie jede Konstante, beim compillen in 1 bzw 0 übersetzt. Macht also nur optisch einen Unterschied ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
@Hubsi: Tatsächlich, du hast völlig recht! ![]() Aber man kann nie genug lernen oder?? ![]() grüße |
||
http://bl4ckd0g.funpic.de |
Skullspliter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok
Dann bedank ich mich hiermit mal: Vielen Dank und denke, mein Problem is gelöst ![]() ![]() ![]() (wobei ich persönlich o und 1 bevorzuge) |
||
Skullspliter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mist jetzt geht das doch nochnich ganz ![]() ![]() ![]() Wenn ich jetzt die Zeile If imagesoverlap zeiger, mousex(), mousey(), verlassen, 200, 200 then... eingebe kommt immer "expecting end-of-line" und die Maus wird hinter das Wort "zeiger" gesetzt. Was hab ich dann jetzt wieder falsch gemach? ![]() ![]() /EDIT: OOOOps habs geschnallt: ich hatte die Klammern vergessen ![]() ![]() ![]() ![]() Sorry Leute aber jetzt klappts ![]() |
||
getlose |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
erledigt | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group