scrolling Problem (nicht ganz einfach!)

Previous topic - Next topic

Schranz0r

Hi


Ich möchte ein Pixelgenaues Scrolling, und zeichne auch nur Tiles die auch gesehen werden!
Aber so funzt das Scralling nurnoch tilesize-weise ?!
In Blitz3D hab ichs immer so gemacht, und hat funktioniert!


Code (glbasic) Select
SETSCREEN 800,600,0
GETSCREENSIZE GraphX, GraphY


LOADSPRITE "gras.png", 0



GLOBAL MaxTX = 40
GLOBAL MaxTY = 40
GLOBAL TS = 32

DIM level [MaxTX][MaxTY]

cam_speed = 1



WHILE TRUE

cam_x_div = cam_x / TS
cam_y_div = cam_y / TS


   
    FOR x = cam_x_div  TO cam_x_div + 25
        FOR y = cam_y_div  TO cam_y_div + 19

SPRITE level[x][y], x*TS-cam_x, y*TS-cam_y

NEXT
NEXT



IF KEY(203) THEN DEC cam_x , cam_speed
IF KEY(205) THEN INC cam_x , cam_speed
IF KEY(200) THEN DEC cam_y , cam_speed
IF KEY(208) THEN INC cam_y , cam_speed



PRINT cam_x, 10, 10

SHOWSCREEN
WEND
END
HILFE :D
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Schranz0r

Habs!!

Code (glbasic) Select
   cam_x_div = INTEGER(cam_x / TS)
    cam_y_div = INTEGER(cam_y / TS)
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

KidPaddle

Manschmal wäre es klasse, wenn man die Variablen mit Typen deklarieren könnte in der Form

LOCAL iLoop AS INTEGER
oder
LOCAL bValue as BOOLEAN.

Gerade beim GP2X könnte das Geschwindigkeit bringen, da hier keine Floating - Point Hardware existiert.

Gruß
Thomas
Intel CoreDuo 6300, GT 7950 512MB, 2 GB Ram, XP SP2
GP2X MK1, Firmware 2.0.0

Schranz0r

Dafür gibts einen Thread , da kannste es reinschreiben :D
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Kitty Hello

Ich weiß schon - aber ich wollte's halt extrem einfach halten.
Hm... DIM AS INTEGER könnte aber evtl tatsächlich ganz nett sein.
Kann nur passieren, dass dann die eine oder andere Funktion nicht geht. MOUSEAXIS z.B.