Author Topic: berechnungsproblem integer etc  (Read 1011 times)

xverbatim

  • Guest
berechnungsproblem integer etc
« on: 2008-Nov-15 »
Hallo,

ich stehe vor einem rätsel, ich hoffe, jemand kann mir helfen ;-)

ich möchte mit meiner maus ein quadrat bewegen, das immer genau über andere quadrate auf dem spielfeld platziert ist
das mausquadrat ist 34 x 34 pixel, die felderquadrate 30 x 30 pixel und dazwischen jeweils 2 pixel frei

folgendes problem, ich habe also meinen MousePointer+Mausquadrat (34x34 Pixel) und bewege die maus und bekomme var x und y

mousestate x,y,b1,b2

 mx1=INTEGER(x/30)*30
 my1=INTEGER(y/30)*30 
 
DRAWRECT mx1 ,my1,34,34,RGB(1,1,1)


ABER IRGENDWIE SIND DAS NICHT  G E N AU die Felder und mx1+my1 weichen irgendwie leicht ab und dadurch ist das MAUSQUADRAT versetzt und nicht mehr genau auf dem SPIELFELD bzw. über den QUADRATen ?

irgendwie muß ich das wohl anders berechnen oder ?

weiß jemand, wie ich das genau mache ?

ich hoffe, ihr versteht überhaupt mein problem ;-)

Gruß Thomas

Tiuz

  • Guest
Re: berechnungsproblem integer etc
« Reply #1 on: 2008-Nov-15 »
Hallo xverbatim,

mit folgendem Code "rastet" der Mauszeiger immer in einem 30*30 Pixelfeld ein. Mittels Mod Befehl wird einfach abgezogen, was über ein ganzzahliges Vielfaches von 30 hinausgeht.

Code: GLBasic [Select]
WHILE TRUE
        MOUSESTATE mx, my, b1, b2
        PRINT "x", mx-MOD(mx,30), my-MOD(my,30)
        SHOWSCREEN
WEND
 


Grüße, Tiuz

xverbatim

  • Guest
Re: berechnungsproblem integer etc
« Reply #2 on: 2008-Nov-15 »
Hallo xverbatim,

mit folgendem Code "rastet" der Mauszeiger immer in einem 30*30 Pixelfeld ein. Mittels Mod Befehl wird einfach abgezogen, was über ein ganzzahliges Vielfaches von 30 hinausgeht.

Code: GLBasic [Select]
WHILE TRUE
        MOUSESTATE mx, my, b1, b2
        PRINT "x", mx-MOD(mx,30), my-MOD(my,30)
        SHOWSCREEN
WEND
 


Grüße, Tiuz

yeppppaa

genau danach habe ich gesucht ;-))
1000 Dank

Gruß Thomas