Kuinka voisi suorittaa 2 funktiota yht'aikaa? Väsään hyvin yksinkertaista merkkipohjaista peliä ja haluaisin pelin aikana taustalta kuuluvan tietokoneen piipparista musiikkia. Toiseen funkioon laittaisin musiikin looppina ja toiseen itse pelin.
while(1){ peli(); soita_musaa(); }
Eikai sitä muulla tavalla voi tehä
T.M. kirjoitti:
while(1){ peli(); soita_musaa(); }Eikai sitä muulla tavalla voi tehä
Oletko ikinä kuullut säikeistä?
Säikeillä siis voi laittaa monta funktiota toimimaan yhtäaikaa.
Mutta itse en oikein osaa avustaa tässä.
http://64.233.183.104/search?q=cache:
Tuollainen löytyi, joka kertoo säikeistä. Vaikuttaa hyvältä ja linkkejä muille sivustoille löytyy.
Ainakin windowsin äänikirjastossa oleva soitto funktio soitti taustalla omassa säikeessä, kun asetti sille kyseisen lipun. Eli T.M:n esimerkki toimii juuri oikein, kun vaan käyttää sitä sopivaa funktioita, jota en ulkoa muista. Sama varmaankin pätee DirectX:n suhteen.
Niin ja C:lle WINAPI ja ohjeita löytyy alla olevasta osoitteesta.
http://msdn.microsoft.com/library/default.asp?
ja C++:lle ja muille .NET kieleille ohjeet
http://msdn.microsoft.com/library/default.asp?
Myös SDL:llä onnistuu säikeet, jolloin ei rajoituta windowssiin: SDL:n dokkari - kohta 14. Multi-threaded Programming.
Aihe on jo aika vanha, joten et voi enää vastata siihen.