|
SurfaceView
|
|||
---|---|---|---|
#18+
Этот пример у меня тоже работает. Там при создании такой код: Код: java 1. 2. 3. 4. 5.
а мне надо, чтоб создание было таким образом: Код: java 1. 2. 3. 4. 5. 6. 7. 8.
Потому что, на активити будет несколько SurfaceView. Вот а такой пример работающий я не могу найти в инете, и решить сам не могу. Поэтому сюда и пишу уж который день... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2015, 11:46 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Битмап грузится и анимация есть. Ошибки вылетает при сворачивании программы. Вот я ещё раз выкладываю ссылку на архив с программой. wadman, посмотрите пожалуйста архив. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2015, 11:51 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
ВолодяХаритонов, зачем несколько? Почему одного не хватает? П.С. Задача вообще в чем? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2015, 11:56 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
ВолодяХаритоновОшибки вылетает при сворачивании программы. Тогда стоит почитать про цикл жизни приложения и активити. Какие методы при каких действиях вызываются. В данном случае происходит обращение к "убитому" объекту. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2015, 12:00 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Я это уже понял а что мне нужно писать в OnPause например и в OnResume ?? Если я заново запускаю поток в OnResume, то вылетает ошибка, что поток уже запущен. Запустите проект сами всё увидите. Ну хорошо, например даже один SurfaceView, но мне нужно ещё и кнопки разместить в приложении, а в примере это не представляется возможным. Разве только вручную их отрисовывать?!! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2015, 12:06 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
ВолодяХаритоновЕсли я заново запускаю поток в OnResume, то вылетает ошибка, что поток уже запущен. В паузе поток нужно уничтожать, в резюме - создавать. ВолодяХаритоновРазве только вручную их отрисовывать?!! У меня стойкое ощущение, что пропущены самые азы при начале разработки под андроид... Но вообще да, при разработки игр отдается предпочтение ручной прорисовке интерфейса. Либо использование готовых инструментов типа libgdx, andEngine и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2015, 12:26 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
wadmanВолодяХаритоновЕсли я заново запускаю поток в OnResume, то вылетает ошибка, что поток уже запущен. В паузе поток нужно уничтожать, в резюме - создавать. Я читал что поток нельзя уничтожить, как бы он сам должен завершиться. А запускается поток в программе 1 раз иначе ошибка java.lang.IllegalThreadStateException: Thread already started. Так ли это? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2015, 12:43 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
ВолодяХаритоновТак ли это? В целом да. Потоку нужно сообщить, что он уже больше не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2015, 13:03 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Даже если я сообщаю потоку в onPause или onDestroy с помощью метода setRunning который прописан в потоке GameLoopThread, то всё равно в onResume ошибка вываливается, что поток уже создан. Можете мне с этим помочь? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2015, 13:21 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Вместо running нужно использовать встроенные методы: interrupt() для прерывания и для проверки isInterrupted(). Вместо прямого вызова прямого вызова onDraw() следует использовать draw(), чтоб система сама решала, когда требуется обновление. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2015, 13:29 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
В общем сделал изменения. Работает без ошибок, но долго восстанавливается. Взять любую игру запустить свернуть и восстановить и восстановится раза в 4-5 быстрее. А этот код как-то долго восстанавливает из свёрнутого состояния... Выкладываю код. wadman, можете с этим мне помочь? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2015, 07:00 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
activity_main.xml Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2015, 07:01 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
MainActivity Код: 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. 43. 44. 45. 46. 47. 48.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2015, 07:02 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
GameView Код: 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. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2015, 07:03 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
GameLoopThread Код: 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. 43. 44.
Модератор: Просьба пользоваться спойлером. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2015, 07:04 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Я конечно могу посмотреть, но все таки предпочитаю давать удочку, а не рыбу. :) Есть logcat и класс , для вывода в его лог. Принято с ним работать примерно в таком стиле: Код: 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. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61.
Далее все это затем ловится встроенными средствами (Студия точно выводит, эклипс тоже должен) либо утилитой из сдк Android Device Monitor (запускается батником monitor.bat из папки tools). Расставляя таким образом контрольные точки ты сможешь самостоятельно локализовать проблему и задать конкретный вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2015, 08:55 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Еще стоит обращать внимание вот на такие строки в логкате, если андроид 4.1 и выше: 10-27 07:41:56.800: I/Choreographer(437): Skipped 190 frames! The application may be doing too much work on its main thread. Это сам андроид ругается на тормоза основного потока. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2015, 09:02 |
|
|
start [/forum/topic.php?fid=13&msg=38916293&tid=1331384]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 256ms |
total: | 378ms |
0 / 0 |