Energie avion
Publié : lun. sept. 24, 2012 10:36 pm
Hello,
Afin de mieux se rendre compte de l'energie emmagasiné en vol, j'ai fait ce petit script. Il indique l'energie Cinétique et l'energie Potentielle de l'avion du joueur.
Comme ce sont des chiffres un peu abstrait, j'ai mis un % qui represente votre % d'energie mecanique (energie cinetique + energie potentielle) actuelle par rapport a l'energie que vous aviez au départ. En d'autres termes, l'energie de départ quelle qu'elle soit est egal a 100%.
Donc, durant le vol, si vous dégradez votre energie (soit en perdant de la vitesse, soit en perdant de l'altitude, soit les deux), votre pourcentage baisse. Et inversement.
C'est vrais si vous débutez la mission en vol et pas au sol, car dans ce cas, votre energie devrait normalement toujours augmenter.
L'idée est de mettre ce script dans une mission en dogfight avec départ en vol. Ensuite vous pourrez analyser votre perte d'energie au fur et a mesure du dogfight. Ca pourrait servir a prendre les bonnes habitudes et ne pas dépenser son energie rapidement. Comme on dit, l'energie c'est la vie.
Vous pouvez copier le texte du code ci dessous dans un simple fichier texte qui aura le noms de votre mission mais avec l'extension cs. Exemple, ma mission s'appelle "energie.mis". Je fais un copier coller du code dans un fichier texte mais je l'enregistre dans le dossier ou il y a la mission avec le nom "energie.cs".
Si ca semble compliqué pour certains, j'uploaderais un fichier zip avec la mission et le script. Demandez moi si besoin.
L'avion du joueur sera automatiquement pris par défaut, que vous jouiez en spitfire ou 109 ou autre.
A noter que j'ai fait un affichage sur une fenetre d'info. Il faut donc que vous en affichiez une si c'est pas le cas (durant le jeu, bouton de droite, nouvelle fenetre d'info puis re-bouton de droite dans la fenetre et faire Personaliser fenetre d'info et ajouter l'info Serveur).
Ce type d'affichage en fenetre d'info est plus lisible que l'affichage en jaune en plein ecran.
Voici le script :
A+
EDIT 1 : au fait j'oubliais, j'ai mis la masse du spitfire par défaut = 2609. Dites moi si je me suis planté. Dans tous les cas, si votre avion a une masse différente, vous pouvez changer la valeure. Au pire, si vous changez rien, la valeure d'energie potentielle et cinetique auront une erreur mais c'est surtout le % qui compte et lui sera relatif.
EDIT 2 : ou ai-je la tete ; le 1.609 dans la formule sert a passer les miles par heure en km par heure. A virer si vous voler en avion bleu.
Afin de mieux se rendre compte de l'energie emmagasiné en vol, j'ai fait ce petit script. Il indique l'energie Cinétique et l'energie Potentielle de l'avion du joueur.
Comme ce sont des chiffres un peu abstrait, j'ai mis un % qui represente votre % d'energie mecanique (energie cinetique + energie potentielle) actuelle par rapport a l'energie que vous aviez au départ. En d'autres termes, l'energie de départ quelle qu'elle soit est egal a 100%.
Donc, durant le vol, si vous dégradez votre energie (soit en perdant de la vitesse, soit en perdant de l'altitude, soit les deux), votre pourcentage baisse. Et inversement.
C'est vrais si vous débutez la mission en vol et pas au sol, car dans ce cas, votre energie devrait normalement toujours augmenter.
L'idée est de mettre ce script dans une mission en dogfight avec départ en vol. Ensuite vous pourrez analyser votre perte d'energie au fur et a mesure du dogfight. Ca pourrait servir a prendre les bonnes habitudes et ne pas dépenser son energie rapidement. Comme on dit, l'energie c'est la vie.
Vous pouvez copier le texte du code ci dessous dans un simple fichier texte qui aura le noms de votre mission mais avec l'extension cs. Exemple, ma mission s'appelle "energie.mis". Je fais un copier coller du code dans un fichier texte mais je l'enregistre dans le dossier ou il y a la mission avec le nom "energie.cs".
Si ca semble compliqué pour certains, j'uploaderais un fichier zip avec la mission et le script. Demandez moi si besoin.
L'avion du joueur sera automatiquement pris par défaut, que vous jouiez en spitfire ou 109 ou autre.
A noter que j'ai fait un affichage sur une fenetre d'info. Il faut donc que vous en affichiez une si c'est pas le cas (durant le jeu, bouton de droite, nouvelle fenetre d'info puis re-bouton de droite dans la fenetre et faire Personaliser fenetre d'info et ajouter l'info Serveur).
Ce type d'affichage en fenetre d'info est plus lisible que l'affichage en jaune en plein ecran.
Voici le script :
Code : Tout sélectionner
using System;
using maddox.game;
using maddox.game.world;
public class Mission : AMission
{
//quelques variables
AiAircraft cur_Plane;
double EnergieP = 0.0;
double EnergieC = 0.0;
double EnergieMeca = 0.0;
double MassePlane = 2609;
double G = 9.81;
double Z_AltitudeMSL = 0.0;
double I_VelocityIAS = 0.0;
double Pourcentage = 0;
double EnergieInitiale = 0.0;
bool UneFois = true;
//Boucle Principale
public override void OnTickGame()
{
//On initialise le compteur
base.OnTickGame();
//Fait a interval regulier
if (Time.tickCounter() % 30 == 1)
{
//Avion jouer
cur_Plane = GamePlay.gpPlayer().Place() as AiAircraft;
if (cur_Plane != null)
{
Z_AltitudeMSL = cur_Plane.getParameter(part.ParameterTypes.Z_AltitudeMSL, -1);
I_VelocityIAS = cur_Plane.getParameter(part.ParameterTypes.I_VelocityIAS, -1);
}
if (UneFois)
{
I_VelocityIAS = ((I_VelocityIAS * 1.609) * 1000) / 3600;
EnergieC = (0.5 * MassePlane * (I_VelocityIAS * I_VelocityIAS)) / 1000;
EnergieP = (MassePlane * G * Z_AltitudeMSL) / 1000;
EnergieMeca = EnergieC + EnergieP;
EnergieInitiale = EnergieMeca;
UneFois = false;
}
I_VelocityIAS = ((I_VelocityIAS * 1.609) * 1000) / 3600;
EnergieC = (0.5 * MassePlane * (I_VelocityIAS * I_VelocityIAS)) / 1000;
EnergieP = (MassePlane * G * Z_AltitudeMSL) / 1000;
EnergieMeca = EnergieC + EnergieP;
Pourcentage = (EnergieMeca / EnergieInitiale) * 100;
GamePlay.gpLogServer(null,
"EnergieC (kJ): " +
EnergieC.ToString("0") +
" EnergieP (kJ): " +
EnergieP.ToString("0") +
" %: " +
Pourcentage.ToString("0")
, null);
}
}
}
EDIT 1 : au fait j'oubliais, j'ai mis la masse du spitfire par défaut = 2609. Dites moi si je me suis planté. Dans tous les cas, si votre avion a une masse différente, vous pouvez changer la valeure. Au pire, si vous changez rien, la valeure d'energie potentielle et cinetique auront une erreur mais c'est surtout le % qui compte et lui sera relatif.
EDIT 2 : ou ai-je la tete ; le 1.609 dans la formule sert a passer les miles par heure en km par heure. A virer si vous voler en avion bleu.