Historique des modifications - Message

Message #10024

Sujet: Animation football


Type Date Auteur Contenu
Création du message 05-06-2011 09:18:01 defrgly
En suivant tes conseils, voilà ce que ça donne si j'ai bien analysé tes dires.
En espérant que ça corresponde à ce que tu m'as expliqué.

J'ai créé une classe Player qui possède une seule donnée : IAnimatedMeshSceneNode* node
J'ai fait les constructeurs pour alimenter cette donnée.
Et j'ai fait 2 méthodes pour bouger le node (orientation et positionnement).



Code c++ :

player.h


[...]

class Player
{
    private:
        IAnimatedMeshSceneNode* node;

    public:
		Player(IAnimatedMesh* mesh); // Constructeur
		Player(IAnimatedMesh* mesh,int x,int z); // Constructeur
		void move(int x, int z);
		void rotate(int x, int z);
};

[...]




Code c++ :

player.cpp


#include "Player.h"

Player::Player(mesh)
{
	node = smgr->addAnimatedMeshSceneNode(mesh);
	node->setMaterialFlag(EMF_LIGHTING, false);
	node->setMaterialTexture( 0, driver->getTexture("../../media/sydney.bmp") );
	node->setMD2Animation(scene::EMAT_RUN);
	node->setPosition(vector3df(0,0,0));
	node->setRotation(vector3df(0,0,0));
}

Player::Player(mesh,x,z)
{
	node = smgr->addAnimatedMeshSceneNode(mesh);
	node->setMaterialFlag(EMF_LIGHTING, false);
	node->setMaterialTexture( 0, driver->getTexture("../../media/sydney.bmp") );
	node->setMD2Animation(scene::EMAT_RUN);
	node->setPosition(vector3df(x,0,z));
	node->setRotation(vector3df(0,0,0));
}


void Player::move(int x, int z)
{
    node->setPosition(vector3df(x,0,z));
}

void Player::rotate(int x, int y, int z)
{
    node->setRotation(vector3df(x,y,z));
}




Code c++ :

main.cpp


[...]
int main(int argc, char *argv[])
{
	IrrlichtDevice *device = createDevice(video::EDT_OPENGL,dimension2d<u32>(640, 480),16,false,false,false,0);

	if (!device)
		return 1;

	device->setWindowCaption(L"Anim Foot");

	IVideoDriver *driver = device->getVideoDriver();
	ISceneManager *smgr = device->getSceneManager();
	IGUIEnvironment *guienv = device->getGUIEnvironment();

	guienv->addStaticText(L"OM - PSG", rect<s32>(10,10,260,22), true);

	IAnimatedMesh *mesh = smgr->getMesh("../../media/sydney.md2");
	if (!mesh)
	{
		device->drop();
		return 1;
	}
	Player joueur1(mesh);
}
[...]



Mais du coup j'ai une erreur que je n'arrive pas à expliquer :
/tmp/ccujIpP3.o: In function `main':
main.cpp:(.text+0x20e): undefined reference to `Player::Player(irr::scene::IAnimatedMesh*)'

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
130 invités en ligne
membre en ligne: -
RSS Feed