07/12/16 9:38
Thejuster
Salve ragazzi, sono stato l'intera giornata a tentare di far funzionare una scrollbar come si deve
ma per quanto mi abbia potuto tirare i capelli non sono riuscito a farla funzionare.
ho provato 10mila modi possibili ma nulla.
Vi spiego il problema
Per prima cosa guardate questa immagine
cdn.discordapp.com/attachments/204694484758429697/255731322771865620/…
Sto renderizzando in mono.
ogni blocco misura 32x32
Dunque, ho un controllo che misura 800 x 600 Pixel
Mentre la dimensione reale della mappa è di 960 x 640 ( 30 x 20 ) blocchi esempio
Se io vedo 800 pixel sò per certo che gli altri 160 pixel sono invisibili perché si trovano dove l'utente non riesce a vedere.
( 800 - 600 = 160) in questo caso ho una differenza di 160 pixel
Ora ho una ScrollBar orizzontale
dove il suo valore minimo è 0
il suo valore massimo e 1024
dovrei fare in modo di dividere qui 1000 per quanti spostamenti siano necessari per scrollare la mappa.
ho scritto questo
fin quando la mappa è di 30 blocchi (30*32 = 960 - 800 = 160 ) funziona
ma se metto tipo 35 blocchi non funziona più
qualche idea?
ma per quanto mi abbia potuto tirare i capelli non sono riuscito a farla funzionare.
ho provato 10mila modi possibili ma nulla.
Vi spiego il problema
Per prima cosa guardate questa immagine
cdn.discordapp.com/attachments/204694484758429697/255731322771865620/…
Sto renderizzando in mono.
ogni blocco misura 32x32
Dunque, ho un controllo che misura 800 x 600 Pixel
Mentre la dimensione reale della mappa è di 960 x 640 ( 30 x 20 ) blocchi esempio
Se io vedo 800 pixel sò per certo che gli altri 160 pixel sono invisibili perché si trovano dove l'utente non riesce a vedere.
( 800 - 600 = 160) in questo caso ho una differenza di 160 pixel
Ora ho una ScrollBar orizzontale
dove il suo valore minimo è 0
il suo valore massimo e 1024
dovrei fare in modo di dividere qui 1000 per quanti spostamenti siano necessari per scrollare la mappa.
ho scritto questo
int grandezza_da_spostare = editor1.MapSize_Width - 800; float sposta = mrhScrollBar1.Maximum / grandezza_da_spostare; float spostamenti = mrhScrollBar1.Value / grandezza_da_spostare; float val = sposta * 32 - spostamenti; editor1.MoveCamX((spostamenti-1) * 32);
fin quando la mappa è di 30 blocchi (30*32 = 960 - 800 = 160 ) funziona
ma se metto tipo 35 blocchi non funziona più
qualche idea?
mire.forumfree.it/ - Mire Engine
C# UI Designer
C# UI Designer