mirror of
https://forge.univ-lyon1.fr/tplifap4/dungeonanddeamon.git
synced 2024-02-27 13:31:50 +01:00
Mise a jour commentaire
This commit is contained in:
parent
509785b7b0
commit
44ff4736e9
@ -1,7 +1,9 @@
|
||||
#include "GestionMobs.h"
|
||||
|
||||
#include "MobsCorpACorpIA.h"
|
||||
|
||||
/**
|
||||
* <summary>Création de la liste des mobs </summary>
|
||||
*/
|
||||
void GestionMobs::AjoutMobC2C(int pvMax, int speed, int degat, int cooldown, int rangeDegat, int rangeAgro)
|
||||
{
|
||||
MobsCorpACorpIA* fireElement = MobsCorpACorpIA::_new();
|
||||
|
@ -5,6 +5,8 @@
|
||||
#include <ResourceLoader.hpp>
|
||||
#include <Texture.hpp>
|
||||
#include <InputEventKey.hpp>
|
||||
|
||||
|
||||
GestionPlayer::GestionPlayer()
|
||||
{
|
||||
|
||||
@ -12,7 +14,9 @@ GestionPlayer::GestionPlayer()
|
||||
texture_player_ptr.instance();
|
||||
texture_player_ptr->_new();
|
||||
}
|
||||
|
||||
/**
|
||||
* <summary>Associe les méthodes GODOT aux méthodes de la classe</summary>
|
||||
*/
|
||||
void GestionPlayer::_register_methods()
|
||||
{
|
||||
Godot::print("register Player...");
|
||||
@ -23,12 +27,21 @@ void GestionPlayer::_register_methods()
|
||||
Godot::print("register Player OK!");
|
||||
|
||||
}
|
||||
//fonction _pgysics_process meilleur rafraichissement de 60 fps comparé à 30 pour la fonction _process meilleur pour les mouvements plus fluides du mob
|
||||
|
||||
|
||||
/**
|
||||
* <summary>//fonction _pgysics_process meilleur rafraichissement de 60 fps comparé à 30 pour la fonction _process meilleur pour les mouvements plus fluides du mob
|
||||
</summary>
|
||||
*/
|
||||
void GestionPlayer::_physics_process(float dt) // dt = deltaTime
|
||||
{
|
||||
p.velocity = move_and_slide(p.velocity);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* <summary>Methode éxécutée en boucle par Godot</summary>
|
||||
*/
|
||||
void GestionPlayer::_process(float dt) // dt = deltaTime
|
||||
{
|
||||
PlayerLogic_AutoReset();
|
||||
@ -38,24 +51,36 @@ void GestionPlayer::_process(float dt) // dt = deltaTime
|
||||
PlayerLogic(dt);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* <summary>Methode éxécutée lors de l'initialison de la classe (par godot)</summary>
|
||||
*/
|
||||
void GestionPlayer::_init()
|
||||
{
|
||||
createPlayer();
|
||||
}
|
||||
|
||||
/**
|
||||
* <summary>Methode éxécutée suivant l'initialison de la classe</summary>
|
||||
*/
|
||||
void GestionPlayer::_ready()
|
||||
{
|
||||
setupPlayer();
|
||||
playerState.Reset();
|
||||
}
|
||||
|
||||
/**
|
||||
* <summary>Méthdode appelé lors de l'initilisation</summary>
|
||||
*/
|
||||
void GestionPlayer::createPlayer()
|
||||
{
|
||||
add_child(sprite_player_ptr);
|
||||
}
|
||||
|
||||
/**
|
||||
* <summary>//setup des textures et des animations avec l'extension .tres qu'on a créé grâce à l'interface Godot et les fonctions animated sprite </summary>
|
||||
*/
|
||||
|
||||
//setup des textures et des animations avec l'extension .tres qu'on a créé grâce à l'interface Godot et les fonctions animated sprite
|
||||
void GestionPlayer::setupPlayer()
|
||||
{
|
||||
//Chargement de la texture
|
||||
@ -77,9 +102,11 @@ void GestionPlayer::setupPlayer()
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* <summary>//Fonction traitement des touches pour le déplacement du joueur, is_action_pressed fonction godot ou l'on peut changer les contrôles dans le menu godot. projet->Parametre du projet ->Contrôles
|
||||
//Traitement des inputs avec des boulleen de la structure du joueur pour créer un arbre d'état et simplifier la mise en place des animations</summary>
|
||||
*/
|
||||
|
||||
//Fonction traitement des touches pour le déplacement du joueur, is_action_pressed fonction godot ou l'on peut changer les contrôles dans le menu godot. projet->Parametre du projet ->Contrôles
|
||||
//Traitement des inputs avec des boulleen de la structure du joueur pour créer un arbre d'état et simplifier la mise en place des animations
|
||||
void GestionPlayer::traitementInput()
|
||||
{
|
||||
// manage Inputs
|
||||
@ -110,12 +137,14 @@ void GestionPlayer::traitementInput()
|
||||
|
||||
}
|
||||
|
||||
|
||||
//Fonction pour savoir si les animations sont terminé pour éviter les loops et les problèmes d'animation non términé
|
||||
/**
|
||||
* <summary//Fonction pour savoir si les animations sont terminé pour éviter les loops et les problèmes d'animation non términé
|
||||
//mettre en place un flag isInBlockingAnimation
|
||||
//tant que ce flag est a true on block la player logic pour ne pas interrompre l'animation avec une autre anim(marche / saut par exemple)
|
||||
//d'où le besoin de tester la fin de l'animation dans PlayerLogic_AutoReset) pour debloquer le isInBlockingAnimation = false;
|
||||
//et au debut de player logic on sort si on est en blocking anim
|
||||
//et au debut de player logic on sort si on est en blocking anim</summary>
|
||||
*/
|
||||
|
||||
void GestionPlayer::PlayerLogic_AutoReset()
|
||||
{
|
||||
playerState.Flags.right = false;
|
||||
@ -140,8 +169,10 @@ void GestionPlayer::PlayerLogic_AutoReset()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* <summary>//Etat du joueur pour détérminer les futurs action, saut, au sol, chute libre et pour gérer les différentes animations avec les drapeaux </summary>
|
||||
*/
|
||||
|
||||
//Etat du joueur pour détérminer les futurs action, saut, au sol, chute libre et pour gérer les différentes animations avec les drapeaux
|
||||
void GestionPlayer::PlayerLogic(float dt)
|
||||
{
|
||||
Godot::print("PlayerLogic");
|
||||
@ -177,10 +208,12 @@ void GestionPlayer::PlayerLogic(float dt)
|
||||
|
||||
}
|
||||
|
||||
|
||||
//Fonction gérant le saut du joueur et ces animations en fonctions des Flags et si le joueur est en contacte avec le sol ou non
|
||||
/**
|
||||
* <summary>//Fonction gérant le saut du joueur et ces animations en fonctions des Flags et si le joueur est en contacte avec le sol ou non
|
||||
//Fonction gérant la gravité avec dt= delta time
|
||||
//fonction qui gere aussi le sens des aniamtions en fonction de la vitesse
|
||||
//fonction qui gere aussi le sens des aniamtions en fonction de la vitesse </summary>
|
||||
*/
|
||||
|
||||
void GestionPlayer::PlayerLogic_Jump(float dt)
|
||||
{
|
||||
Godot::print("\t Jump");
|
||||
@ -216,10 +249,12 @@ void GestionPlayer::PlayerLogic_Jump(float dt)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Fonction des animations possibles si le joueur se trouve au sol
|
||||
/**
|
||||
* <summary>//Fonction des animations possibles si le joueur se trouve au sol
|
||||
//avec les animations qui se trouve dans le fichier "HeroKnight.tres"
|
||||
//en fonction dss flags des booleens isinblockinganiamtion pour éviter toute loop
|
||||
//en fonction dss flags des booleens isinblockinganiamtion pour éviter toute loop </summary>
|
||||
*/
|
||||
|
||||
void GestionPlayer::PlayerLogic_OnGround(float dt)
|
||||
{
|
||||
Godot::print("\t OnGround");
|
||||
@ -240,6 +275,7 @@ void GestionPlayer::PlayerLogic_OnGround(float dt)
|
||||
else if (playerState.Flags.dash)
|
||||
{
|
||||
sprite_player_ptr->play("dash");
|
||||
p.velocity.x = -speed;
|
||||
p.velocity.x =+ 1000.0f;
|
||||
playerState.Flags.isInBlockingAnimation = true;
|
||||
playerState.Flags.dash = false;
|
||||
@ -272,8 +308,10 @@ void GestionPlayer::PlayerLogic_OnGround(float dt)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* <summary>//Fonction qui gere les animations si le joueur est en chute libre, dans le bon sens en fonction de la velocité</summary>
|
||||
*/
|
||||
|
||||
//Fonction qui gere les animations si le joueur est en chute libre, dans le bon sens en fonction de la velocité
|
||||
void GestionPlayer::PlayerLogic_FreeFall(float dt)
|
||||
{
|
||||
Godot::print("\t FreeFall");
|
||||
@ -294,8 +332,10 @@ void GestionPlayer::PlayerLogic_FreeFall(float dt)
|
||||
p.velocity.y += gravity * dt;
|
||||
}
|
||||
|
||||
/**
|
||||
* <summary>//Fonction qui inisalise la position du joueur </summary>
|
||||
*/
|
||||
|
||||
//Fonction qui inisalise la position du joueur
|
||||
void GestionPlayer::setPosition(float x, float y)
|
||||
{
|
||||
Transform2D t;
|
||||
|
@ -19,6 +19,9 @@ MobsCorpACorpIA::MobsCorpACorpIA()
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* <summary>Associe les méthodes GODOT aux méthodes de la classe</summary>
|
||||
*/
|
||||
void MobsCorpACorpIA::_register_methods()
|
||||
{
|
||||
Godot::print("register Mobs...");
|
||||
@ -29,26 +32,38 @@ void MobsCorpACorpIA::_register_methods()
|
||||
Godot::print("register Mobs OK!");
|
||||
|
||||
}
|
||||
//fonction _pgysics_process meilleur rafraichissement de 60 fps comparé à 30 pour la fonction _process meilleur pour les mouvement plus fluide du mob
|
||||
|
||||
/**
|
||||
* <summary>//fonction _pgysics_process meilleur rafraichissement de 60 fps comparé à 30 pour la fonction _process meilleur pour les mouvement plus fluide du mob
|
||||
</summary>
|
||||
*/
|
||||
void MobsCorpACorpIA::_physics_process(float dt)
|
||||
{
|
||||
mouvement(dt);
|
||||
m.velocity = move_and_slide(m.velocity);
|
||||
}
|
||||
|
||||
/**
|
||||
* <summary>Methode éxécutée en boucle par Godot</summary>
|
||||
*/
|
||||
void MobsCorpACorpIA::_process(float delta)
|
||||
{
|
||||
animation();
|
||||
}
|
||||
|
||||
/**
|
||||
* <summary>Methode éxécutée lors de l'initialison de la classe (par godot)</summary>
|
||||
*/
|
||||
void MobsCorpACorpIA::_init()
|
||||
{
|
||||
Godot::print("init Mobs");
|
||||
createMobsCorpACorp();
|
||||
}
|
||||
|
||||
/**
|
||||
* <summary>//fonction qui met en place et creer le mob</summary>
|
||||
*/
|
||||
|
||||
//fonction qui met en place et creer le mob
|
||||
void MobsCorpACorpIA::createMobsCorpACorp()
|
||||
{
|
||||
add_child(sprite_MobsCorpACorp_ptr);
|
||||
@ -56,14 +71,20 @@ void MobsCorpACorpIA::createMobsCorpACorp()
|
||||
Godot::print("Creation mobs");
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* <summary>Methode éxécutée suivant l'initialison de la classe</summary>
|
||||
*/
|
||||
void MobsCorpACorpIA::_ready()
|
||||
{
|
||||
setupMobsCorpACorp();
|
||||
|
||||
}
|
||||
/**
|
||||
* <summary>//setup des textures et des animations avec l'extension .tres qu'on a créé grâce à l'interface Godot et les fonctions animated sprite
|
||||
</summary>
|
||||
*/
|
||||
|
||||
|
||||
//setup des textures et des animations avec l'extension .tres qu'on a créé grâce à l'interface Godot et les fonctions animated sprite
|
||||
void MobsCorpACorpIA::setupMobsCorpACorp()
|
||||
{
|
||||
|
||||
@ -90,7 +111,11 @@ void MobsCorpACorpIA::setupMobsCorpACorp()
|
||||
|
||||
}
|
||||
|
||||
//fonction qui set la position dans l'écrans du mob
|
||||
|
||||
/**
|
||||
* <summary>//fonction qui set la position dans l'écrans du mob</summary>
|
||||
*/
|
||||
|
||||
void MobsCorpACorpIA::setPosition(float x, float y)
|
||||
{
|
||||
Transform2D t;
|
||||
@ -108,8 +133,10 @@ void MobsCorpACorpIA::setPosition(float x, float y)
|
||||
set_transform(t);
|
||||
}
|
||||
|
||||
/**
|
||||
* <summary>//fonction office de mini IA qui va déplacer les mobs en fonction de la positon du joueur TargetPosition </summary>
|
||||
*/
|
||||
|
||||
//fonction office de mini IA qui va déplacer les mobs en fonction de la positon du joueur TargetPosition
|
||||
void MobsCorpACorpIA::mouvement(float dt)
|
||||
{
|
||||
|
||||
@ -150,7 +177,9 @@ void MobsCorpACorpIA::mouvement(float dt)
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* <summary>Methode éxécutée lors de l'initialison de la classe (par godot)</summary>
|
||||
*/
|
||||
//Fonction qui gere les animations en fonction des mouvements et de la direction du joueur
|
||||
void MobsCorpACorpIA::animation()
|
||||
{
|
||||
@ -177,7 +206,9 @@ void MobsCorpACorpIA::animation()
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* <summary>Methode éxécutée lors de l'initialison de la classe (par godot)</summary>
|
||||
*/
|
||||
//Deplacement mob a droite
|
||||
void MobsCorpACorpIA::droit()
|
||||
{
|
||||
@ -185,23 +216,29 @@ void MobsCorpACorpIA::droit()
|
||||
m.velocity.x = speed;
|
||||
}
|
||||
|
||||
/**
|
||||
* <summary>//Deplacement mob a gauche</summary>
|
||||
*/
|
||||
|
||||
//Deplacement mob a gauche
|
||||
void MobsCorpACorpIA::gauche()
|
||||
{
|
||||
//Godot::print("Deplacement mob a gauche");
|
||||
m.velocity.x = -speed;
|
||||
}
|
||||
|
||||
/**
|
||||
* <summary>Deplacement mob a bas</summary>
|
||||
*/
|
||||
|
||||
//Deplacement mob a bas
|
||||
void MobsCorpACorpIA::bas()
|
||||
{
|
||||
m.velocity.y = -power_jump;
|
||||
}
|
||||
/**
|
||||
* <summary>//Deplacement mob a saut</summary>
|
||||
*/
|
||||
|
||||
|
||||
//Deplacement mob a saut
|
||||
void MobsCorpACorpIA::saut()
|
||||
{
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user