Я разрабатываю карточную игру с OpenGL ES 1.0 в Android. У меня есть два класса GameRenderer и GameLogic. Когда я даю карты игрокам в GameLogic, я устанавливаю переменные в GameLogic, которые используют onDrawFrame для анимации. Поэтому мне нужно остановить код в GameLogic до окончания анимации. Это проблема .. Как остановить выполнение кода?Выполнение кода Android OpenGL
ответ
Похоже, вам необходимо реструктурировать архитектуру приложения. Вместо того, чтобы читать данные из класса GameLogic, вам нужно, чтобы ваш класс GameLogic модифицировал какой-то объект GameData. Как только данные будут сохранены в объекте GameData, вы отправите уведомление или сообщение в свой GameRenderer о том, что данные были изменены. Затем GameRenderer может читать новые данные и действовать соответственно.
Это стандартный шаблон дизайна, называемый Model View Controller.
Спасибо .. В GameLogic есть данные, которые GameRender использует для обновления экрана. Итак, когда я вызываю свою функцию, чтобы дать карты игрокам, мне нужно сначала сделать анимацию, а затем обновить данные для экрана. – Boy80
Трудно ответить на ваш вопрос, потому что есть так мало деталей (поэтому он был опущен несколькими людьми). Кроме того, этот форум не очень подходит для вопросов архитектуры/дизайна. Вы получите лучший ответ и получите больше ответов, если бы у вас был очень длинный вопрос, подробно описывающий, что вы пытаетесь сделать (вы делаете стандартную игру в карточную игру или карточную игру в битву или что-то еще?), И фрагменты кода для частей, на которые вы пытаетесь получить ответы. Как бы то ни было, все, что я могу сказать, - это больше исследований. –
Проблема в том, что мне нужно сделать анимацию перед инструкциями, обновляющими данные о играх. После тестов на анимацию (сколько карточек ...), если я использую Thread.sleep, основная активность прекращается, а также opengl render .. – Boy80
- 1. Выполнение временного кода в Android
- 2. Выполнение скриншота с помощью opengl v2 android
- 3. Выполнение проекта Opengl Gallery?
- 4. Выполнение избыточных вызовов OpenGL
- 5. Выполнение кода моего кода
- 6. Описание кода графического кода Opengl
- 7. выполнение кода яваскрипта внутри Android «ява» приложение
- 8. xamarin android: Выполнение кода перед первым намерением
- 9. Win32: Атомное выполнение кода-кода
- 10. if else Выполнение кода кода
- 11. понимание этого кода opengl
- 12. Выполнение OpenGL Рисование из потока
- 13. Выполнение кода вне эмулятора android при тестировании приложений Android
- 14. Выполнение прологового кода на iPhone
- 15. Выполнение нерегулярного кода
- 16. Двойное выполнение кода
- 17. python timed Выполнение кода
- 18. Выполнение первого кода миграции
- 19. Выполнение последовательности выполнения кода
- 20. Выполнение кода в стеке
- 21. Выполнение кода перед рендером
- 22. Выполнение кода выполняется непрерывно
- 23. Выполнение серийного кода Node.js
- 24. Выполнение кода очистки?
- 25. Выполнение Python doctest кода
- 26. Выполнение кода из трубы
- 27. Выполнение кода до OSGI
- 28. Выполнение стороннего кода
- 29. Выполнение кода внешнего цикла
- 30. Выполнение кода после просмотраDidAppear?
Для справок в будущем: OpenGL 1.0 - это нечто совершенно иное, ему более 20 лет, и никто его не использует! Вы используете OpenGL ** ES ** 1.0 –
Извините .. Да ES .. :-) – Boy80