En un mot: glisser.
J'ai joué à l'édition du championnat Pac-Man sur mon téléphone Android et ce que je pensais vraiment fonctionner, c'est que même s'il y avait un joystick à l'écran, vous n'aviez pas besoin de le toucher pour déplacer Pac-Man dans la bonne direction. Si votre doigt est tombé du joystick, cela n'a pas d'importance. Tout ce qui comptait, c'était dans quelle direction vous aviez bougé votre doigt.
Pour vous déplacer vers le haut, balayez vers le haut. Pour descendre, balayez vers le bas. Pour vous déplacer vers la gauche, balayez vers la gauche. Pour vous déplacer vers la droite, balayez vers la droite.
Vous pouvez tout aussi facilement rendre le contexte de balayage sensible aux régions d'écran et aux actions en cours dans le jeu. Imaginez que votre téléphone est en mode paysage et que vous le tenez comme un contrôleur de jeu vidéo. La moitié gauche de l'écran pourrait être réservée au mouvement en utilisant le balayage que je décris ci-dessus. La moitié droite de l'écran peut être utilisée pour des actions telles que le saut, le tir, le blindage, quelles que soient les capacités de jeu que vous souhaitez donner à votre joueur en utilisant le glissement d'une manière très similaire. Ou si vous n'avez qu'une seule capacité (comme sauter dans Super Meat Boy) - traitez simplement la moitié droite de l'écran comme un bouton.
Mise à jour
Nous en discutions dans le chat et il est apparu que ma solution, la façon dont elle est décrite ci-dessus, ressemble beaucoup à un bâton virtuel qui se déplace lorsque vous soulevez et posez votre doigt. Je veux préciser que ce n'est pas le cas et est en fait beaucoup plus flexible que cela.
L'image ci-dessus montre le schéma de balayage que l'on pourrait prendre pour déplacer Pacman sur la planche. Notez que l'action entreprise n'est pas du tout basée sur l'endroit où vous placez votre doigt la première fois. Si vous déplacez accidentellement votre doigt trop loin en glissant vers la droite ou pas assez en glissant vers le bas, c'est ok. Avec cette implémentation tant que vous avez glissé suffisamment loin pour qu'il s'enregistre correctement avec le logiciel, il le prendra et utilisera l'endroit où votre doigt s'est retrouvé comme point de départ suivant, ou si vous soulevez votre doigt, il utilisera le prochain endroit où vous abaissez votre doigt.
Comme je l'ai déjà dit, vous pouvez appliquer cela à un jeu de plateforme simplement en divisant les contrôles en régions distinctes afin que vos balayages et tapotements fassent des choses différentes selon l'endroit où vous avez effectué l'action sur l'écran. La voie la plus évidente consiste à effectuer le mouvement de la poignée du côté gauche en utilisant simplement le balayage. Ensuite, le côté droit serait utilisé pour gérer les actions et les capacités du joueur en utilisant n'importe quelle combinaison de coups et de tapes.
J'ai trouvé que les commandes tactiles latérales de l'écran étaient les plus réactives.
Si la personne touche le côté gauche, courez à gauche (jusqu'à ce qu'elle lâche). Si la personne touche le côté droit, courez à droite.
RunRunRiot! en est un exemple.
En ce qui concerne le saut, vous pouvez opter pour un tapotement au milieu de l'écran (en utilisant l'une ou l'autre main).
Exemples (iPad paysager) Courir à droite
Sauter à droite
(L * = touche gauche)
Saut à gauche
la source
La meilleure entrée pour un jeu à écran tactile que j'ai trouvée est sur ces jeux de plate-forme vraiment simples quand tout ce que vous avez à faire est de toucher l'écran pour sauter! Tout jeu qui utilise l'accéléromètre pour l'entrée de mouvement est très désorientant!
C'est un dilemme courant lors du développement sur un écran tactile, si seulement il y avait un accessoire D-pad qui était populaire. Je pense que vous devrez essayer votre idée de balle à l'écran.
Vous pourriez peut-être avoir l'entrée gauche et droite à l'extrême gauche et à l'extrême droite de l'écran et avoir le haut et le bas en utilisant la partie supérieure ou inférieure de l'entrée gauche ou droite. Je pense que cela a du sens?
la source
Vous pourriez envisager d'avoir des contrôles plus précis uniquement lorsque le personnage du joueur est en l'air.
Par exemple, si le côté droit de l'écran contrôlait la direction latérale, vous pourriez avoir l'intégralité du côté gauche pour le saut. Une fois en vol, la moitié inférieure gauche de l'écran pourrait être «descendue» et la moitié supérieure pourrait être à double saut.
Une autre option serait d'adopter un schéma de saut comme Jetpack Joyride ou ces jeux de type "Cave", où plus vous tenez "haut" plus vous montez. Il a le potentiel d'être assez précis et je pense que cela fonctionnerait bien avec un jeu de plateforme de type Super Meat Boy, en supposant que les niveaux sont conçus de manière appropriée.
la source