Permalänk

c++ hjälp

Har ni någon ide på hur man skulle kunna flytta en föremål i c++ med konstant hastighet när man håller in högerpiltangent?

Visa signatur

[size="1"] Intel Pentium 2.54 Ghz- Geforce 4 Ti 4600-Soundblaster Live 2! 6.1- 120 GB Barracuda IV-256 PC2700 512 DDR-WinXP Home[/size]

Permalänk
Glömsk

Vad för föremål?

Visa signatur

...man is not free unless government is limited. There's a clear cause and effect here that is as neat and predictable as a law of physics: As government expands, liberty contracts.

Permalänk
Citat:

Ursprungligen inskrivet av Psionicist
Vad för föremål?

vad som helst.

T.ex en '@' . Jag har lyckats röra den, fast när man håller in högerpiltangenten så stannar han till och sen rör den snabbt. Jag vill att den ska röra sig men konstant hastighet hela tiden utan att stanna till.

Visa signatur

[size="1"] Intel Pentium 2.54 Ghz- Geforce 4 Ti 4600-Soundblaster Live 2! 6.1- 120 GB Barracuda IV-256 PC2700 512 DDR-WinXP Home[/size]

Permalänk
Medlem

Använd select() eller poll(). Använd en timeout på vilken hastighet tecknet nu ska röra sig (Där är select() att föredra då den kan hantera nanosekunder), räkna tiden före och efter anropet av select() och skriv ut "\b @" varje gång det har blivit en timeout, totalt. Ifall någon har skrivit något i stdin så läser du det etc.
Då kan du lagom enkelt få den att flytta sig framåt och samtidigt hantera flera FD's.
Eller har jag missförstått dig?
Åtminstone select() finns i Winsock, ifall du nu använder Windows.

Visa signatur

http://www.catb.org/~esr/faqs/smart-questions.html
"Tot kto samoiltushi infarmator tot kto sam ne ponjal sto on rasskasoval"

Permalänk
Citat:

Ursprungligen inskrivet av Raiche
Använd select() eller poll(). Använd en timeout på vilken hastighet tecknet nu ska röra sig (Där är select() att föredra då den kan hantera nanosekunder), räkna tiden före och efter anropet av select() och skriv ut "\b @" varje gång det har blivit en timeout, totalt. Ifall någon har skrivit något i stdin så läser du det etc.
Då kan du lagom enkelt få den att flytta sig framåt och samtidigt hantera flera FD's.
Eller har jag missförstått dig?
Åtminstone select() finns i Winsock, ifall du nu använder Windows.

sjysst, tack för hjälpen

Visa signatur

[size="1"] Intel Pentium 2.54 Ghz- Geforce 4 Ti 4600-Soundblaster Live 2! 6.1- 120 GB Barracuda IV-256 PC2700 512 DDR-WinXP Home[/size]

Permalänk
Medlem

Två saker glömde jag. Dels är det pselect() som är byggd för nanosekunder, jag vet inte heller om \b finns i Windows. \b under UNIX är synonym för \10 och flyttar markören ett tecken bakåt.
Om du nu använder något UNIX-system, så titta på select(2) och select_tut(3)

Visa signatur

http://www.catb.org/~esr/faqs/smart-questions.html
"Tot kto samoiltushi infarmator tot kto sam ne ponjal sto on rasskasoval"