Une nouvelle fonction est née: elle permet de lancer un élement, relativement à un objet (ex: un obus depuis un char).
Je vais faire une "surcharge" à cette fonction pour qu'elle soit plus simple à utiliser, car voilà ce qu'il faut faire pour l'instant:
Code:
if(raydium_key_last==1102)
{
int a;
char name[255];
dReal *pos;
a=raydium_ode_object_find("WATURE");
raydium_ode_name_auto("box",name);
raydium_ode_object_box_add(name,a,0.1,RAYDIUM_ODE_AUTODETECT,0,0,RAYDIUM_ODE_STANDARD,"crate.tri");
pos=(dReal *)raydium_ode_element_pos_get_name("corps");
raydium_ode_element_move_name(name,pos);
raydium_ode_launcher_name_3f(name,"corps",0,80,0,100);
raydium_ode_element_moveto_name(name,"GLOBAL",0);
}
... pour lancer une caisse depuis la voiture.. explications:
1) trouver l'identifiant de l'objet "WATURE"
2) créer une caisse avec crate.tri
3) trouver la position du corps de la "WATURE"
4) déplacer la caisse à cette position
5) lancer la caisse du corps avec un angle de 80° et une force de 100
6) dire à la caisse qu'elle doit quitter l'objet "WATURE" pour rejoindre "GLOBAL"
Tout ca est très logique et souple, mais un poil long, alors je vais proposer une alternative simplifiée.