游戏开发论坛

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

如何删除存在的mesh?

[复制链接]

7

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2010-6-23 12:04:00 | 显示全部楼层 |阅读模式
if(factor==5){
                       
           Entity* ogreHead = mSceneMgr->createEntity("Head", "ogrehead.mesh");

            SceneNode* headNode = mSceneMgr->getRootSceneNode()->createChildSceneNode("Head",Vector3( 113.7744,1637,-240));
             headNode->attachObject(ogreHead);
}

if(factor==8){
  
           SceneNode* headNode->detachObject(ogreHead);
         mSceneMgr->destroyEntity(ogreHead->getName());

                        }

就是在factor=5的时候创建,=8的时候删除,请问怎么写啊,我现在怎么写都出现异常,高手赐教

18

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
QQ
发表于 2010-6-23 17:16:00 | 显示全部楼层

Re:如何删除存在的mesh?

SceneNode* headNode->detachObject(ogreHead);是什么???

headNode->detachObject(ogreHead);
mSceneMgr->destroyEntity(ogreHead);
mSceneMgr->destroySceneNode(headNode);
headNode=NULL;
ogreHead=NULL:

7

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
 楼主| 发表于 2010-6-24 09:36:00 | 显示全部楼层

Re:如何删除存在的mesh?

这样写会异常的,指针不对啊

1

主题

14

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2010-6-24 11:44:00 | 显示全部楼层

Re:如何删除存在的mesh?

SceneNode* headNode->detachObject(ogreHead);这句要改改,因为headNode是从哪里来的?

改成类似于:
mSceneMgr->getSceneNode("Head")->detachObject(mSceneMgr->getEntity("Head"));试试

7

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
 楼主| 发表于 2010-6-24 15:06:00 | 显示全部楼层

Re:如何删除存在的mesh?

ok了, Entity* ogreHead 把这些变成全局变量就行了,谢谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-8 12:14

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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