|
|
|
Threads.
|
|||
|---|---|---|---|
|
#18+
Есть таймер, он каждые 0.02 секунды делает действия. В действиях существует проверка на условие, если она выполняется - вызвать поток для проигрывания музыки. Проблема в том, что пока мелодия проигрывается, это условие снова и снова проверяется. В итоге Exception: Код: java 1. Background.java Код: java 1. 2. 3. 4. EventMusic.java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Вопрос такой. 1. Создать много потоков? Как создавать потоки для каждого условия (то есть много потоков, но я не знаю сколько их будет, после выполнения - должны умирать) 2. Честно говоря, напрашивается observer template , если все условия выполнены - notify() поток, который хочет воспроизвести мелодию, для разных случаев. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2013, 11:03:55 |
|
||
|
Threads.
|
|||
|---|---|---|---|
|
#18+
eldarkaaЕсть таймер, он каждые 0.02 секунды делает действия. Прям даже не знаю с чего начать. eldarkaa Код: java 1. A stacktrace как всегда унесли враги, чтобы никто ни в жизни не догадался где же произошло исключение. eldarkaaeventMusic.run(); Так нынче потоки запускаются? Thread.run()? Really? eldarkaa public void run() { Player p = new Player(new FileInputStream(getClass().getClassLoader().getResource("res/nameSong.mp3").getPath())); Это просто взрыв мозга. Файл каждый раз читается с диска? А проще способа получить InputStream небыло? Player что за класс-то? eldarkaa1. Создать много потоков? Вы ещё конкретно не знаете в чем проблема, но методом научного тыка пытаетесь подобрать решение? eldarkaaКак создавать потоки для каждого условия (то есть много потоков, но я не знаю сколько их будет, после выполнения - должны умирать) Самое время почитать что-нибудь про java.util.concurrent.Executors eldarkaa2. Честно говоря, напрашивается observer template , если все условия выполнены - notify() поток, который хочет воспроизвести мелодию, для разных случаев. Для чего напрашивается? Для "разных случаев"? Какую проблему это решает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2013, 11:18:29 |
|
||
|
Threads.
|
|||
|---|---|---|---|
|
#18+
Есть такая книжка - "Killer Game Programming in Java" Так как раз написано как на JSE делать игры. Рекомендую почитать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2013, 11:20:12 |
|
||
|
Threads.
|
|||
|---|---|---|---|
|
#18+
Так нынче потоки запускаются? Thread.run()? Really? Мдя, после таких ошибок мне следует удалить JDK. А проще способа получить InputStream небыло? Player что за класс-то? Player - класс из пакета Jlayer , который помогает реализовать воспроизведение .mp3, с помощью удобного стат. метода play() ; --------- java.util.concurrent.Executors помог сделать то, чего я хотел. Но никак не дает покоя фраза. авторЭто просто взрыв мозга. Файл каждый раз читается с диска? Как считать файлы один раз? У меня сейчас вот так: EventMusic.java (аккуратно, код не для слабонервных) Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2013, 14:25:07 |
|
||
|
Threads.
|
|||
|---|---|---|---|
|
#18+
Ну, начнем с двух вопросов. Первый. Как FileInputStream будет открывать файлы, которые вы собираетесь поместить внутрь jar-а. Второй. Чем такой вариант плох Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2013, 14:34:59 |
|
||
|
Threads.
|
|||
|---|---|---|---|
|
#18+
Ответ: 1. Никак. 2. getResourceAsStream() - идеален. getResourceAsStream не делает чтение файла(resource) каждый раз? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2013, 15:33:11 |
|
||
|
Threads.
|
|||
|---|---|---|---|
|
#18+
eldarkaagetResourceAsStream не делает чтение файла(resource) каждый раз? Делает. Но это было к вопросу о простоте кода. А не кешировании. Это же игра. Если все время читать звуки с диска, то могут, например, появится задержки, если HDD будет занят чем-то другим. С другой сторы файлы достаточно небольшие... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2013, 15:38:49 |
|
||
|
Threads.
|
|||
|---|---|---|---|
|
#18+
как нормально преобразовать к InputStream для ImageIcon? (не убирая при этом getResourceAsStream(); )[/b]) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2013, 16:31:17 |
|
||
|
Threads.
|
|||
|---|---|---|---|
|
#18+
как нормально преобразовать к InputStream для ImageIcon? (не убирая при этом getResourceAsStream(); )[/b]) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2013, 16:38:57 |
|
||
|
Threads.
|
|||
|---|---|---|---|
|
#18+
воу воу прощу прощения........ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2013, 16:45:32 |
|
||
|
Threads.
|
|||
|---|---|---|---|
|
#18+
прошу прощения* , мдя 3 поста вместо 1-го ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2013, 16:46:10 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=214&tid=2128754]: |
0ms |
get settings: |
16ms |
get forum list: |
28ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
16ms |
get forum data: |
5ms |
get page messages: |
90ms |
get tp. blocked users: |
2ms |
| others: | 315ms |
| total: | 520ms |

| 0 / 0 |
