berechnungsproblem integer etc

Previous topic - Next topic

xverbatim

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

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

Quote from: Tiuz 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