On connaissait:
- le pont: quand un jour de congé tombe un mardi ou un jeudi, le pont consiste à prendre un jour de congé supplémentaire, respectivement le lundi ou le vendredi, pour avoir un sympathique long week-end
- le viaduc: quand un jour de congé tombe le mercredi, certains poussent le luxe jusqu’à prendre congé soit le lundi et le mardi, soit le jeudi et le vendredi, ce qui donne un trèèèèèès sympathique trèèèèèèès long week-end.
Eh bien, Grégoire a expérimenté le pont avec culée. Non, ce n’est pas un gros mot: Grégoire avait congé ce vendredi 1er mai ET la veille, le jeudi 30 avril. On en a donc profité pour se lancer dans un projet qui nous titillait depuis un bout de temps: une première app pour iOS.
Cette première app est tirée de l’excellent livre « iOS Games by tutorials » de raywenderlich.com Tutorial Team & friends. Malheureusement, comme c’est souvent le cas avec les livres d’informatique, bien que celui-ci soit très récent, le code qu’il contient n’est déjà plus 100% compatible avec la version actuelle de Swift et d’Xcode. Mais ce n’est pas un problème: le compilateur d’Xcode ne se contente pas de signaler les erreurs dans le code, il suggère lui-même les corrections à apporter. Et ses suggestions sont, à chaque fois, correctes. A se demander s’il est encore nécessaire d’apprendre le langage, tant on se sent presque « pris par la main ». Bon, c’est pour rire, bien sûr, Swift est un langage extraordinairement efficace, mais il faut plonger dedans pour en apprécier pleinement les qualités.
Le résultat de notre « pont avec culée »? Le voici:
Mention particulière à l’émetteur de particules de SpriteKit, qui permet de générer des explosions de ouf rien qu’en modifiant quelques paramètres:
Un seul problème: l’avion ne suit pas parfaitement bien la souris, ce qui fait qu’on se retrouve régulièrement avec la souris en-dehors de l’écran, et donc l’avion qui ne la suit plus du tout. Bien sûr, il suffit alors de « recoller » la souris sur l’avion, mais les quelques instants ainsi perdus peuvent se révéler fatals lorsqu’on est sous le feu croisé de plusieurs avions ennemis!
Ce comportement est probablement dû à la façon dont la position de l’avion est déterminée:
Comme on le voit dans le code ci-dessus, ce calcul fait intervenir une méthode « clamp » fournie, dans une bibliothèque d’utilitaires, par les auteurs du livre. Et on n’a pas encore bien compris ce que fait cette méthode particulière… On y travaille et on vous tient au courant. A moins que quelqu’un d’autre puisse nous aider? Merci d’avance! 🙂