2011-03-21 4 views
3

J'ai un petit jeu stupide que j'ai fait pour moi, mais je pense le partager avec des amis car ce n'est pas vraiment prêt pour le "prime time". Le jeu implique la personne qui fait un mouvement en 4 secondes.Android, question rapide sur les bonnes pratiques

Dans mon jeu, chaque fois qu'un niveau avance, je veux désactiver tous les boutons et afficher un compte à rebours comme 3 ... 2 ... 1 ... puis tous les boutons sont réactivés.

Maintenant, il y a deux façons de le faire (que je peux penser) envoyer une intention et passer à une autre activité où je peux avoir une animation "splashy" 3,2,1, puis revenir à l'activité de jeu ... ou

simplement avoir du texte dans la même activité de l'écran de jeu qui va 3 ... 2 ... 1..go!

Que recommanderiez-vous? J'ai juste peur que si j'envoie la personne à une autre activité, après l'animation, ils reviennent, et le jeu ne serait pas complètement chargé mais le chronomètre sera en cours d'exécution et donc le jeu leur donnera moins de temps pour faire leur mouvement.

Merci d'avance!

Répondre

5

Personnellement, je pense que vous devriez afficher le compte à rebours sur l'écran de jeu. Ce n'est pas pour des raisons de performance, mais juste parce que je pense que c'est une meilleure expérience utilisateur. Si j'ai besoin de réagir rapidement, j'aime pouvoir voir l'interface utilisateur même si elle est désactivée. Je n'aime pas être jeté sur un écran complètement différent une fois que le jeu commence. Du point de vue de la performance, je pense que passer à une autre activité devrait être acceptable. Tant qu'il n'y a pas de calculs coûteux dans votre méthode onResume(), retourner à l'activité de l'écran de jeu devrait être rapide car il sera toujours sur la pile d'activité en dessous de votre compte à rebours.

Vous pouvez également utiliser un ActivityGroup pour améliorer les performances.

+0

Ça sonne bien, merci! – Ryan

1

Je hésiterions à passer à une autre activité, juste à cause de tueurs de travail trop zélés gens ont sur leur téléphone (bien sûr, nous savons que son inutile, mais beaucoup de gens les avoir). Si un tueur de tâches a tué votre activité principale alors que l'utilisateur était à un écran de démarrage, votre jeu devrait à nouveau passer par onCreate(). Ce qui n'est pas bon.

je suggère de garder vos boutons dans quelque chose comme ArrayList<Button> et vous pouvez passer et dire

for(Button button : buttonArrayList) 
    button.setClickable(false); 

Mais je suis un androïde moi débutant, alors prenez mon conseil avec prudence.

+0

Merci d'avoir répondu! ! – Ryan