Changement Gestion Player

This commit is contained in:
Amaury 2020-03-31 11:09:47 +02:00
parent 8143db69b1
commit 74fbc1ed6c
3 changed files with 24 additions and 35 deletions

View File

@ -51,13 +51,14 @@ void GestionJeu::_process()
void GestionJeu::create_scene() void GestionJeu::create_scene()
{ {
Godot::print("Add childs");
add_child(gPlayer); add_child(gPlayer);
add_child(gTerrain); add_child(gTerrain);
} }
void GestionJeu::setup_scene() void GestionJeu::setup_scene()
{ {
gPlayer->setPosition(15, 150);
gTerrain->AjoutSolSolide(1, 1, 10, 300);
} }

View File

@ -8,11 +8,9 @@
GestionPlayer::GestionPlayer() GestionPlayer::GestionPlayer()
{ {
sprite_player_ptr = Sprite::_new(); sprite_player_ptr = Sprite::_new();
collision_player_ptr = CollisionShape2D::_new();
texture_player_ptr.instance(); texture_player_ptr.instance();
texture_player_ptr->_new(); texture_player_ptr->_new();
shape_player_ptr.instance();
shape_player_ptr->_new();
} }
void GestionPlayer::_register_methods() void GestionPlayer::_register_methods()
@ -45,29 +43,10 @@ void GestionPlayer::_ready()
void GestionPlayer::createPlayer() void GestionPlayer::createPlayer()
{ {
add_child(sprite_player_ptr); add_child(sprite_player_ptr);
add_child(collision_player_ptr);
} }
void GestionPlayer::setupPlayer() void GestionPlayer::setupPlayer()
{ {
Transform2D t;
Vector2 v;
Size2 s;
//setup de la size
s.x = 1;
s.y = 1;
v.x = 10;
v.y = 500;
t.set_origin(v);
t.scale(s);
set_transform(t);
//Setup du shape
//Godot::print("SetUp de Shape");
shape_player_ptr.ptr()->_new();
//Chargement de la texture //Chargement de la texture
//Godot::print("SetUp de Texture"); //Godot::print("SetUp de Texture");
texture_player_ptr = ResourceLoader::get_singleton()->load("res://Character/Hero Knight/HeroKnight/Layer 1_sprite_01.png"); texture_player_ptr = ResourceLoader::get_singleton()->load("res://Character/Hero Knight/HeroKnight/Layer 1_sprite_01.png");
@ -75,10 +54,6 @@ 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); sprite_player_ptr->set_texture(texture_player_ptr);
//setup du collision Shape
//Godot::print("SetUp de CollisionShape");
collision_player_ptr->set_shape(shape_player_ptr);
} }
void GestionPlayer::traitementInput() void GestionPlayer::traitementInput()
@ -95,9 +70,6 @@ void GestionPlayer::traitementInput()
if (i->is_action_pressed("ui_select")) if (i->is_action_pressed("ui_select"))
saut(); saut();
if (is_on_floor()) { if (is_on_floor()) {
on_ground = true; on_ground = true;
p.velocity.y += 0; p.velocity.y += 0;
@ -108,6 +80,23 @@ void GestionPlayer::traitementInput()
} }
} }
void GestionPlayer::setPosition(int x, int y)
{
Transform2D t;
Vector2 v;
Size2 s;
//setup de la size
s.x = 1;
s.y = 1;
v.x = x;
v.y = y;
t.set_origin(v);
t.scale(s);
set_transform(t);
}
void GestionPlayer::droit() void GestionPlayer::droit()
{ {
Godot::print("Deplacement a droite"); Godot::print("Deplacement a droite");
@ -126,9 +115,7 @@ void GestionPlayer::bas()
void GestionPlayer::saut() void GestionPlayer::saut()
{ {
p.velocity.y = power_jump;
p.velocity.y = power_jump;
} }
void GestionPlayer::idle() void GestionPlayer::idle()

View File

@ -13,10 +13,8 @@ class GestionPlayer : public KinematicBody2D
{ {
public: public:
Sprite* sprite_player_ptr; Sprite* sprite_player_ptr;
CollisionShape2D* collision_player_ptr;
Ref<Resource> texture_player_ptr; Ref<Resource> texture_player_ptr;
Ref<CircleShape2D> shape_player_ptr;
private: private:
GODOT_CLASS(GestionPlayer, KinematicBody2D) GODOT_CLASS(GestionPlayer, KinematicBody2D)
@ -37,6 +35,9 @@ public:
public: public:
void traitementInput(); void traitementInput();
void setPosition(int x, int y);
private:
void droit(); void droit();
void gauche(); void gauche();
void bas(); void bas();