mirror of
https://forge.univ-lyon1.fr/tplifap4/dungeonanddeamon.git
synced 2024-02-27 13:31:50 +01:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
ca7cf2e8c7
@ -0,0 +1,41 @@
|
||||
[gd_resource type="SpriteFrames" load_steps=22 format=2]
|
||||
|
||||
[ext_resource path="res://Character/Fire Elemental Sprite Sheet/fireelemental31.png" type="Texture" id=1]
|
||||
[ext_resource path="res://Character/Fire Elemental Sprite Sheet/fireelemental10.png" type="Texture" id=2]
|
||||
[ext_resource path="res://Character/Fire Elemental Sprite Sheet/fireelemental32.png" type="Texture" id=3]
|
||||
[ext_resource path="res://Character/Fire Elemental Sprite Sheet/fireelemental00.png" type="Texture" id=4]
|
||||
[ext_resource path="res://Character/Fire Elemental Sprite Sheet/fireelemental05.png" type="Texture" id=5]
|
||||
[ext_resource path="res://Character/Fire Elemental Sprite Sheet/fireelemental01.png" type="Texture" id=6]
|
||||
[ext_resource path="res://Character/Fire Elemental Sprite Sheet/fireelemental11.png" type="Texture" id=7]
|
||||
[ext_resource path="res://Character/Fire Elemental Sprite Sheet/fireelemental13.png" type="Texture" id=8]
|
||||
[ext_resource path="res://Character/Fire Elemental Sprite Sheet/fireelemental29.png" type="Texture" id=9]
|
||||
[ext_resource path="res://Character/Fire Elemental Sprite Sheet/fireelemental08.png" type="Texture" id=10]
|
||||
[ext_resource path="res://Character/Fire Elemental Sprite Sheet/fireelemental06.png" type="Texture" id=11]
|
||||
[ext_resource path="res://Character/Fire Elemental Sprite Sheet/fireelemental03.png" type="Texture" id=12]
|
||||
[ext_resource path="res://Character/Fire Elemental Sprite Sheet/fireelemental04.png" type="Texture" id=13]
|
||||
[ext_resource path="res://Character/Fire Elemental Sprite Sheet/fireelemental28.png" type="Texture" id=14]
|
||||
[ext_resource path="res://Character/Fire Elemental Sprite Sheet/fireelemental30.png" type="Texture" id=15]
|
||||
[ext_resource path="res://Character/Fire Elemental Sprite Sheet/fireelemental12.png" type="Texture" id=16]
|
||||
[ext_resource path="res://Character/Fire Elemental Sprite Sheet/fireelemental02.png" type="Texture" id=17]
|
||||
[ext_resource path="res://Character/Fire Elemental Sprite Sheet/fireelemental09.png" type="Texture" id=18]
|
||||
[ext_resource path="res://Character/Fire Elemental Sprite Sheet/fireelemental34.png" type="Texture" id=19]
|
||||
[ext_resource path="res://Character/Fire Elemental Sprite Sheet/fireelemental35.png" type="Texture" id=20]
|
||||
[ext_resource path="res://Character/Fire Elemental Sprite Sheet/fireelemental33.png" type="Texture" id=21]
|
||||
|
||||
[resource]
|
||||
animations = [ {
|
||||
"frames": [ ExtResource( 10 ), ExtResource( 18 ), ExtResource( 2 ), ExtResource( 7 ), ExtResource( 16 ), ExtResource( 8 ) ],
|
||||
"loop": true,
|
||||
"name": "idle",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [ ExtResource( 4 ), ExtResource( 6 ), ExtResource( 17 ), ExtResource( 12 ), ExtResource( 13 ), ExtResource( 5 ), ExtResource( 11 ) ],
|
||||
"loop": true,
|
||||
"name": "walk",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [ ExtResource( 14 ), ExtResource( 9 ), ExtResource( 15 ), ExtResource( 1 ), ExtResource( 3 ), ExtResource( 21 ), ExtResource( 19 ), ExtResource( 20 ) ],
|
||||
"loop": true,
|
||||
"name": "dead",
|
||||
"speed": 5.0
|
||||
} ]
|
@ -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
|
||||
} ]
|
Binary file not shown.
@ -32,6 +32,26 @@ ui_right={
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":15,"pressure":0.0,"pressed":false,"script":null)
|
||||
]
|
||||
}
|
||||
dash={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777237,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
attack={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":79,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
attack2={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":80,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
block={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":69,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
[rendering]
|
||||
|
||||
|
@ -2,5 +2,5 @@
|
||||
|
||||
[ext_resource path="res://root.gdns" type="Script" id=1]
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
[node name="Node2D" type="AnimatedSprite"]
|
||||
script = ExtResource( 1 )
|
||||
|
@ -24,10 +24,14 @@ GestionJeu::GestionJeu()
|
||||
|
||||
GestionJeu::~GestionJeu()
|
||||
{
|
||||
<<<<<<< HEAD
|
||||
delete gTerrain;
|
||||
delete gPlayer;
|
||||
delete gMobs;
|
||||
delete gCollision;
|
||||
=======
|
||||
delete gMobs;
|
||||
>>>>>>> origin/master
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,14 +1,14 @@
|
||||
#include "GestionPlayer.h"
|
||||
|
||||
#include <SpriteFrames.hpp>
|
||||
#include <ConfigFile.hpp>
|
||||
#include <Input.hpp>
|
||||
#include <ResourceLoader.hpp>
|
||||
#include <Texture.hpp>
|
||||
|
||||
#include <InputEventKey.hpp>
|
||||
GestionPlayer::GestionPlayer()
|
||||
{
|
||||
sprite_player_ptr = Sprite::_new();
|
||||
|
||||
sprite_player_ptr = AnimatedSprite::_new();
|
||||
texture_player_ptr.instance();
|
||||
texture_player_ptr->_new();
|
||||
}
|
||||
@ -25,9 +25,13 @@ void GestionPlayer::_register_methods()
|
||||
|
||||
void GestionPlayer::_process(float dt) // dt = deltaTime
|
||||
{
|
||||
traitementInput(dt);
|
||||
p.velocity = move_and_slide(p.velocity);
|
||||
playerState.right = false;
|
||||
playerState.left = false;
|
||||
|
||||
traitementInput();
|
||||
|
||||
PlayerLogic(dt);
|
||||
p.velocity = move_and_slide(p.velocity);
|
||||
}
|
||||
|
||||
void GestionPlayer::_init()
|
||||
@ -53,10 +57,20 @@ 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)
|
||||
void GestionPlayer::traitementInput()
|
||||
{
|
||||
// manage Inputs
|
||||
Input* i = Input::get_singleton();
|
||||
@ -64,25 +78,147 @@ void GestionPlayer::traitementInput(float dt)
|
||||
// move in X directions
|
||||
p.velocity.x = 0.0f; // rest x, keyboard action will change this
|
||||
if (i->is_action_pressed("ui_left"))
|
||||
gauche();
|
||||
playerState.left = true;
|
||||
if (i->is_action_pressed("ui_right"))
|
||||
droit();
|
||||
playerState.right = true;
|
||||
if (i->is_action_pressed("dash"))
|
||||
playerState.dash = true;
|
||||
if (i->is_action_pressed("attack"))
|
||||
playerState.attack = true;
|
||||
if (i->is_action_pressed("attack2"))
|
||||
playerState.bigattack = true;
|
||||
if (i->is_action_pressed("block"))
|
||||
playerState.block = true;
|
||||
|
||||
|
||||
// update Velocity
|
||||
|
||||
|
||||
// move in Y directions
|
||||
if (i->is_action_pressed("ui_select"))
|
||||
playerState.jump = true;
|
||||
|
||||
|
||||
}
|
||||
|
||||
void GestionPlayer::PlayerLogic(float dt)
|
||||
{
|
||||
if (playerState.jump)
|
||||
{
|
||||
// attack en l'air
|
||||
PlayerLogic_Jump(dt);
|
||||
}
|
||||
else
|
||||
{
|
||||
// attack au sol
|
||||
if (on_ground)
|
||||
{
|
||||
PlayerLogic_OnGround(dt);
|
||||
}
|
||||
else
|
||||
{ // freefall
|
||||
// attack en l'air
|
||||
PlayerLogic_FreeFall(dt);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GestionPlayer::PlayerLogic_Jump(float dt)
|
||||
{
|
||||
if (on_ground)
|
||||
{
|
||||
p.velocity.y = 0.0f;
|
||||
p.velocity.y = power_jump;
|
||||
}
|
||||
else
|
||||
{
|
||||
p.velocity.y += gravity * dt;
|
||||
}
|
||||
if (p.velocity.y > 0.0f)
|
||||
{
|
||||
playerState.jump = false;
|
||||
playerState.freefall = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (playerState.left)
|
||||
{
|
||||
p.velocity.x = -speed;
|
||||
sprite_player_ptr->play("Jump Up");
|
||||
sprite_player_ptr->set_flip_h(true);
|
||||
}
|
||||
else if (playerState.right)
|
||||
{
|
||||
p.velocity.x = +speed;
|
||||
sprite_player_ptr->play("Jump Up");
|
||||
sprite_player_ptr->set_flip_h(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// move in Y directions
|
||||
if (i->is_action_pressed("ui_select"))
|
||||
saut();
|
||||
void GestionPlayer::PlayerLogic_OnGround(float dt)
|
||||
{
|
||||
p.velocity.y = 0.0f;
|
||||
if (playerState.attack)
|
||||
{
|
||||
sprite_player_ptr->play("attack");
|
||||
}
|
||||
else if (playerState.bigattack)
|
||||
{
|
||||
|
||||
sprite_player_ptr->play("attack2");
|
||||
|
||||
}
|
||||
else if (playerState.dash)
|
||||
{
|
||||
|
||||
sprite_player_ptr->play("dash");
|
||||
p.velocity.x =+ 50;
|
||||
|
||||
}
|
||||
else if (playerState.block)
|
||||
{
|
||||
|
||||
sprite_player_ptr->play("shield");
|
||||
|
||||
|
||||
}
|
||||
else if (playerState.left)
|
||||
{
|
||||
p.velocity.x = -speed;
|
||||
sprite_player_ptr->play("Walk");
|
||||
sprite_player_ptr->set_flip_h(true);
|
||||
}
|
||||
else if (playerState.right)
|
||||
{
|
||||
p.velocity.x = +speed;
|
||||
sprite_player_ptr->play("Walk");
|
||||
sprite_player_ptr->set_flip_h(false);
|
||||
}
|
||||
else if (pv <= 0)
|
||||
{
|
||||
sprite_player_ptr->play("mort");
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite_player_ptr->play("Idle");
|
||||
}
|
||||
}
|
||||
|
||||
void GestionPlayer::PlayerLogic_FreeFall(float dt)
|
||||
{
|
||||
p.velocity.x = +speed;
|
||||
if (playerState.left)
|
||||
{
|
||||
p.velocity.x = -speed;
|
||||
sprite_player_ptr->play("jump Down");
|
||||
sprite_player_ptr->set_flip_h(true);
|
||||
}
|
||||
else if (playerState.right)
|
||||
{
|
||||
p.velocity.x = +speed;
|
||||
sprite_player_ptr->play("jump Down");
|
||||
sprite_player_ptr->set_flip_h(false);
|
||||
}
|
||||
p.velocity.y += gravity * dt;
|
||||
}
|
||||
|
||||
void GestionPlayer::setPosition(int x, int y)
|
||||
@ -104,7 +240,7 @@ void GestionPlayer::setPosition(int x, int y)
|
||||
//init Velocity
|
||||
p.velocity = Vector2(0.0f, 0.0f);
|
||||
}
|
||||
|
||||
/*
|
||||
void GestionPlayer::droit()
|
||||
{
|
||||
Godot::print("Deplacement a droite");
|
||||
@ -123,10 +259,7 @@ void GestionPlayer::bas()
|
||||
|
||||
void GestionPlayer::saut()
|
||||
{
|
||||
if (on_ground)
|
||||
{
|
||||
p.velocity.y = power_jump;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void GestionPlayer::idle()
|
||||
@ -134,6 +267,24 @@ void GestionPlayer::idle()
|
||||
p.velocity.x = 0.0;
|
||||
}
|
||||
|
||||
void GestionPlayer::dash()
|
||||
{
|
||||
p.velocity.x =+1000;
|
||||
sprite_player_ptr->play("dash");
|
||||
}
|
||||
|
||||
void GestionPlayer::attack()
|
||||
{
|
||||
sprite_player_ptr->play("attack");
|
||||
}
|
||||
|
||||
void GestionPlayer::block()
|
||||
{
|
||||
sprite_player_ptr->play("block");
|
||||
}
|
||||
|
||||
void GestionPlayer::bigattack()
|
||||
{
|
||||
sprite_player_ptr->play("attack2");
|
||||
}
|
||||
*/
|
@ -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;
|
||||
|
||||
@ -33,19 +35,30 @@ public:
|
||||
Player p;
|
||||
|
||||
public:
|
||||
void traitementInput(float dt);
|
||||
void traitementInput();
|
||||
|
||||
void setPosition(int x, int y);
|
||||
|
||||
private:
|
||||
void droit();
|
||||
void gauche();
|
||||
void bas();
|
||||
void saut();
|
||||
void idle();
|
||||
void attack();
|
||||
//void droit();
|
||||
//void gauche();
|
||||
//void bas();
|
||||
//void saut();
|
||||
//void dash();
|
||||
//void idle();
|
||||
//void attack();
|
||||
//void bigattack();
|
||||
//void block();
|
||||
|
||||
|
||||
void PlayerLogic(float dt);
|
||||
void PlayerLogic_OnGround(float dt);
|
||||
void PlayerLogic_Jump(float dt);
|
||||
void PlayerLogic_FreeFall(float dt);
|
||||
|
||||
public:
|
||||
const float speed = 100.f;
|
||||
float pv = 100;
|
||||
const float GamePlayMultiplicator = 100.0f;
|
||||
const float gravity = 9.8f * GamePlayMultiplicator;
|
||||
const float power_jump = -5.0f * GamePlayMultiplicator;
|
||||
@ -53,10 +66,22 @@ public:
|
||||
bool on_roof = false;
|
||||
bool on_left_wall = false;
|
||||
bool on_right_wall = false;
|
||||
bool right;
|
||||
bool left;
|
||||
bool jump;
|
||||
|
||||
|
||||
struct S_PlayerState
|
||||
{
|
||||
bool right;
|
||||
bool left;
|
||||
bool jump;
|
||||
bool dash;
|
||||
bool idle;
|
||||
bool attack;
|
||||
bool bigattack;
|
||||
bool block;
|
||||
|
||||
bool freefall;
|
||||
|
||||
} playerState;
|
||||
|
||||
private:
|
||||
Vector2 velocity;
|
||||
|
@ -1,5 +1,6 @@
|
||||
#include "MobsCorpACorpIA.h"
|
||||
#include <ConfigFile.hpp>
|
||||
#include <SpriteFrames.hpp>
|
||||
#include <Input.hpp>
|
||||
#include <ResourceLoader.hpp>
|
||||
#include <Texture.hpp>
|
||||
@ -8,7 +9,7 @@
|
||||
|
||||
MobsCorpACorpIA::MobsCorpACorpIA()
|
||||
{
|
||||
sprite_MobsCorpACorp_ptr = Sprite::_new();
|
||||
sprite_MobsCorpACorp_ptr = AnimatedSprite::_new();
|
||||
collision_MobsCorpACorp_ptr = CollisionShape2D::_new();
|
||||
texture_MobsCorpACorp_ptr.instance();
|
||||
texture_MobsCorpACorp_ptr->_new();
|
||||
@ -37,6 +38,7 @@ void MobsCorpACorpIA::_physics_process(float dt)
|
||||
|
||||
void MobsCorpACorpIA::_process(float delta)
|
||||
{
|
||||
animation();
|
||||
}
|
||||
|
||||
void MobsCorpACorpIA::_init()
|
||||
@ -63,20 +65,25 @@ void MobsCorpACorpIA::setupMobsCorpACorp()
|
||||
|
||||
|
||||
//Setup du shape
|
||||
Godot::print("SetUp de Shape Mobs");
|
||||
shape_MobsCorpACorp_ptr.ptr()->_new();
|
||||
|
||||
|
||||
//Chargement de la texture
|
||||
Godot::print("SetUp de Texture Mobs");
|
||||
texture_MobsCorpACorp_ptr = ResourceLoader::get_singleton()->load("res://Character/Fire Elemental Sprite Sheet/fireelemental00.png");
|
||||
|
||||
//setup du sprite
|
||||
Godot::print("SetUp de Sprite Mobs");
|
||||
sprite_MobsCorpACorp_ptr->set_texture(texture_MobsCorpACorp_ptr);
|
||||
//Godot::print("SetUp de Sprite");
|
||||
Ref<SpriteFrames> spriteFrames = ResourceLoader::get_singleton()->load("res://Character/Fire Elemental Sprite Sheet/fireelement.tres");
|
||||
sprite_MobsCorpACorp_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]);
|
||||
}
|
||||
|
||||
//setup du collision Shape
|
||||
Godot::print("SetUp de CollisionShape Mobs");
|
||||
collision_MobsCorpACorp_ptr->set_shape(shape_MobsCorpACorp_ptr);
|
||||
}
|
||||
|
||||
|
||||
@ -133,6 +140,32 @@ void MobsCorpACorpIA::mouvement(float dt)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
void MobsCorpACorpIA::animation()
|
||||
{
|
||||
|
||||
if (m.velocity.x > 0.0f)
|
||||
{
|
||||
sprite_MobsCorpACorp_ptr->play("walk");
|
||||
sprite_MobsCorpACorp_ptr->set_flip_h(false);
|
||||
}
|
||||
else if (m.velocity.x < 0.0f)
|
||||
{
|
||||
sprite_MobsCorpACorp_ptr->play("walk");
|
||||
sprite_MobsCorpACorp_ptr->set_flip_h(true);
|
||||
}
|
||||
else if (pv <=0 )
|
||||
{
|
||||
sprite_MobsCorpACorp_ptr->play("dead");
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite_MobsCorpACorp_ptr->play("idle");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
void MobsCorpACorpIA::droit()
|
||||
|
@ -15,7 +15,7 @@ class MobsCorpACorpIA : public KinematicBody2D
|
||||
{
|
||||
|
||||
public:
|
||||
Sprite* sprite_MobsCorpACorp_ptr;
|
||||
AnimatedSprite* sprite_MobsCorpACorp_ptr;
|
||||
CollisionShape2D* collision_MobsCorpACorp_ptr;
|
||||
|
||||
Ref<Resource> texture_MobsCorpACorp_ptr;
|
||||
@ -35,6 +35,7 @@ public:
|
||||
void _process(float delta);
|
||||
void _init();
|
||||
void _ready();
|
||||
void animation();
|
||||
|
||||
private:
|
||||
void droit();
|
||||
@ -61,6 +62,7 @@ public:
|
||||
public:
|
||||
void Action();
|
||||
const float GamePlayMultiplicator = 100.0f;
|
||||
float pv = 100.0f;
|
||||
const float gravity = 9.8f * GamePlayMultiplicator;
|
||||
const float speed = 50.f;
|
||||
const float power_jump = -2.0f * GamePlayMultiplicator;
|
||||
|
Loading…
Reference in New Issue
Block a user