У меня есть карточная игра, которая использует программно установить GridView с настраиваемой ArrayAdapter подключили к массиву «карты», чтобы оживить листать карты при работе через getView()
. Мне нужно знать, когда все карты сделаны с переворачиванием, так что игра может снова или снова выполнить или, возможно, выполнить другое действие, если это необходимо на основе текущего состояния карт. Это должно произойти после последней анимации текущего флип, конечно (я уже знаю состояние карт, но я хочу иметь дело или другие действия, чтобы произойти «в порядке» после того, как карты перевернуты и до того, как пользователь сможет внести какие-либо изменения на экран). Я знаю, что могу подсчитать и установить глобальную переменную и/или опрос для состояния, но я бы предпочел, чтобы это было «правильным» способом - если такой способ лучше, чем глобальный счет/опрос. Я не могу понять, как лучше это делать. Предложения оценены!изменения Android вида OnComplete
0
A
ответ
1
Если вы хотите, чтобы отслеживать подробные состояния карт через вашу игру, я хотел бы предложить вам установить один объект для каждого из cards.ie
public class Card {
public enum CardState {
CARD_FACE, CARD_FLIPPING, CARD_BACK
}
private CardState cardState;
//other card object variables
public Card(){
cardState = CardState.CARD_BACK;
//other card object variables default status
}
public CardState getCardState() {
return cardState;
}
public void setCardState(CardState cardState) {
this.cardState = cardState;
}
//other getters and setters
}
Используйте массив для хранения всех объектов карты в вашем игровом контроллере. Проверяя массив, вы можете определить следующее действие.
Смежные вопросы
- 1. Свойства изменения текста Android вида
- 2. Android вида Мультитача изменения размера мерцающего
- 3. Безопасный способ изменения вида?
- 4. RecyclerView изменения вида
- 5. Магистральная модель изменения вида
- 6. Uploadify onComplete Изменение очереди
- 7. SonataAdmin onComplete
- 8. Autolayout изменения высоты вида Родителя
- 9. MPMovieplayerVideoController, играющий после изменения вида
- 10. Выбор строки для изменения вида
- 11. Изменения вида переключения с задержкой
- 12. adapter.notifyDatasetChanged() без изменения текущего вида
- 13. MKMapView сбрасывается после изменения вида
- 14. сила закрыть изменения текст выше вида карты в Android
- 15. Нужно ли использовать анимацию для изменения вида активности Android?
- 16. Правильный способ изменения высоты и ширины вида Android
- 17. Как обрабатывать изменения видимости для пользовательского вида/виджета для Android
- 18. Преобразование формы Android вида
- 19. uiimage oncomplete iphone
- 20. CreateAsyncObservable не поднимает OnComplete
- 21. @ Ajax.ActionLink OnComplete pass this
- 22. onComplete div удаление
- 23. Fineuploader - onComplete не срабатывает
- 24. oncomplete event для dojo.place
- 25. TweenLite onComplete запускается мгновенно?
- 26. Подписчик OnComplete, вызываемый дважды
- 27. Событие FileListBox OnComplete
- 28. tweenlite as2 oncomplete
- 29. RXJS Наблюдаемый doSomething onComplete
- 30. Есть ли TranslateAnimation onComplete?
Спасибо @VoidExplorer, я думаю, что понял то же самое, чем больше думал об этом. Я пытался избежать опроса состояния карт, но поскольку они анимированы, на самом деле не существует способа опроса. Даже если было событие onComplete lifecycle для ArrayAdapter или представления (кажется, нет), анимации происходят в их собственных потоках. Я буду использовать ваше решение благодаря! – htk
Если вы действительно заинтересованы в создании игр, попробуйте некоторые игровые движки, такие как Unity, LibGDX. Они обрабатывают много сложных процессов для вас, например, анимации, входные и выходные данные, звуковые эффекты и т. Д. – VoidExplorer