[ MatezYU @ 21.11.2007. 14:56 ] @
Problem kada pritisnem srelicu desno, zelim da pomerim neki objekat, drzim dugo pritisnuto odradi jednom, pa onda krene naglo da ga pomera...
Kako da se to prevazidje. Cim pipnem taster desno da se pomera objekat desno? Razumete sta mislim.. Isto kao kada kucate tekst, pritisnete recimo taster 1 i onda se ispise 1 i posle delica sekunde ide 111111111111 zaredom.
[ Milan Milosevic @ 21.11.2007. 15:34 ] @
To je prosto i vise puta je resavano ovde.
Ubaci komponentu TTimer i na pritisak dugmeta je ukljuci a na naredni iskljuci
ili KOristi KeyDown i KeyUp,
a u Evens koponente TTimer odradi sve ostalo.
[ obucina @ 21.11.2007. 16:15 ] @
Za sta ti ovo treba, za neku igricu?

Dodaj tajmer i u njegovom dogadjaju mozes ispitivati tastaturu sa GetKeyboardState. Prednost je da mozes ispitivati vise tastera, sto mozes iskoristiti npr za kretanje ukoso, kada drzis pritisnuta dva tastera.

[ savkic @ 21.11.2007. 16:15 ] @
> Problem kada pritisnem srelicu desno, zelim da pomerim neki objekat, drzim dugo pritisnuto odradi jednom, pa onda krene naglo da
> ga pomera... Kako da se to prevazidje. Cim pipnem taster desno da se pomera objekat desno? Razumete sta mislim.. Isto kao kada kucate
> tekst, pritisnete recimo taster 1 i onda se ispise 1 i posle delica sekunde ide 111111111111 zaredom.

Ti hoćeš da se ponaša kao unos sa tastature ili nećeš? Ako hoćeš onda handluj OnKeyDown, čim pritisneš taster dobićeš prvi event, posle nekog vremna kada istekne autorepeat timeout dobićeš drugi i naredne. Ako nećeš onda kada dobiješ OnKeyDown, počni pomeranje i neka traje sve dok ne dobiješ OnKeyUp.
[ MatezYU @ 21.11.2007. 16:25 ] @
Hocu kada pritisnem desno da mi odmah ide glatko desno a ne da zapinje..
Neka prosta igrica, edukativno...
[ savkic @ 21.11.2007. 16:48 ] @
> Hocu kada pritisnem desno da mi odmah ide glatko desno a ne da zapinje..

Onda to nema veze sa pritiskom na tastere, niti je to onako kako radi autorepeate feauture (prvo se pojavi 1 pa posle male zadrške se 1 ponavlja). Problem je do tvog koda za iscrtavanje/pomeranje, to je već bilo i pogledaj ranije poruke ili možda neke od FAQ tema na vrhu.
[ MatezYU @ 21.11.2007. 18:06 ] @
Ima veze... Idi u notepad pa pritisni taster 1, pa vidi kako se iscrtava.. Pojavi se 1 pa onda rrrrr idu 11111111111...
[ krle_zr @ 21.11.2007. 18:28 ] @
Sta konkretno iscrtavas? Ja imam slican primer(pomeranje loptice po formi koriscenjem kursora), koji koristi DirectX i sve radi glatko.
Pozdrav
[ MatezYU @ 21.11.2007. 18:34 ] @
Ja radim neki primer, pomeram obican objekat iz TShape klase.
Koje komponente koristis za DirectX? Jel mozes da mi posaljes na mejl? Ili da mi das link za download
[ savkic @ 21.11.2007. 19:21 ] @
> Ima veze... Idi u notepad pa pritisni taster 1, pa vidi kako se iscrtava.. Pojavi se 1 pa onda rrrrr idu 11111111111...

I ti si direktno napisao da ne želiš takvo ponašanje citiram: "Hocu kada pritisnem desno da mi odmah ide glatko desno a ne da zapinje.."
Dakle čim se pritisne desno odmah počinje kretanje i traje sve dok se ne otpusti taster. AutoRepeat feature tastature radi tako što se prvo pojavi jedan karakter pa posle zadrške naredni. Primenjeno na objekat to bi značilo da se pomeri za jedno mesto, ostane tu neko vreme i nastavi kretanje.
Pretpostavljam da ti imaš neka secanja ili treperenja to je zbog načina na koji iscrtavaš ili pomeraš objekte. Za kretanje koje tebi treba možeš pogledati EarthPng demo koji ide uz Delphi.