从屏幕cocos2d iPhone删除精灵?

从屏幕cocos2d iPhone删除精灵?,第1张

概述我有一个我写的游戏.我准备好称它已经完成,但我发现了一个错误.基本上,随着游戏时间的延长,游戏变慢.我的猜测是这是因为仍在屏幕上绘制的精灵.我将粘贴下面的代码,但基本上sprite是在“addNewBall”方法中创建的.在此方法中,它被添加到计算其运动的数组中.在球到达离开屏幕的位置后,它从阵列中移出,这使得它停止移动,但它仍然被“拉出”屏幕.如何删除精灵,以便处理器不再计算它.在此先感谢您的帮 我有一个我写的游戏.我准备好称它已经完成,但我发现了一个错误.基本上,随着游戏时间的延长,游戏变慢.我的猜测是这是因为仍在屏幕上绘制的精灵.我将粘贴下面的代码,但基本上sprite是在“addNewBall”方法中创建的.在此方法中,它被添加到计算其运动的数组中.在球到达离开屏幕的位置后,它从阵列中移出,这使得它停止移动,但它仍然被“拉出”屏幕.如何删除精灵,以便处理器不再计算它.在此先感谢您的帮助!

皮匠

码:

-(voID) addNewBall {    NumberOfBalls = NumberOfBalls + 1;      int RandomXposition = (arc4random() % 240) + 40;    Nsstring *BallfileString = @"OrangeBall.png";    switch (arc4random() % 5) {        case 1:            BallfileString = @"OrangeBall.png";            break;            case 2:                BallfileString = @"GreenBall.png";                break;            case 3:                BallfileString = @"YellowBall.png";                break;            case 4:                BallfileString = @"PinkBall.png";                break;            case 0:                BallfileString = @"BlueBall.png";                break;    }    Ball = [CCSprite spriteWithfile:BallfileString];    Ball.position = ccp(RandomXposition,520);    BallisMoving = YES;    [self addChild:Ball z:10];    [AllObjectsArray_ addobject:Ball];    [BallArray_ addobject:Ball];}//And here is where it is removed...if (Ball.position.y <= -100) {[BallArray_ removeObject: Ball];}
解决方法 您似乎在删除方法中缺少某些条件.如果球的y位置大于屏幕高度,或者x位置是否在屏幕外,您是否也想要移除球?无论如何,在你从阵列中移除球的同一个地方,你应该添加:

[self removeChild:Ball cleanup: YES]

我还应该指出,你的BallArray可能是多余的,因为无论如何你都要将所有球添加到另一个节点.如果该节点的唯一子节点是Ball,则可以使用其子属性获取球的数组.在这种情况下,子数组将是:self.children(有关详细信息,请参阅http://www.cocos2d-iphone.org/api-ref/latest-stable/interface_c_c_node.html#a5e739ecda0c314283a89ac389dfca2fa).

如果在同一节点上有非Ball子节点,则可能需要添加中间节点以简化设计,以便可以使用少一个数组.

总结

以上是内存溢出为你收集整理的从屏幕cocos2d iPhone删除精灵?全部内容,希望文章能够帮你解决从屏幕cocos2d iPhone删除精灵?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1001786.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存