2010-06-20 3 views
2

Je cherche à configurer un fond de défilement de parallaxe multicouche pour une application de jeu et je me demandais comment je pourrais y arriver. L'application va défiler de gauche à droite (en mode paysage) et je cherche à configurer trois couches, les arbres de premier plan, les collines de fond et les nuages ​​lointains se déplaçant en parallaxe. Chaque couche qui défile va défiler à une vitesse légèrement plus lente que la couche à l'avant.Parallax multicouches Défilement des vues?

Foreground Trees (Front) 
Background Hills (Middle) 
Distant Clouds (Back) 

Ma pensée initiale à installer un seul UIScrollView puis utilisez 3 UIViews les séparant par des UIImage pour la couche requise. UIImages aura alphas pour les zones transparentes de sorte que la couche ci-dessous est visible derrière. Ma question est la suivante: Est-ce la bonne façon de procéder? Est-ce que quelqu'un peut me donner des indications sur la façon de réduire la vitesse de défilement de chaque couche au fur et à mesure qu'elles reviennent en profondeur? (c'est-à-dire arbres 100%, collines 85%, nuages ​​50%)

+0

Veuillez utiliser CoreAnimation ou OpenGLES au lieu de UIKit pour les jeux! –

+0

Merci, c'est le genre d'information que je recherche. Comme je le dis, je suis juste en train d'essayer de savoir comment faire ... – fuzzygoat

Répondre

1

AFAIK, un UIScrollView déplacera toute la zone à défiler en utilisant une opération bit-blit pour la vitesse. Cela signifie que tout irait au rythme du premier plan, et que vous auriez à faire beaucoup de redessiner pour le réparer.

Une meilleure option serait de se pencher sur l'utilisation d'OpenGLES pour obtenir un blit-accélération matérielle de vos propres graphiques de couche. Voici un point de départ - 2D games with OpenGL

+0

Très apprécié JBRWilkinson, je vais vérifier, merci de m'indiquer dans la bonne direction. – fuzzygoat

Questions connexes