2011-11-04 4 views
1

J'ai créé une application pour Android. J'utilise du canvas et je fais de plus en plus de "Sprites" de ma classe Sprite. Quand je lance l'application et qu'il n'y a qu'un sprite, le jeu fonctionne très vite. J'ai fait en sorte que la classe crée plus de sprites à chaque fois que la minuterie que j'installe arrive à 25 (donc il y aurait un espace régulier entre chaque sprite). mais quand chacun des sprites apparaît et qu'il atteint le maximum que j'ai fait (5), il devient plus lent. Donc, ma question est, Comment pouvez définir un framerate/vitesse personnalisé à mon application. Est-ce même possible? et si c'est le cas, pouvez-vous écrire de la manière la plus simple? Merci!vitesse de l'application android/framerate?

+0

Pourriez-vous être un peu plus détaillé? C'est un peu une question chargée. Utilisez-vous un SurfaceView, puis écrasez la fonction draw? Aussi, comment chargez-vous les images? – David

+0

J'utilise une vue de surface et un fil pour gérer le dessin. Je charge des bitmaps et utilise des rects pour créer une animation d'image-objet. tous les autres trucs se passent entre le lockcanvas et le postcanvas – Baruch

Répondre

1

Here's a good article sur comment configurer une boucle de jeu. Cela vous aidera à contrôler le framerate de votre application (la rendre cohérente). Notez également que vous n'attendez pas une quantité constante après le dessin. Au lieu de cela, vous attendez un laps de temps constant entre les images.

+0

Merci! Je ne peux pas croire que c'était si facile ... lol – Baruch

+0

J'ai un problème, quand je tape 'const int ...' il est dit que je ne peux pas utiliser const et tracer une ligne rouge en dessous .. des idées? – Baruch

+0

Je ne comprends pas, il ne fonctionnera pas avec la plupart des choses dans l'article .. -_- je ne peux pas utiliser l'un d'eux ... des idées? Je ne suis même pas sûr si c'est pour Android ... quand je tape dans le code, je ne peux pas utiliser const, DWORD, ou GetTickCount(); – Baruch