GLBasic forum

Main forum => Bug Reports => Topic started by: blastar on 2008-Nov-02

Title: BOXCOLL - fehlerhaft?
Post by: blastar on 2008-Nov-02
mir ist eine abweichung bei dem befehl BOXCOLL aufgefallen, die function stimmt nicht mit der beschreibung überein:

" Überprüft, ob sich 2 Rechtecke überlappen... "

allerdings gibt der befehl auch TRUE zurück wenn sie die Rechteckte nur berühren.

start:
   IF BOXCOLL( 0,0, 16, 16, 16, 16, 16, 16)
       PRINT "collide!", 100, 100
   ENDIF
   SHOWSCREEN
GOTO start

ich wollte ein objeckt an einer "wand" entlang gleiten lassen was damit allerdings nichtböglich ist! :-( der workaround für mich ist es eines der objecte als "x +1, y+2, 14, 14 " zu deklrarieren anstatt "x, y, 16, 16"!

bug oder muss das so sein?




Title: Re: BOXCOLL - fehlerhaft?
Post by: Schranz0r on 2008-Nov-02
kein Bug , funktioniert normal! :



Code (glbasic) Select
WHILE TRUE
MOUSESTATE mx, my, ba, bb

DRAWRECT 100,100,16,16, RGB(0x80, 0xff, 0x00)
DRAWRECT mx,my,16,16, RGB(0xff, 0x00, 0x00)

IF BOXCOLL( mx, my, 16, 16, 100, 100, 16, 16)
    PRINT "!!! COLLISION !!!", 100, 150
ENDIF

SHOWSCREEN
WEND
END
Title: Re: BOXCOLL - fehlerhaft?
Post by: Kosta on 2008-Nov-02
hmm,

es haben beide Recht  :nana:

im Prinzip sagst du bei Boxcoll, wieviele weitere Pixel er kontrollieren soll (d.h. wenn du 10 Pixel kontrollieren willst, gibst du hier eine 9 ein!)  -> siehe untere Beispiele: wenn du 0,0 sagst, kontrolliert er es Pixelgenau (d.h. er kontrolliert das eine Pixel)

Hier Pixelgenau (nur auf 100/100 meldet das Teil Kolision)
(Mann sieht, ich gebe der Boxcoll 0,0 Pixel mit)
Code (glbasic) Select

WHILE TRUE
MOUSESTATE mx, my, ba, bb

DRAWRECT 100,100,1,1, RGB(0x80, 0xff, 0x00)
DRAWRECT mx,my,1,1, RGB(0xff, 0x00, 0x00)
PRINT mx+" "+my,100,170
IF BOXCOLL( mx, my, 0, 0, 100, 100, 0, 0)
    PRINT "!!! COLLISION !!!", 100, 150
ENDIF

SHOWSCREEN
WEND
END


Wenn ich beim mx-Boxcoll 1,1 Pixel mitgebe, checkt er die mx-Koordinaten + 1 Pixel nach rechts und unten (dadurch entstehen deine Kontakte (also letztendlich 2 Pixel)
Code (glbasic) Select

WHILE TRUE
MOUSESTATE mx, my, ba, bb
DRAWRECT 100,100,1,1, RGB(0x80, 0xff, 0x00)
DRAWRECT mx,my,1,1, RGB(0xff, 0x00, 0x00)
PRINT mx+" "+my,100,170
IF BOXCOLL( mx, my, 1, 1, 100, 100, 0, 0)
    PRINT "!!! COLLISION !!!", 100, 150
ENDIF
SHOWSCREEN
WEND
END


Wenn ich statt beim mx, beim 100/100-Rechteck bei Boxcoll 1,1 eingebe, checkt er zusaetzlich zu dem Rechteck noch 1 Pixel (rechts/unten) mit (also letzendlich 2 Pixel)

Code (glbasic) Select
WHILE TRUE
MOUSESTATE mx, my, ba, bb
DRAWRECT 100,100,1,1, RGB(0x80, 0xff, 0x00)
DRAWRECT mx,my,1,1, RGB(0xff, 0x00, 0x00)
PRINT mx+" "+my,100,170
IF BOXCOLL( mx, my, 0, 0, 100, 100, 1, 1)
    PRINT "!!! COLLISION !!!", 100, 150
ENDIF
SHOWSCREEN
WEND
END


Title: Re: BOXCOLL - fehlerhaft?
Post by: Kitty Hello on 2008-Nov-03
Code (glbasic) Select

   IF BOXCOLL( 0,0, 16, 16, 16, 16, 16, 16)
       PRINT "collide!", 100, 100
   SHOWSCREEN
END
   ENDIF


BUG! Gaaaahhhh!
Title: Re: BOXCOLL - fehlerhaft?
Post by: Schranz0r on 2008-Nov-03
Ist aber schon immer so :D
Title: Re: BOXCOLL - fehlerhaft?
Post by: Kitty Hello on 2008-Nov-04
Ich mach mal'n Update für V6, OK?
Title: Re: BOXCOLL - fehlerhaft?
Post by: blastar on 2008-Nov-04
spitze... daaaaaaaaaaaanke... wann kommst das update? morgen???  :'(
Title: Re: BOXCOLL - fehlerhaft?
Post by: Kitty Hello on 2008-Nov-04
muss noch überlegen, weil ich einen anderen Compiler für WIZ verwende. Ich neige fast dazu zu sagen: "Mach Dir solange eine Wrapper-Funktion".
Sorry, aber ich hab' noch einen Fehler im Compiler entdeckt und warte noch auf eine Antwort aus Korea. Ist halt beta :/
Title: Re: BOXCOLL - fehlerhaft?
Post by: blastar on 2008-Nov-04
ist schon ok... so schwierig ist es ja nicht das problem zu umgehen... hoffe die neue v6 kommt pünklich und es wäre super wenn die von anfang an stabil ist.. also lasse dir zeit... aber spätestens wenn der wiz in den versand geht brauche ich das ding auf meiner platte! :-)
Title: Re: BOXCOLL - fehlerhaft?
Post by: Kitty Hello on 2008-Nov-05
Deal!
Ich bin gerade dabei auf OpenGL|ES umzuschalten - scheint ein Problem mit meinem WIZ zu geben - wir sehen bald weiter.
Title: Re: BOXCOLL - fehlerhaft?
Post by: Schranz0r on 2008-Nov-05
Ohha....