debut mouvement animation player

This commit is contained in:
gwiz
2020-05-02 12:31:30 +02:00
parent 23b1312706
commit 77ad3c34d4
3 changed files with 172 additions and 5 deletions

View File

@ -1,5 +1,5 @@
#include "GestionPlayer.h"
#include <SpriteFrames.hpp>
#include <ConfigFile.hpp>
#include <Input.hpp>
#include <ResourceLoader.hpp>
@ -7,8 +7,8 @@
GestionPlayer::GestionPlayer()
{
sprite_player_ptr = Sprite::_new();
sprite_player_ptr = AnimatedSprite::_new();
texture_player_ptr.instance();
texture_player_ptr->_new();
}
@ -27,6 +27,7 @@ void GestionPlayer::_process(float dt) // dt = deltaTime
{
traitementInput(dt);
p.velocity = move_and_slide(p.velocity);
animation();
}
@ -53,7 +54,17 @@ void GestionPlayer::setupPlayer()
//setup du sprite
//Godot::print("SetUp de Sprite");
sprite_player_ptr->set_texture(texture_player_ptr);
Ref<SpriteFrames> spriteFrames = ResourceLoader::get_singleton()->load("res://Character/Hero Knight/HeroKnight/HeroKnight.tres");
sprite_player_ptr->set_sprite_frames(spriteFrames);
PoolStringArray AnimNames = spriteFrames->get_animation_names();
PoolStringArray::Read r = AnimNames.read();
Godot::print("Animations Names");
for (int i = 0; i < AnimNames.size(); ++i)
{
Godot::print(r[i]);
}
}
void GestionPlayer::traitementInput(float dt)
@ -85,6 +96,27 @@ void GestionPlayer::traitementInput(float dt)
}
void GestionPlayer::animation()
{
if (p.velocity.x > 0.0f)
{
sprite_player_ptr->play("Walk");
sprite_player_ptr->set_flip_h(false);
}
else if (p.velocity.x < 0.0f)
{
sprite_player_ptr->play("Walk");
sprite_player_ptr->set_flip_h(true);
}
else
{
sprite_player_ptr->play("Idle");
}
}
void GestionPlayer::setPosition(int x, int y)
{
Transform2D t;

View File

@ -2,7 +2,7 @@
#include <CircleShape2D.hpp>
#include <CollisionShape2D.hpp>
#include <Sprite.hpp>
#include <AnimatedSprite.hpp>
#include "Player.h"
@ -12,7 +12,9 @@ using namespace godot;
class GestionPlayer : public KinematicBody2D
{
public:
Sprite* sprite_player_ptr;
AnimatedSprite* sprite_player_ptr;
Ref<Resource> texture_player_ptr;
@ -44,6 +46,7 @@ private:
void saut();
void idle();
void attack();
void animation();
public:
const float speed = 100.f;
const float GamePlayMultiplicator = 100.0f;