游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2158|回复: 4

写了一个sprite类

[复制链接]

42

主题

137

帖子

137

积分

注册会员

Rank: 2

积分
137
发表于 2007-8-31 17:40:00 | 显示全部楼层 |阅读模式
感觉一个人物就应该是动画和node在一块的,就写了一个sprite封装了一下。

#include "ogre.h"

using namespace Ogre;

class Sprite
{
public:
        Sprite (SceneManager *mgr, const Ogre::String &mesh, const Ogre::String &name);
        ~Sprite ();

        void setAniState (const String &state, bool isloop);
        void update (Real dtime) { if (ani) ani->addTime (dtime); }

        SceneManager *mSceneMgr;
        Entity *ent;
        SceneNode *node;
        AnimationState *ani;
        Ogre::String name;
};

Sprite::Sprite (SceneManager *mgr, const Ogre::String &mesh, const Ogre::String &nam)
        :mSceneMgr(mgr), ani(0), name(nam)
{
        ent = mgr->createEntity (name, mesh);
        node = mgr->getRootSceneNode()->createChildSceneNode (name);
        node->attachObject (ent);
}

Sprite::~Sprite ()
{
        mSceneMgr->destroyEntity (name);
        mSceneMgr->destroySceneNode (name);
}

void Sprite::setAniState (const String &state, bool isloop)
{
        ani = ent->getAnimationState (state);
        ani->setLoop (isloop);
        ani->setEnabled (true);
}

55

主题

331

帖子

337

积分

中级会员

Rank: 3Rank: 3

积分
337
发表于 2007-9-1 01:52:00 | 显示全部楼层

Re: 写了一个sprite类

真短小精悍 [em3]

10

主题

219

帖子

236

积分

中级会员

Rank: 3Rank: 3

积分
236
QQ
发表于 2007-9-2 00:39:00 | 显示全部楼层

Re: Re: 写了一个sprite类

sprite类可以这样实现呀,大开眼界!!
楼上的,我的星星赶上你了,赶快多发言!

3

主题

12

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2007-9-23 01:36:00 | 显示全部楼层

Re:写了一个sprite类

sprite应该是指2d动画元素。。。
你这是3d角色了

18

主题

211

帖子

419

积分

中级会员

Rank: 3Rank: 3

积分
419
发表于 2007-9-25 17:30:00 | 显示全部楼层

Re:写了一个sprite类

那当然了,3d也有啊!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-21 10:05

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表