imagesoverlap

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Skullspliter

Betreff: imagesoverlap

BeitragMo, Sep 06, 2004 13:24
Antworten mit Zitat
Benutzer-Profile anzeigen
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

DC

Sieger des B2D Retro Wettbewerb / Aug 04

BeitragMo, Sep 06, 2004 13:29
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Sep 06, 2004 13:37
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Wink
 

Skullspliter

BeitragMo, Sep 06, 2004 15:37
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Embarassed Embarassed Embarassed
 

David

BeitragMo, Sep 06, 2004 15:46
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Sep 06, 2004 15:50
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Sep 06, 2004 16:46
Antworten mit Zitat
Benutzer-Profile anzeigen
@David: Wir sprechen von ImagesOverlap nicht RectsOverlap Wink

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

BeitragMo, Sep 06, 2004 19:15
Antworten mit Zitat
Benutzer-Profile anzeigen
hm
aber irgendwo in einem anderen tut hab ich gelesen, dass man auch statt "true" eine 1 bzw 0 nehmen kann.
Stimmt das?

Hubsi

BeitragMo, Sep 06, 2004 19:31
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

David

BeitragMo, Sep 06, 2004 21:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

@Hubsi: Tatsächlich, du hast völlig recht! Smile
Aber man kann nie genug lernen oder?? Razz

grüße
http://bl4ckd0g.funpic.de
 

Skullspliter

BeitragDi, Sep 07, 2004 8:45
Antworten mit Zitat
Benutzer-Profile anzeigen
ok
Dann bedank ich mich hiermit mal: Vielen Dank
und denke, mein Problem is gelöst Very Happy Very Happy Very Happy
(wobei ich persönlich o und 1 bevorzuge)
 

Skullspliter

BeitragDi, Sep 07, 2004 9:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Mist jetzt geht das doch nochnich ganz Confused Crying or Very sad Sad

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? Embarassed Crying or Very sad

/EDIT: OOOOps habs geschnallt: ich hatte die Klammern vergessen
Embarassed Embarassed Embarassed Embarassed

Sorry Leute aber jetzt klappts Laughing
 

getlose

BeitragDi, Sep 07, 2004 16:15
Antworten mit Zitat
Benutzer-Profile anzeigen
erledigt

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group