Ajout des 4 maps

This commit is contained in:
Fife 2016-06-16 13:59:44 +01:00
parent 20fcc83f04
commit 7a3d3e6326
6 changed files with 486 additions and 360 deletions

32
GUI.cpp
View File

@ -80,25 +80,33 @@ void Script_GUI::Lose()
{
bool cinematic = true;
int y = GetEngine()->ListeObject[0]->OTransforms->GetY();
Object * Kirby;
for(int i = 0 ; i < GetEngine()->GetCurrentLevel()->GetNbObject() ; i++ )
{
if(!strcmp(GetEngine()->GetCurrentLevel()->GetListeObject()[i]->GetTag(), "Kirby"))Kirby = GetEngine()->GetCurrentLevel()->GetListeObject()[i];
}
int y = Kirby->GetTransform()->GetY();
float force = 4.5;
GetEngine()->ListeObject[0]->ORender->SetIt(11);
Kirby->GetRender()->ForceSetIt(11);
ML_clear_vram();
GetEngine()->gamemap->AfficherMap();
GetEngine()->ListeObject[0]->OTransforms->SetY(y);
GetEngine()->GetCurrentLevel()->DrawMap();
Kirby->GetTransform()->SetY(y);
GetEngine()->UpdateRelativePosition();
GetEngine()->ListeObject[0]->ORender->DrawObject();
this->Update();
Kirby->GetRender()->DrawObject();
Update();
ML_display_vram();
Sleep(400);
while(cinematic == true)
while(cinematic)
{
y += force;
@ -108,14 +116,14 @@ void Script_GUI::Lose()
if(y < -16) cinematic = false;
GetEngine()->gamemap->AfficherMap();
GetEngine()->GetCurrentLevel()->DrawMap();
GetEngine()->ListeObject[0]->OTransforms->SetY(y);
Kirby->GetTransform()->SetY(y);
GetEngine()->UpdateRelativePosition();
GetEngine()->ListeObject[0]->ORender->DrawObject();
this->Update();
Kirby->GetRender()->DrawObject();
Update();
ML_display_vram();
@ -129,7 +137,7 @@ void Script_GUI::Lose()
TryAgain();
}
GetEngine()->ListeObject[0]->OTransforms->SetXY(0, 17);
Kirby->GetTransform()->SetXY(8, 32);
}
void Script_GUI::TryAgain()

View File

@ -1,7 +1,7 @@
#ifndef GUI
#define GUI
#include "..\C-Engine\CHeader.hpp"
#include "..\C-Engine\CEngine.hpp"
class Script_GUI: public Script
{

116
Kirby.cpp
View File

@ -1,98 +1,78 @@
#include "..\C-Engine\CHeader.hpp"
#include "..\C-Engine\CEngine.hpp"
#include "Sources\Script_Control.hpp"
#include "Sources\IA_Monstre.hpp"
#include "Sources\GUI.hpp"
#include "Script_Control.hpp"
#include "GUI.hpp"
int Niveau1()
{
#include "Sources\Sprite.hpp" // Inclusion des sprites.
#include "Sprite.hpp" // Inclusion des sprites.
//*****************Creation des objects******************
Object Kirby;
Kirby.OTransforms->SetXY(8, 30);
Kirby.ORender->SetRender(A_Kirby , 12);
Kirby.ORigibody = new Rigibody(&Kirby);
Kirby.ORigibody->SetMass(1);
Kirby.ORigibody->AddForce(0 , -15);
Kirby.AffectTag("Kirby");
Object Ours;
Ours.OTransforms->SetXY(200 , 18);
Ours.ORender->SetRender(A_Ours);
Ours.ORigibody = new Rigibody(&Ours);
Ours.ORigibody->SetMass(5);
Ours.AffectTag("Ennemis");
Object Piaf;
Piaf.OTransforms->SetXY(300 , 34);
Piaf.ORender->SetRender(A_Piaf , 2);
Piaf.ORigibody = new Rigibody(&Piaf);
Piaf.ORigibody->SetMass(1);
Piaf.AffectTag("Ennemis");
Object Champignon;
Champignon.OTransforms->SetXY( 500 , 18);
Champignon.ORender->SetRender( A_Champ , 2);
Champignon.ORigibody = new Rigibody(&Champignon);
Champignon.ORigibody->SetMass(1);
Champignon.AffectTag("Ennemis");
Object Etoile;
Etoile.OTransforms->SetXY(1250 , 52);
Etoile.ORender->SetRender(A_Etoile);
Etoile.AffectTag("Etoile");
Object Aspiration;
Aspiration.ORender->SetRender(A_Aspiration);
Aspiration.AffectTag("Aspiration");
Object * Kirby = new Object;
Kirby->GetTransform()->SetXY(8, 32);
Kirby->GetRender()->SetRender(A_Kirby , 12);
Control * Kirby_Script = new Control;
IaOurs * Ours_Script = new IaOurs;
IaPiaf * Piaf_Script = new IaPiaf;
IaChamp * Champignon_Script = new IaChamp;
SAspi * Aspiration_Script = new SAspi;
Kirby->AffectScript(Kirby_Script);
Kirby.AffectScript(Kirby_Script);
Ours.AffectScript(Ours_Script);
Piaf.AffectScript(Piaf_Script);
Champignon.AffectScript(Champignon_Script);
Aspiration.AffectScript(Aspiration_Script);
Object * Aspiration = new Object;
Aspiration->GetRender()->SetRender(A_Aspiration);
Aspiration->AffectTag("Aspiration");
SAspi * Aspiration_Script = new SAspi;
Aspiration->AffectScript(Aspiration_Script);
Script_GUI * Game_GUI = new Script_GUI;
Kirby_Script->Initialisation( A_Star , A_Soufle , Aspiration , Game_GUI );
//***********Creation de la map***************
Map Niveau1;
Niveau1.SetMap(Tileset1 , map1 , TileProp , 16 , 16 , 81 ,7);
Level * L_GreenGreen1 = new Level;
L_GreenGreen1->SetMap(GreenGreenTileset , GreenGreen1 , GreenGreenProp , 16 , 16 , 90 , 8);
Level * L_GreenGreen2 = new Level;
L_GreenGreen2->SetMap(GreenGreenTileset , GreenGreen2 , GreenGreenProp , 16 , 16 , 82 , 8);
Level * L_GreenGreen3 = new Level;
L_GreenGreen3->SetMap(GreenGreenTileset , GreenGreen3 , GreenGreenProp , 16 , 16 , 16 , 40);
Level * L_GreenGreen4 = new Level;
L_GreenGreen4->SetMap(GreenGreenTileset , GreenGreen4 , GreenGreenProp , 16 , 16 , 10 , 24);
Level * L_GreenGreen5 = new Level;
L_GreenGreen5->SetMap(GreenGreenTileset , GreenGreen5 , GreenGreenProp , 16 , 16 , 15 , 8);
Level * GreenGreenWorld[] = { L_GreenGreen1 , L_GreenGreen2 , L_GreenGreen3 , L_GreenGreen4 , L_GreenGreen5};
Trigger * Trigger1 = new Trigger; Trigger1->CreateTrigger( 688 , 32 , 16 , 25 ); Trigger1->SetDestination( 112 , 48 , 4 , "Kirby");
Trigger * Trigger2 = new Trigger; Trigger2->CreateTrigger( 112 , 48 , 16 , 25 ); Trigger2->SetDestination( 688 , 32 , 0 , "Kirby");
Trigger * Trigger3 = new Trigger; Trigger3->CreateTrigger( 1200 , 16 , 16 , 25 ); Trigger3->SetDestination( 96 , 32 , 2 , "Kirby");
Trigger * Trigger4 = new Trigger; Trigger4->CreateTrigger( 128 , 544 , 16 , 25 ); Trigger4->SetDestination( 16 , 336 , 3 , "Kirby");
Trigger * Trigger5 = new Trigger; Trigger5->CreateTrigger( 1250 , 68 , 16 , 16 ); Trigger5->SetDestination( 8 , 16 , 1 , "Kirby"); Trigger5->GetRender()->SetRender(A_Star);
//**************Assignation des objects************
Engine Game;
Game.AddObject( & Kirby);
Game.AddObject( & Champignon);
Game.AddObject( & Piaf);
Game.AddObject( & Ours);
Game.AddObject( & Etoile);
Game.SetLevel(GreenGreenWorld,5);
Game.AffectMap( &Niveau1);
Game.AddObject(Trigger1,0);
Game.AddObject(Trigger2,4);
Game.AddObject(Trigger3,1);
Game.AddObject(Trigger4,2);
Game.AddObject(Trigger5,0);
Niveau1.AffectEngine( &Game);
Game.SetCurrentLevel(0);
Script_GUI Game_GUI;
Game.AddObject(Kirby,0);
Game.AffectScript(Game_GUI);
Game.AffectGui(Game_GUI);
Kirby_Script->Initialisation( A_Etoile , A_Soufle , &Aspiration , &Game_GUI );
Game.SetFpsWish(4);
Game.SetType(1);
Game.Game();
Game.StartGame();
return 1;

View File

@ -5,302 +5,305 @@
void Control::Start()
{
direction = false;
couldown = 0;
isground = false;
isdo = false; // Si réalise une action True
isaspi = false;
isfull = 0;
ishurt = 0;
Ventre = Vide;
direction = 0;
GetEngine()->AddObject(OAspi);
GetObject()->ORigibody->UseFixeBody(16,16);
GetObject()->AddRigidBody();
GetObject()->GetRigidBody()->SetMass(2);
GetObject()->GetRigidBody()->UseFixeBody(16,16);
GetObject()->AffectTag("Kirby");
oldx = GetObject()->GetTransform()->GetX();
oldy = GetObject()->GetTransform()->GetY();
}
void Control::Teleport( int x , int y , int level )
{
if(input_trigger(K_UP))
{
GetEngine()->GetCurrentLevel()->DrawLevel();
for(int i = 0 ; i < 190 ; i ++)
{
ML_line(0,i,i,0,ML_BLACK);
ML_display_vram();
Sleep(3);
}
GetEngine()->MoveObject(GetObject(),level);
GetEngine()->MoveObject(OAspi,level);
GetEngine()->SetCurrentLevel(level);
GetObject()->GetTransform()->SetXY(x,y);
input_update();
}
}
void Control::Update()
{
if(GetEngine()->GetIdCurrentLevel() < 3)GenerateMonster();
if( GetObject()->ORigibody->CollisionDecor( GetX() , ( GetY() - 1 )) == 1) isground = true;
else isground = false;
//Check si on touche le sol ou une plateforme
isground = GetObject()->GetRigidBody()->CollisionDecor( GetObject()->GetTransform()->GetX() , GetObject()->GetTransform()->GetY() - 1 );
if(!mod(GetObject()->GetTransform()->GetY() , 16) && GetObject()->GetRigidBody()->GetBody()->velocity.y < 11 )
{
int cas1 = GetEngine()->GetCurrentLevel()->GetIdMap( GetObject()->GetTransform()->GetX() , GetObject()->GetTransform()->GetY() - 1 , true );
int cas2 = GetEngine()->GetCurrentLevel()->GetIdMap( GetObject()->GetTransform()->GetX() + 16 , GetObject()->GetTransform()->GetY() - 1 , true );
if(cas1 == 58)cas1 = 56;
if(cas2 == 58)cas2 = 56;
if(cas1 == 56 || ( mod(GetObject()->GetTransform()->GetX() , 16) && cas2 == 56) )
{
GetObject()->GetRigidBody()->GetBody()->velocity.y = 10;
isground = true;
if(input_press(K_DOWN))
{
GetObject()->GetRigidBody()->GetBody()->velocity.y = - 11;
isground = false;
}
}
}
//Initialise à 0 l'action du joueur
isdo = false;
if(ishurt == 0)
//On vérifie si le joueur n'a pas pris un dégat
if(ishurt)//Si oui allors on le recule
{
GetObject()->GetRender()->ForceSetIt(2);
if( Ventre == Vide)
if(ishurt > 15)
{
if(input_release(K_OPTN) && isaspi == true)
{
OAspi->OTransforms->SetXY(-1000 , - 1000);
isaspi = false;
}
if(input_press(K_OPTN))
{
isaspi = true;
if(direction == false)
{
OAspi->OTransforms->SetXY( GetX() + 16 , GetY());
OAspi->ORender->ReverseRender(false);
}
else
{
OAspi->OTransforms->SetXY( GetX() - 40 , GetY());
OAspi->ORender->ReverseRender(true);
}
SetIt(3);
isdo = true;
}
//***************************//
if(input_press(K_DOWN))
{
SetIt(10);
isdo = true;
}
else
{
//***************************//
if(input_trigger(K_SHIFT))
{
if(isground == true)
{
GetObject()->ORigibody->R_body.velocity.y = 25;
SetIt(2);
isdo = true;
}
}
else
{
if(input_trigger(K_UP))
{
Ventre = Air;
SetIt(9);
isdo = true;
}
}
//***************************//
if(input_press(K_RIGHT) && (isground == true && GetObject()->ORender->GetIt() == 3) == false)
{
Move( 2 , 0 );
direction = false;
if(GetObject()->ORender->GetIt() != 3)SetIt(1);
isdo = true;
}
else
{
if(input_press(K_LEFT) && (isground == true && GetObject()->ORender->GetIt() == 3) == false)
{
Move( -2 , 0 );
direction = true;
if(GetObject()->ORender->GetIt() != 3)SetIt(1);
isdo = true;
}
}
}
//***************************//
if(isground == false && GetObject()->ORender->GetIt() != 3)SetIt(2);
else if(isdo == false)SetIt(0);
GetObject()->GetRigidBody()->GetBody()->velocity.x = 40 * ((direction) - (!direction));
GetObject()->GetRigidBody()->GetBody()->velocity.y = 45;
}
else
{
if(input_press(K_RIGHT))
{
Move( 2 , 0 );
direction = false;
if(isground == true)SetIt(5);
isdo = true;
}
else
{
if(input_press(K_LEFT))
{
Move( -2 , 0 );
direction = true;
if(isground == true)SetIt(5);
isdo = true;
}
}
//***************************//
if(input_trigger(K_UP))
{
if(Ventre == Air)
{
GetObject()->ORigibody->R_body.velocity.y = 25;
SetIt(7);
isdo = true;
}
}
else
{
if(input_trigger(K_SHIFT))
{
if(isground == true)
{
GetObject()->ORigibody->R_body.velocity.y = 25;
SetIt(6);
isdo = true;
}
}
}
//***************************//
if(input_trigger(K_OPTN))
{
if(Ventre == Air)
{
Object * Buffer = new Object;
SSoufle * ScriptSouffle = new SSoufle;
ScriptSouffle->time = 12;
ScriptSouffle->Interface = Interface;
Buffer->AffectTag("Souffle");
Buffer->ORender->SetRender(RenderSouffle);
Buffer->AffectScript(ScriptSouffle);
GetEngine()->AddObject(Buffer);
if(direction == false)
{
Buffer->OTransforms->SetXY( GetX() + 16 , GetY() + 8 );
Buffer->ORender->ReverseRender(false);
ScriptSouffle->direction = false;
}
else
{
Buffer->OTransforms->SetXY( GetX(), GetY() + 8 );
Buffer->ORender->ReverseRender(true);
ScriptSouffle->direction = true;
}
}
if(Ventre == Plein)
{
Object * Buffer = new Object;
SStar * ScriptStar = new SStar;
ScriptStar->Interface = Interface;
Buffer->ORender->SetRender(RenderEtoile);
Buffer->AffectScript(ScriptStar);
Buffer->ORigibody = new Rigibody(Buffer);
GetEngine()->AddObject(Buffer);
if(direction == false)
{
Buffer->OTransforms->SetXY( GetX() + 16 , GetY() + 8 );
Buffer->ORender->ReverseRender(false);
ScriptStar->direction = false;
}
else
{
Buffer->OTransforms->SetXY( GetX(), GetY() + 8 );
Buffer->ORender->ReverseRender(true);
ScriptStar->direction = true;
}
}
Ventre = Vide;
SetIt(8);
isdo = true;
}
//***************************//
if(isground == false)
{
if(GetObject()->ORender->GetIt() != 6 && GetObject()->ORender->GetIt() != 7)SetIt(7);
}
else if(isdo == false )SetIt(4);
GetObject()->GetRigidBody()->GetBody()->velocity.x = 0;
GetObject()->GetRigidBody()->GetBody()->velocity.y = 0;
}
ishurt --;
}
else //Sinon le joueur peut le controller
{
Object * Ennemi = GetObject()->GetObjectCollisionTag("Ennemis");
//Test de sui on touche un ennemi
GetObject()->ORender->ReverseRender(direction);
Object * Ennemi = GetObject()->CollisionTagO("Ennemis");
if(Ennemi != NULL )
if(Ennemi)
{
GetEngine()->DelObject(Ennemi);
if(isaspi == false)
if(!isaspi)
{
Ventre = Vide;
GetEngine()->DelObject(Ennemi);
isfull = 0;
ishurt = 20;
Interface->AddScore(400);
Interface->DelVie(1);
ishurt = 20;
}
else
{
Ventre = Plein;
GetEngine()->DelObject(Ennemi);
isfull = 2;
Interface->AddScore(200);
}
}
}
else
{
GetObject()->ORigibody->R_body.velocity.x = -20;
GetObject()->ORigibody->R_body.velocity.y = 10;
ishurt --;
}
//Test de si kirby aspire
if(input_press(K_OPTN) && !isfull)isaspi = true;
if(input_release(K_OPTN) && !isfull || isfull)isaspi = false;
if(isaspi)
{
OAspi->Enable();
if(direction)
{
OAspi->GetTransform()->SetXY( GetObject()->GetTransform()->GetX() - 40 , GetObject()->GetTransform()->GetY());
OAspi->GetRender()->ReverseRender(true);
}
else
{
OAspi->GetTransform()->SetXY( GetObject()->GetTransform()->GetX() + 16 , GetObject()->GetTransform()->GetY());
OAspi->GetRender()->ReverseRender(false);
}
GetObject()->GetRender()->SetIt(3);
isdo = true;
}
else
{
OAspi->Disable();
if(input_trigger(K_OPTN))
{
GetObject()->GetRender()->SetIt(8);
if( GetY() < 2)
Object * Buffer = new Object;
SSoufle * ScriptSouffle = new SSoufle;
SStar * ScriptStar = new SStar;
switch(isfull)
{
case 1:
delete ScriptStar;
ScriptSouffle->time = 12;
ScriptSouffle->Interface = Interface;
Buffer->GetRender()->SetRender(RenderSouffle);
Buffer->AffectScript(ScriptSouffle);
if(!direction)ScriptSouffle->direction = false;
else ScriptSouffle->direction = true;
break;
case 2:
delete ScriptSouffle;
ScriptStar->Interface = Interface;
Buffer->GetRender()->SetRender(RenderEtoile);
Buffer->AffectScript(ScriptStar);
Buffer->AddRigidBody();
if(!direction)ScriptStar->direction = false;
else ScriptStar->direction = true;
break;
default:
break;
}
GetEngine()->AddObject(Buffer);
if(!direction)
{
Buffer->GetTransform()->SetXY( GetObject()->GetTransform()->GetX() + 16 , GetObject()->GetTransform()->GetY() + 8 );
Buffer->GetRender()->ReverseRender(false);
}
else
{
Buffer->GetTransform()->SetXY( GetObject()->GetTransform()->GetX(), GetObject()->GetTransform()->GetY() + 8 );
Buffer->GetRender()->ReverseRender(true);
}
isfull = 0;
isdo = true;
}
//Test des directions
if(input_press(K_RIGHT))
{
GetObject()->GetRigidBody()->Move( 2 , 0 );
direction = false;
if(isfull)
{
if(isground)GetObject()->GetRender()->SetIt(5);
}
else
GetObject()->GetRender()->SetIt(1);
isdo = true;
}
else if(input_press(K_LEFT))
{
GetObject()->GetRigidBody()->Move( -2 , 0 );
direction = true;
if(isfull)
{
if(isground)GetObject()->GetRender()->SetIt(5);
}
else
GetObject()->GetRender()->SetIt(1);
isdo = true;
}
//Test du saut
if(input_trigger(K_SHIFT) && isground)
{
GetObject()->GetRigidBody()->GetBody()->velocity.y = 42;
if(isfull)
GetObject()->GetRender()->SetIt(6);
else
GetObject()->GetRender()->SetIt(2);
isdo = true;
}
//Test de l'accroupisement
if(input_press(K_DOWN) && !isdo && !isfull)
{
GetObject()->GetRender()->SetIt(10);
isdo = true;
}
if(isfull)
{
if(!isground)
{
if(GetObject()->GetRender()->GetIt() != 6 )GetObject()->GetRender()->SetIt(7);
}
else if(!isdo)GetObject()->GetRender()->SetIt(4);
}
else
{
if(!isground)GetObject()->GetRender()->SetIt(2);
else if(!isdo)GetObject()->GetRender()->SetIt(0);
}
if(input_trigger(K_UP))
{
if(isfull == 1)
{
GetObject()->GetRigidBody()->GetBody()->velocity.y = 35;
GetObject()->GetRender()->SetIt(7);
}
if(!isfull)
{
isfull = 1;
GetObject()->GetRender()->SetIt(9);
}
isdo = true;
}
}
}
GetObject()->GetRender()->ReverseRender(direction);
if( GetObject()->GetTransform()->GetY() < 3)
{
Ventre = Vide;
isfull = 0;
Interface->DelVie(6);
direction = false;
}
if(GetObject()->CollisionTag("Etoile"))
{
ML_clear_vram();
PrintMini(10,30,"Bravo vous venez de sauvez" , 0);
PrintMini(40,38,"la Terre XD" , 0);
ML_display_vram();
Sleep(2500);
GetEngine()->StopGame();
}
GetEngine()->MiddleScreen( GetX() , (GetY() + 2));
GetEngine()->MiddleScreen( GetObject()->GetTransform()->GetX() + 12, (GetObject()->GetTransform()->GetY() + 16));
}
void Control::Initialisation(Animation E, Animation S , Object * A , Script_GUI * G)
@ -313,22 +316,43 @@ void Control::Initialisation(Animation E, Animation S , Object * A , Script_GUI
Interface = G;
}
void Control::GenerateMonster()
{
if(abs(oldx - GetObject()->GetTransform()->GetX()) > 15 || abs(oldy - GetObject()->GetTransform()->GetY()) > 15)
{
if(!rand_int(8))
{
Object * Buffer = new Object;
Buffer->GetTransform()->SetXY(16,32);
Buffer->AddRigidBody();
Buffer->GetRender()->CopieRender(RenderEtoile);
Buffer->AffectTag("Ennemis");
GetEngine()->AddObject(Buffer);
}
oldx = GetObject()->GetTransform()->GetX();
oldy = GetObject()->GetTransform()->GetY();
}
}
void SAspi::Update()
{
Object * Buffer = NULL;
Buffer = GetObject()->CollisionTagO("Ennemis");
Buffer = GetObject()->GetObjectCollisionTag("Ennemis");
if( Buffer != NULL)
{
if(GetObject()->ORender->GetReverse()== false)
if(GetObject()->GetRender()->GetReverse()== false)
{
Buffer->ORigibody->Move(-2,0);
Buffer->GetRigidBody()->Move(-2,0);
}
else
{
Buffer->ORigibody->Move(2,0);
Buffer->GetRigidBody()->Move(2,0);
}
}
}
@ -337,13 +361,13 @@ void SSoufle::Update()
{
if(time > 0)
{
if(direction == true)SetXY( GetX() - 3 , GetY() );
else SetXY( GetX() + 3 , GetY() );
if(direction == true)GetObject()->GetTransform()->SetXY( GetObject()->GetTransform()->GetX() - 3 , GetObject()->GetTransform()->GetY() );
else GetObject()->GetTransform()->SetXY( GetObject()->GetTransform()->GetX() + 3 , GetObject()->GetTransform()->GetY() );
}
time--;
Object * Buffer = GetObject()->CollisionTagO("Ennemis");
Object * Buffer = GetObject()->GetObjectCollisionTag("Ennemis");
if(Buffer != NULL)
{
@ -366,22 +390,24 @@ void SStar::Update()
if(direction == true)
{
SetXY( GetX() - 3 , GetY() );
if(GetObject()->ORigibody->CollisionDecor(GetX() - 3 , GetY()))
GetObject()->GetTransform()->SetXY( GetObject()->GetTransform()->GetX() - 3 , GetObject()->GetTransform()->GetY() );
if(GetObject()->GetRigidBody()->CollisionDecor(GetObject()->GetTransform()->GetX() - 3 , GetObject()->GetTransform()->GetY()))
{
GetEngine()->DelObject(GetObject());return;
}
}
else
{
SetXY( GetX() + 3 , GetY() );
if(GetObject()->ORigibody->CollisionDecor(GetX() + 3 , GetY()))
GetObject()->GetTransform()->SetXY( GetObject()->GetTransform()->GetX() + 3 , GetObject()->GetTransform()->GetY() );
if(GetObject()->GetRigidBody()->CollisionDecor(GetObject()->GetTransform()->GetX() + 3 , GetObject()->GetTransform()->GetY()))
if(GetObject()->GetRigidBody()->CollisionDecor(GetObject()->GetTransform()->GetX() + 3 , GetObject()->GetTransform()->GetY()))
if(GetObject()->GetRigidBody()->CollisionDecor(GetObject()->GetTransform()->GetX() + 3 , GetObject()->GetTransform()->GetY()))
{
GetEngine()->DelObject(GetObject());return;
}
}
Object * Buffer = GetObject()->CollisionTagO("Ennemis");
Object * Buffer = GetObject()->GetObjectCollisionTag("Ennemis");
if(Buffer != NULL)
{

View File

@ -1,7 +1,7 @@
#ifndef SCRIPTCONTROL
#define SCRIPTCONTROL
#include "..\C-Engine\CHeader.hpp"
#include "..\C-Engine\CEngine.hpp"
#include "GUI.hpp"
//Kirby script
@ -43,16 +43,21 @@ class Control: public Script
void Start();
void Update();
void Initialisation(Animation E, Animation S , Object * A , Script_GUI * G);
void Teleport( int x , int y , int level );
void GenerateMonster();
private:
bool isground; // Si Touche le sol True
bool isdo; // Si réalise une action True
bool direction; // Direction du personnage True = Gauche
bool isaspi;
int isfull;
int ishurt;
int couldown;
Contenu Ventre;
bool direction; // Direction du personnage True = Gauche
int oldx;
int oldy;
Animation RenderSouffle;
Animation RenderEtoile;

File diff suppressed because one or more lines are too long