【问题标题】:Copying CCSprite animation and position randomly随机复制 CCSprite 动画和位置
【发布时间】:2011-09-17 11:18:00
【问题描述】:

我正在使用下面的代码对叶子进行动画处理,同时将其从屏幕顶部放到底部。我想从随机位置开始有多个实例。最好的方法是什么?

    leaf1Sprite = [CCSprite spriteWithFile:@"LeafBrown0000.png"];
    leaf1Sprite.position = ccp(screenSize.width * 0.5f - 40.0f, screenSize.height);
    leaf1Sprite.contentSize = CGSizeMake([leaf1Sprite boundingBox].size.width, [leaf1Sprite boundingBox].size.height);
    [self addChild:leaf1Sprite z:10 tag:30];

CCAnimation *leaf1Ani = [CCAnimation animation];

[leaf1Ani addFrameWithFilename:@"LeafBrown0000.png"];
[leaf1Ani addFrameWithFilename:@"LeafBrown0001.png"];
[leaf1Ani addFrameWithFilename:@"LeafBrown0002.png"];
[leaf1Ani addFrameWithFilename:@"LeafBrown0003.png"];
[leaf1Ani addFrameWithFilename:@"LeafBrown0004.png"];
[leaf1Ani addFrameWithFilename:@"LeafBrown0005.png"];
[leaf1Ani addFrameWithFilename:@"LeafBrown0006.png"];
[leaf1Ani addFrameWithFilename:@"LeafBrown0007.png"];
[leaf1Ani addFrameWithFilename:@"LeafBrown0008.png"];
[leaf1Ani addFrameWithFilename:@"LeafBrown0009.png"];
[leaf1Ani addFrameWithFilename:@"LeafBrown0010.png"];
[leaf1Ani addFrameWithFilename:@"LeafBrown0011.png"];
[leaf1Ani addFrameWithFilename:@"LeafBrown0012.png"];
[leaf1Ani addFrameWithFilename:@"LeafBrown0013.png"];
[leaf1Ani addFrameWithFilename:@"LeafBrown0014.png"];
[leaf1Ani addFrameWithFilename:@"LeafBrown0015.png"];
[leaf1Ani addFrameWithFilename:@"LeafBrown0016.png"];
[leaf1Ani addFrameWithFilename:@"LeafBrown0017.png"];
[leaf1Ani addFrameWithFilename:@"LeafBrown0018.png"];
[leaf1Ani addFrameWithFilename:@"LeafBrown0019.png"];

id leaf1AniANIMATION = [CCAnimate actionWithDuration:1.9f animation:leaf1Ani restoreOriginalFrame:YES];

id repeatLeaf1Animation = [CCRepeatForever actionWithAction:leaf1AniANIMATION];

[leaf1Sprite runAction:repeatLeaf1Animation];

[leaf1Sprite runAction:[CCMoveTo actionWithDuration:5.0f position:ccp(screenSize.width * 0.5f + 10.0f, -100.0f)]];

【问题讨论】:

    标签: iphone objective-c animation cocos2d-iphone


    【解决方案1】:

    在屏幕上随机定位:

    float screenWidth = screenSize.width * 0.5f;
    randomX = arc4random() % (int)screenWidth;
    

    【讨论】:

      【解决方案2】:

      查看粒子系统示例。特别是有一个叫做“雨”的,它类似于你所要求的。我没有在粒子系统中做过动画;希望这是可能的。

      【讨论】:

      • 是的,遗憾的是,粒子系统无法实现动画。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-23
      相关资源
      最近更新 更多