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

@ -0,0 +1,132 @@
[gd_resource type="SpriteFrames" load_steps=73 format=2]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_07.png" type="Texture" id=1]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_10.png" type="Texture" id=2]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_16.png" type="Texture" id=3]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_04.png" type="Texture" id=4]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_06.png" type="Texture" id=5]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_15.png" type="Texture" id=6]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_02.png" type="Texture" id=7]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_03.png" type="Texture" id=8]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_09.png" type="Texture" id=9]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_14.png" type="Texture" id=10]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_01.png" type="Texture" id=11]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_11.png" type="Texture" id=12]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_13.png" type="Texture" id=13]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_05.png" type="Texture" id=14]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_12.png" type="Texture" id=15]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_17.png" type="Texture" id=16]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_18.png" type="Texture" id=17]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_39.png" type="Texture" id=18]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_44.png" type="Texture" id=19]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_42.png" type="Texture" id=20]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_43.png" type="Texture" id=21]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_40.png" type="Texture" id=22]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_41.png" type="Texture" id=23]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_45.png" type="Texture" id=24]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_64.png" type="Texture" id=25]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_60.png" type="Texture" id=26]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_62.png" type="Texture" id=27]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_61.png" type="Texture" id=28]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_63.png" type="Texture" id=29]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_51.png" type="Texture" id=30]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_56.png" type="Texture" id=31]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_57.png" type="Texture" id=32]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_50.png" type="Texture" id=33]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_65.png" type="Texture" id=34]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_47.png" type="Texture" id=35]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_46.png" type="Texture" id=36]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_55.png" type="Texture" id=37]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_23.png" type="Texture" id=38]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_36.png" type="Texture" id=39]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_31.png" type="Texture" id=40]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_24.png" type="Texture" id=41]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_33.png" type="Texture" id=42]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_37.png" type="Texture" id=43]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_52.png" type="Texture" id=44]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_58.png" type="Texture" id=45]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_22.png" type="Texture" id=46]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_48.png" type="Texture" id=47]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_20.png" type="Texture" id=48]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_32.png" type="Texture" id=49]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_19.png" type="Texture" id=50]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_34.png" type="Texture" id=51]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_35.png" type="Texture" id=52]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_30.png" type="Texture" id=53]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_49.png" type="Texture" id=54]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_21.png" type="Texture" id=55]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_53.png" type="Texture" id=56]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_54.png" type="Texture" id=57]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_68.png" type="Texture" id=58]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_70.png" type="Texture" id=59]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_71.png" type="Texture" id=60]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_77.png" type="Texture" id=61]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_76.png" type="Texture" id=62]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_80.png" type="Texture" id=63]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_73.png" type="Texture" id=64]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_78.png" type="Texture" id=65]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_74.png" type="Texture" id=66]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_69.png" type="Texture" id=67]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_72.png" type="Texture" id=68]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_75.png" type="Texture" id=69]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_79.png" type="Texture" id=70]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_67.png" type="Texture" id=71]
[ext_resource path="res://Character/Hero Knight/HeroKnight/Layer 1_sprite_66.png" type="Texture" id=72]
[resource]
animations = [ {
"frames": [ ExtResource( 11 ), ExtResource( 7 ), ExtResource( 8 ), ExtResource( 4 ), ExtResource( 14 ), ExtResource( 5 ), ExtResource( 1 ) ],
"loop": true,
"name": "Idle",
"speed": 4.0
}, {
"frames": [ ExtResource( 36 ), ExtResource( 35 ), ExtResource( 47 ), ExtResource( 54 ) ],
"loop": true,
"name": "degat",
"speed": 5.0
}, {
"frames": [ ExtResource( 33 ), ExtResource( 30 ), ExtResource( 44 ), ExtResource( 56 ), ExtResource( 57 ), ExtResource( 37 ), ExtResource( 31 ), ExtResource( 32 ), ExtResource( 45 ) ],
"loop": true,
"name": "mort",
"speed": 5.0
}, {
"frames": [ ExtResource( 18 ), ExtResource( 22 ), ExtResource( 23 ) ],
"loop": true,
"name": "Jump Up",
"speed": 5.0
}, {
"frames": [ ExtResource( 53 ), ExtResource( 40 ), ExtResource( 49 ), ExtResource( 42 ), ExtResource( 51 ), ExtResource( 52 ), ExtResource( 39 ), ExtResource( 43 ) ],
"loop": true,
"name": "attack2",
"speed": 5.0
}, {
"frames": [ ExtResource( 26 ), ExtResource( 28 ), ExtResource( 27 ), ExtResource( 29 ), ExtResource( 25 ), ExtResource( 34 ), ExtResource( 72 ), ExtResource( 71 ) ],
"loop": true,
"name": "shield",
"speed": 5.0
}, {
"frames": [ ExtResource( 9 ), ExtResource( 2 ), ExtResource( 12 ), ExtResource( 15 ), ExtResource( 13 ), ExtResource( 10 ), ExtResource( 6 ), ExtResource( 3 ), ExtResource( 16 ), ExtResource( 17 ) ],
"loop": true,
"name": "Walk",
"speed": 5.0
}, {
"frames": [ ExtResource( 20 ), ExtResource( 21 ), ExtResource( 19 ), ExtResource( 24 ) ],
"loop": true,
"name": "jump Down",
"speed": 5.0
}, {
"frames": [ ExtResource( 50 ), ExtResource( 50 ), ExtResource( 48 ), ExtResource( 55 ), ExtResource( 46 ), ExtResource( 41 ), ExtResource( 38 ) ],
"loop": true,
"name": "attack",
"speed": 5.0
}, {
"frames": [ ExtResource( 68 ), ExtResource( 64 ), ExtResource( 66 ), ExtResource( 69 ), ExtResource( 62 ), ExtResource( 61 ), ExtResource( 65 ), ExtResource( 70 ), ExtResource( 63 ) ],
"loop": true,
"name": "dash",
"speed": 5.0
}, {
"frames": [ ExtResource( 58 ), ExtResource( 67 ), ExtResource( 59 ), ExtResource( 60 ) ],
"loop": true,
"name": "block",
"speed": 5.0
} ]

View File

@ -1,5 +1,5 @@
#include "GestionPlayer.h" #include "GestionPlayer.h"
#include <SpriteFrames.hpp>
#include <ConfigFile.hpp> #include <ConfigFile.hpp>
#include <Input.hpp> #include <Input.hpp>
#include <ResourceLoader.hpp> #include <ResourceLoader.hpp>
@ -7,8 +7,8 @@
GestionPlayer::GestionPlayer() GestionPlayer::GestionPlayer()
{ {
sprite_player_ptr = Sprite::_new();
sprite_player_ptr = AnimatedSprite::_new();
texture_player_ptr.instance(); texture_player_ptr.instance();
texture_player_ptr->_new(); texture_player_ptr->_new();
} }
@ -27,6 +27,7 @@ void GestionPlayer::_process(float dt) // dt = deltaTime
{ {
traitementInput(dt); traitementInput(dt);
p.velocity = move_and_slide(p.velocity); p.velocity = move_and_slide(p.velocity);
animation();
} }
@ -53,7 +54,17 @@ void GestionPlayer::setupPlayer()
//setup du sprite //setup du sprite
//Godot::print("SetUp de 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) 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) void GestionPlayer::setPosition(int x, int y)
{ {
Transform2D t; Transform2D t;

View File

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