sevgolds

Membres
  • Compteur de contenus

    6
  • Inscription

  • Dernière visite

sevgolds's Achievements

Débutant

Débutant (1/7)

0

Réputation sur la communauté

  1. Bonjour, J'ai une classe singleton que je souhaite déclarer dans l'espace lua. Je fais donc : class_<GestionnaireSc>("GestionnaireSc") .scope[ def("setNom", &GestionnaireScenario::setNom) ] .def("prevenir3D", &GestionnaireScenario::prevenir3D) ; Dans mon script lua, je fais : GestionnaireSc.setNom("toto") et cela fonctionne mais lorsque j'appelle prevenir3D GestionnaireSc.prevenir3D() , j'ai une erreur , la méthode prevenir3D n'est pas retrouvé : --------------------------------- no overload of GestionnaireSc:prevenir3Dmatched the arguments () candidates are: GestionnaireSc:prevenir3D() --------------------------------- Sauriez vous pourquoi j'ai cette erreur? Merci
  2. J'ai trouvé le problème : je faisais un mauvais appel à la méthode depuis Lua : je faisais à la méthode à l'aide d'un point au lieu des 2 points myInstance:myFunction(param) Merci
  3. Bonjour, J'arrive à appeler des méthode C++ dans mon script Lua. Je souhaiterais faire l'inverse : lancer une méthode lua depuis mon code C++ à partir de la définition de mes classes. Je m'explique : J'ai créé une classe Entité avec une méthode destruction(). J'ai déclaré la classe et la méthode dans le contexte lua. Dans mon script lua j'ai déclaré une nouvelle classe EntityNv dérivant de Entité. Dans cette classe, j'ai redéfinit la méthode destruction() Dans mon script lua j'ai défini un objet A de type Entite et un objet B de type EntiteNv. Depuis mon programme C++, je lance le méthode destruction() pour chaque objet A et B. Je pensais qu'en lançant B.destruction() cela allait lancer la méthode qui est définie dans mon script lua, alors qu'elle lance la méthode de Entite. Est-ce normal? Ai-je mal compris Lua? Merci
  4. Mais faut-il faire; déclarer qq chose en particulier lorsque dans lua on fait appel à des méthode C++ avec des arguments qui peuvent être de type simple ou des objets? Merci
  5. Bonjour, Je débute en lua et ce n'est pas si simple. Je souhaitais savoir s'il était possible d'utiliser des objets C++, tel que std::vector, std::list ... dans le script lua. J'utilise luabind. Merci d'avance
  6. Bonjour, J'ai une classe C++ contenant une méthode avec un paramètre de type double. void ajouterDistance(int type, double distance); Cette méthode est appelée dans mon fichier lua. J'ai donc ajouté la classe et la fonction dans le module Lua : lua_state L; module(L) [ class_<Entite >("Entite") .def(constructor< unsigned int, const std::string & >()) .def("ajouterDistance", &EntiteScenario::ajouterDistance ) ]; Dans mon fichier lua, j'ai : Entite A = Entite(1000,"Toto") A.ajouterDistance( 0, 123.2) J'ai un problème au lancement de mon binaire, car Lua s'attend à voir un entier et un réel mais il considère que la deuxième valeur que je lui ai passé (123.2) n'est pas un double : ***************** Terminated with exception: "no overload of 'Entite:ajouterDistance' matched the arguments<number, number> canditates are : 'Entite:ajouterDistance<number, custom [double] > ******************* Comment Faire pour que 123.2 soit accepté en tant que double dans mon lua???? Merci