gpt4 book ai didi

ios - Cocos2d 2.0 - 在图层上居中 Sprite

转载 作者:行者123 更新时间:2023-11-28 18:25:28 24 4
gpt4 key购买 nike

我有一个 CClayer 类,当这个类初始化时,它会创建一个应该居中的 CCSprite,所以稍后,当我旋转使用该 CCLayer 类创建的对象时,它会围绕其中心旋转。我的意思是,如果该类的 Sprite 是 200 像素宽和 300 像素高的图像,我希望 CCLayer 枢轴位于 100,150。

我尝试将它设置为 0,0 和 0.5,0.5 但没有成功。

据我了解,CCLayer没有边界框,它就像一种节点,对吧?所以,我创建了这样的类:

-(id) initWithImage:(UIImage*)image Name:(NSString*)name
{

if( (self=[super init])) {

self.isTouchEnabled = YES;

self.mySprite =
[CCSprite spriteWithCGImage:image.CGImage key:name];

self.mySprite.position = CGPointZero;
[self addChild:self.mySprite];

self.mySprite.anchorPoint = ccp(0.0f, 0.0f);
// have tried also 0.5f, 0.5f... no success
}

return self;
}

我该怎么做?

谢谢

最佳答案

在您的 CCLayer 子类中提供一个方法来旋转 Sprite :

-(void) rotateMySpriteToAngle:(float) angle
{
self.mySprite.rotation = angle;
}

Sprite 的 anchor 应该是 (0.5, 0.5) 以围绕其中心旋转。

不过我觉得你的程序太复杂了?你能不能只使用一个 Sprite 而不是一个带有 Sprite 的图层作为 child ?然后你可以直接旋转它。

看起来您想让您的 sprite 可触摸。如果您希望实现按钮,请考虑使用 CCMenuCCMenuItem


编辑

尝试将图层的 anchor 设置为(0, 0),将sprite的 anchor 设置为(0.5, 0.5),然后设置位置 Sprite 到 (0, 0)

这意味着 Sprite 的中心位于层上的 (0, 0) 处,然后您可以围绕它的原点旋转层。

                    Scene==============================================                                           ==                                           ==                                           ==                                           ==       |                                   ==       | Layer (effective infinite size)   ==     __|__                                 ==    |  |  |                                ==    |  +--|--------------                  ==    |_____|                                ==     Sprite                                ==============================================The + is the origin of the layer and the center point of the spriteWhen you rotate the layer around it's origin, you are simultaneously rotating the sprite about it's centre.

关于ios - Cocos2d 2.0 - 在图层上居中 Sprite ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10928894/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com