Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Houp
Založen: 28. 07. 2007 Příspěvky: 672
|
Zaslal: 4. červenec 2010, 13:02:24 Předmět: Level Editor s SDL |
|
|
Nechci, aby můj editor zabíral veškerý čas procesoru, tak používám pro načítání událostí z fronty :
SDL_WaitEvent( &event );
Problém mi teď nastal, když potřebuji/chci posouvat mapu pomocí držení klávesy, což vyvolá pouze event zmáčknutí klávesy, pak se nic neděje dokud klávesy nepustím.
Jak byste to řešili? Napadá mě v tomto případě posíalt do fronty eventu nějaký event, aby mi to nezastavilo aplikace a já se mapu mohl posunout, jak chci.
Druhé řešení, nepoužívat SDL_WaitEvent( &event ), ale SDL_Delay() pro nezatížení procesoru.
Je nějaké jiné, elegantnější řešení? _________________
 |
|
Návrat nahoru |
|
 |
frca

Založen: 28. 07. 2007 Příspěvky: 1561
|
Zaslal: 4. červenec 2010, 13:28:30 Předmět: |
|
|
Použít jak WaitEvent, tak PollEvent (ten v případě stisklé klávesy). _________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
 |
Houp
Založen: 28. 07. 2007 Příspěvky: 672
|
Zaslal: 4. červenec 2010, 15:41:32 Předmět: |
|
|
Dík, super nápad. Problém řeší skvěle.  _________________
 |
|
Návrat nahoru |
|
 |
gindar

Založen: 05. 10. 2007 Příspěvky: 86
|
|
Návrat nahoru |
|
 |
Ladis

Založen: 18. 09. 2007 Příspěvky: 1537 Bydliště: u Prahy
|
Zaslal: 5. červenec 2010, 14:04:52 Předmět: |
|
|
Já použil řešení, co píše Gindar:
kód: |
SDL_EnableKeyRepeat(250, 33); // opakovani klaves (prodleva 250 ms, opakovani 30/s) |
_________________ Award-winning game developer |
|
Návrat nahoru |
|
 |
|
|
Nemůžete odesílat nové téma do tohoto fóra Nemůžete odpovídat na témata v tomto fóru Nemůžete upravovat své příspěvky v tomto fóru Nemůžete mazat své příspěvky v tomto fóru Nemůžete hlasovat v tomto fóru
|
Powered by phpBB © 2001, 2005 phpBB Group
Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna