c++ - 如何删除 Sprite 并再次使用相同的 Sprite

标签 c++ ios xcode cocos2d-x

我是初学者,目前我正在使用 cocos2d-x2.2.3 在 x 代码中开发类似 2048 的游戏。在我的游戏中我必须碰撞两个 Sprite 。碰撞时,我必须删除两个 spites 并添加一个新的 Sprite 在同一位置。我正在使用以下代码:

if(_player1->boundingBox().intersectsRect(_player2->boundingBox()))
{
this->removeChild(_player1, true);//it is not removing properly
this->removeChild(_player2, true);
_player1 = new CCSprite();
_player1->initWithFile("2.png");
_player1->setPosition(ccp(position.x,position.y));
this->addChild(_player1);//I have to add same player again
}

提前致谢

最佳答案

if(_player1->boundingBox().intersectsRect(_player2->boundingBox()))
{

this->removeChild(_player2, true);

if(_player1)
{
this->removeChild(_player1, true);


_player1 = new CCSprite();
_player1->initWithFile("2.png");
_player1->setPosition(ccp(position.x,position.y));
this->addChild(_player1);
}

}

关于c++ - 如何删除 Sprite 并再次使用相同的 Sprite ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25616801/

相关文章:

c++ - 如何解决错误 MSB6006 : "cmd.exe" exited with code 3?

c++ - 如何编译Boost多线程程序?

ios - UILongPressGestureRecognizer 在文本字段上显示警报

Xcode:添加 git 服务器: "Server is disabled"

Xcode Swift 初始 View 大小不正确

ios - 无法在 iOS 13 上创建小型大写字母选择器

c++ - 在 C++ 中枚举 k 维超立方体顶点的最有效方法是什么?

c++ - Qt 控制台应用程序的标准配置方法是什么?

ios - 如何在弹出到 rootView Swift 后立即更改选项卡?

ios - ios 中 USDZ 文件位于我的头顶