标签: ccsprite

如何将CCSprite从一个父级转移到另一个父级?

我有一个CCSpritesprite那就是一个孩子CCLayermovingLayer这本身就是当前的一个孩子CCLayer跑我的游戏逻辑,所以self在这种情况下. movingLayer在一个重复的永远行动中来回穿过屏幕,sprite并在它上面骑行.我想要sprite"开始" movingLayer并"继续"到self它可以做自己的一些行动的地方.

当我尝试这样做时,我需要告诉movingLayer删除spriteself添加sprite. 这就是我所做的...

- (void)attack:(id)sender
{
    [sprite stopAllActions];
    [movingLayer removeChild:sprite cleanup:YES];
    [self addChild:sprite z:1];
    CGFloat distance = ccpDistance(sprite.position, ccp(sprite.position.x, -sprite.contentSize.height/2));
    id goDown = [CCMoveTo actionWithDuration:distance/moveDuration position:ccp(sprite.position.x, -sprite.contentSize.height/2)];
    id repeatDown = [CCRepeatForever actionWithAction:[CCSequence actions:[CCMoveTo actionWithDuration:0 position:ccp(sprite.position.x, sprite.contentSize.height/2+self.contentSize.height)], [CCMoveTo actionWithDuration:moveDuration position:ccp(sprite.position.x, -sprite.contentSize.height/2)], nil]];
    id attackAction = [CCSequence actions:goDown, repeatDown, nil];
    [sprite runAction:attackAction];
} …
Run Code Online (Sandbox Code Playgroud)

cocos2d-iphone cclayer ccsprite

4
推荐指数
1
解决办法
2034
查看次数

Cocos2d仅显示CCSprite的一部分

是否有可能仅显示CCSprite的一部分?

它接缝那个contentSize属性没有好结果.

cocos2d-iphone ccsprite

4
推荐指数
1
解决办法
4330
查看次数

添加到图层后水平翻转CCSprite

我正在为应用程序创建一条鱼,游到屏幕上的随机位置.在鱼开始向下一个位置游动之前,它会旋转到其起点和目标点之间的角度.

我想弄清楚的是:if (target.x < start.x)我需要水平翻转精灵.

问题是,在我创建精灵和addChild图层后,我无法flipX使用精灵设置属性[sprite setFlipX].

将精灵添加到图层后是否锁定了setFlipX?我怎么能绕过这个?是我唯一的动画解决方案吗?

animation objective-c cocos2d-iphone ios ccsprite

4
推荐指数
1
解决办法
3463
查看次数

在cocos2d中获得CCSprite的绝对位置

在我的游戏中,我有一个CCSprite绕另一个CCSprite旋转的轨道,就像绕电子轨道旋转的电子一样.我有电子作为核的孩子,使动画更简单.我所要做的就是旋转原子核,电子跟随套件非常好.

然而,我的问题来自于想要让轨道动画看起来有点笨拙,要么添加类似粒子系统轨迹的东西,要么沿着电子路径添加带状效果.我不能简单地将粒子系统添加到电子本身,因为粒子不能正确地跟随,因为它们也被核旋转.如果我将粒子系统添加到self,则它们会正确显示,但不会与它们应该跟踪的对象位于相同的位置.

我的问题是:

有没有办法获得一个物体的场景位置,比如电子,而不是只能访问它相对于它的父母的位置?

谢谢.

xcode objective-c cocos2d-iphone ios ccsprite

4
推荐指数
1
解决办法
5121
查看次数

如何在CCSprite中获取特定像素的RGBA颜色

我正在使用cocos2d为iPhone v1.0.1库为iPhone编写游戏.为了让我的游戏工作正常,我需要在知道坐标时检查CCSprite中特定像素的颜色.我一直在寻找解决方案两天,但我没有找到任何工作.也许有人之前做过这件事并且知道该怎么做?

对我来说另一个可能性是如果这更容易从CCSprite创建一个UIImage ...

问候,jarektb

iphone objective-c cocos2d-iphone ccsprite

4
推荐指数
1
解决办法
4343
查看次数

带孩子的CCSprite Fadeout

我正在使用CCSprite带有一些其他CCSprite对象作为孩子添加,我正在使用的其他动画(缩放和旋转)工作得很好,孩子也是动画.但是当我使用时CCFadeOut,它只会淡化父母.

我读过,淡出不适用于孩子们.除了迭代每个孩子并在每个孩子上调用淡出之外,还有什么方法吗?

objective-c ccsprite

4
推荐指数
2
解决办法
2355
查看次数

为UIImage添加圆角?

我知道有可能在像UIImageView这样的对象上有圆角(我以前做过).但在这种情况下,我需要让我的方形UIImage有圆角.我知道这比仅仅对一个对象更难,但我需要专门用于UIImage.

任何人都可以共享一个非静态的方法,并且可以在我已经创建的类中实现吗?

我必须对UIImage执行此操作,除非可以将圆边添加到CCSprite.

谢谢!

EDIT2:

    void addRoundedRectToPath(CGContextRef context, CGRect rect, float ovalWidth, float ovalHeight)
{
    float fw, fh;
    if (ovalWidth == 0 || ovalHeight == 0) {
        CGContextAddRect(context, rect);
        return;
    }
    CGContextSaveGState(context);
    CGContextTranslateCTM (context, CGRectGetMinX(rect), CGRectGetMinY(rect));
    CGContextScaleCTM (context, ovalWidth, ovalHeight);
    fw = CGRectGetWidth (rect) / ovalWidth;
    fh = CGRectGetHeight (rect) / ovalHeight;
    CGContextMoveToPoint(context, fw, fh/2);
    CGContextAddArcToPoint(context, fw, fh, fw/2, fh, 1);
    CGContextAddArcToPoint(context, 0, fh, 0, fh/2, 1);
    CGContextAddArcToPoint(context, 0, 0, fw/2, 0, 1);
    CGContextAddArcToPoint(context, fw, 0, fw, fh/2, 1);
    CGContextClosePath(context); …
Run Code Online (Sandbox Code Playgroud)

rounded-corners uiimage ios ccsprite

3
推荐指数
1
解决办法
4094
查看次数

获取facebook个人资料图片

目前我想获取facebook个人资料图片然后将图片转换为CCSprite.

到目前为止我的代码看起来像这样:

//fbId is facebook id of someone
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?type=normal", fbId]];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *image = [UIImage imageWithData:data];

//convert UIImage to CCSprite
CCTexture2D *texture = [[[CCTexture2D alloc] initWithImage:image resolutionType:kCCResolutionUnknown] retain];
CCSprite *sprite = [CCSprite spriteWithTexture:texture];
[self addChild:sprite];
Run Code Online (Sandbox Code Playgroud)

它有效,但在加载前需要一段时间,大约几秒钟.

我的问题是,除了互联网连接,有没有更好的方法尽快加载Facebook个人资料图像?谢谢

objective-c cocos2d-iphone ios ccsprite

3
推荐指数
1
解决办法
2313
查看次数

如何在cocos2d v3.x中更改CCSprite的映像

在cocos2d 2.x中,我们使用CCTexture更改CCSprite的图像.但是在cocos2d 3.x中,CCTextureCache似乎已被弃用,因为Xcode警告我:" 未声明的标识符'CCTextureCache' ".或者我可能会错过一些东西,因为我是科科斯的新手.

那么我们怎样才能在v3中改变CCSprite的图像?

谢谢.

cocos2d-iphone ccsprite

3
推荐指数
1
解决办法
6468
查看次数

如何在Cocos2d中暂停动画精灵动画?

当出现正确的消息时,我想暂停/取消暂停特定精灵的动画.我会这样做,CCNode::stopAllActions()但它会取消所有动画,然后再设置.我只是想以快速暂停/无效的方式进行.任何人都有关于这个问题的有效方法的线索?

cocos2d-iphone ccsprite cocos2d-x

2
推荐指数
1
解决办法
3796
查看次数