[C++] Ouvrir le navigateur depuis Cocos2d-x

Il fallait que j’intègre des boutons dans un projet cocos2d-x pour rediriger sur des pages de réseaux sociaux. Mais à mon grand regret, il n’existe pas de fonction préparée dans le framework de cocos2d-x (version 3.2) pour ouvrir une page de navigateur. Il m’a alors fallu l’implémenter moi-même.

Content.

Fort heureusement, des personnes se sont déjà penchées sur la question et une source m’a été particulièrement utile. Pour info, ce qui va suivre pourrait aussi servir à ouvrir des fichiers en local (file://) ou toute ressource pointable par un URI (tant qu’il y a un logiciel qui peut gérer cet URI, of course) ! Mes chers lecteurs francophones (parce qu’aucun anglophone ou autre ne viendrait ici huhu), voici un récapitulatif :

Partie Windows

  • cocos/platform/win32/CCApplication.h
  • cocos/platform/win32/CCApplication.cpp

Partie Android

  • cocos/platform/android/CCApplication.h
  • cocos/platform/android/CCApplication.cpp
  • cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxActivity.java
    • À ajouter dans les imports si ce n’est pas déjà fait :
    • À ajouter dans la classe Cocos2dxActivity :

Partie iOS (quand j’en aurai besoin :P)

Conclusion

Et voilà ! Désormais, pour ouvrir la page, appelez la méthode openUrl ainsi :