From 74fbc1ed6c41ce31c0751537fd49724359ab891a Mon Sep 17 00:00:00 2001 From: Amaury Date: Tue, 31 Mar 2020 11:09:47 +0200 Subject: [PATCH] Changement Gestion Player --- .../DungeonAndDemaonScript/GestionJeu.cpp | 3 +- .../DungeonAndDemaonScript/GestionPlayer.cpp | 51 +++++++------------ .../DungeonAndDemaonScript/GestionPlayer.h | 5 +- 3 files changed, 24 insertions(+), 35 deletions(-) diff --git a/DungeonAndDeamonScript/DungeonAndDemaonScript/GestionJeu.cpp b/DungeonAndDeamonScript/DungeonAndDemaonScript/GestionJeu.cpp index bd11f0b..4d73dce 100644 --- a/DungeonAndDeamonScript/DungeonAndDemaonScript/GestionJeu.cpp +++ b/DungeonAndDeamonScript/DungeonAndDemaonScript/GestionJeu.cpp @@ -51,13 +51,14 @@ void GestionJeu::_process() void GestionJeu::create_scene() { - Godot::print("Add childs"); add_child(gPlayer); add_child(gTerrain); } void GestionJeu::setup_scene() { + gPlayer->setPosition(15, 150); + gTerrain->AjoutSolSolide(1, 1, 10, 300); } diff --git a/DungeonAndDeamonScript/DungeonAndDemaonScript/GestionPlayer.cpp b/DungeonAndDeamonScript/DungeonAndDemaonScript/GestionPlayer.cpp index 4f0e3de..c312654 100644 --- a/DungeonAndDeamonScript/DungeonAndDemaonScript/GestionPlayer.cpp +++ b/DungeonAndDeamonScript/DungeonAndDemaonScript/GestionPlayer.cpp @@ -8,11 +8,9 @@ GestionPlayer::GestionPlayer() { sprite_player_ptr = Sprite::_new(); - collision_player_ptr = CollisionShape2D::_new(); + texture_player_ptr.instance(); texture_player_ptr->_new(); - shape_player_ptr.instance(); - shape_player_ptr->_new(); } void GestionPlayer::_register_methods() @@ -45,29 +43,10 @@ void GestionPlayer::_ready() void GestionPlayer::createPlayer() { add_child(sprite_player_ptr); - add_child(collision_player_ptr); } 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 //Godot::print("SetUp de Texture"); 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 //Godot::print("SetUp de Sprite"); 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() @@ -95,9 +70,6 @@ void GestionPlayer::traitementInput() if (i->is_action_pressed("ui_select")) saut(); - - - if (is_on_floor()) { on_ground = true; 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() { Godot::print("Deplacement a droite"); @@ -126,9 +115,7 @@ void GestionPlayer::bas() void GestionPlayer::saut() { - - p.velocity.y = power_jump; - + p.velocity.y = power_jump; } void GestionPlayer::idle() diff --git a/DungeonAndDeamonScript/DungeonAndDemaonScript/GestionPlayer.h b/DungeonAndDeamonScript/DungeonAndDemaonScript/GestionPlayer.h index b8314ca..bfa77b4 100644 --- a/DungeonAndDeamonScript/DungeonAndDemaonScript/GestionPlayer.h +++ b/DungeonAndDeamonScript/DungeonAndDemaonScript/GestionPlayer.h @@ -13,10 +13,8 @@ class GestionPlayer : public KinematicBody2D { public: Sprite* sprite_player_ptr; - CollisionShape2D* collision_player_ptr; Ref texture_player_ptr; - Ref shape_player_ptr; private: GODOT_CLASS(GestionPlayer, KinematicBody2D) @@ -36,7 +34,10 @@ public: public: void traitementInput(); + + void setPosition(int x, int y); +private: void droit(); void gauche(); void bas();