Puis-je construire en 3D ou 2D de jeux interactifs à l'aide de Réagir Natif?
Réagir exécute un JS moteur V8 pour créer l'INTERFACE utilisateur en Natif. Il ne peut évidemment crochet en OpenGL natif de la bibliothèque, mais peut-on réellement construire performant Jeux à l'aide de Réagir Natif?
Vous devez vous connecter pour publier un commentaire.
Oui, il peut être fait et de la performance l'air assez soigné.
Voici une vidéo qui montre le même pour iOS: Un Rapide Réagir Natif de Démonstration avec OpenGL
OpenGL pour Android peut également être raccordé de manière similaire.
Vous devriez jeter un oeil à l'Expo et ses GLView composant, qui s'interface avec le native interface de OpenGL, mais l'expose à l'aide d'un WebGL type d'API.
Vous pouvez même l'utiliser Three.js avec qui, à l'aide de la expo-trois de la bibliothèque (qui est rude sur les bords, mais suffisamment simple que vous pouvez l'ajuster autour de vos besoins). Mais vraiment, puisque vous avez accès à la WebGL gl objet, vous pouvez utiliser n'importe quelle lib js qui utilise WebGL.
Cela dépend vraiment de quel type de jeu que vous allez construire. J'ai reconstruit mon nonogram jeu de puzzle de l'Obj-C pour Réagir Natif, et après mettre l'effort dans l'optimisation (éliminant la redondance rend, en utilisant le moins de composants, et à l'aide de l'Animation de l'API dans la mesure du possible, la performance en RN était juste une bonne Obj-C.
Cependant, c'est un 2D jeu de puzzle qui ne pas utiliser toute sorte de fantaisie rendu--c'est juste une grille avec des nombres et quelques animations simples. Je vais aussi noter que j'ai eu à écrire de la grille elle-même en code natif, car elle permettrait de générer jusqu'à 625 RN Vues (pour un 25x25) de puzzle et qui vient de tuer les performances lorsqu'il est rendu.
En conclusion, RN, c'est sans aucun bibliothèques externes est très bien pour de simples jeux 2D comme les puzzles, mais j'avais hésité à l'utiliser pour quoi que ce soit comme un jeu de plates-formes, d'action ou de jeu en 3D, c'est juste pas fait pour ça.