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
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.
WHILE TRUE
MOUSESTATE mx, my, b1, b2
PRINT "x", mx-MOD(mx,30), my-MOD(my,30)
SHOWSCREEN
WEND
Grüße, Tiuz
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.
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