gpt4 book ai didi

iphone - CCSprite 未显示

转载 作者:行者123 更新时间:2023-11-29 03:59:43 27 4
gpt4 key购买 nike

我正在尝试学习 Objective-C 以及如何使用 cocos2d 为 iOS 制作一些简单的动画。

我正在使用本教程并让动画正常工作,但我想将代码从主类中取出并放入一个单独的类中。 ( http://www.raywenderlich.com/32045/how-to-use-animations-and-sprite-sheets-in-cocos2d-2-x )

所以我创建了一个名为 Pet 的新类,它扩展了 CCNode(这是接口(interface)):

@interface Pet : CCNode {
BOOL moving;
int touchCount;
}

@property (nonatomic, assign) CCAction *walkAction;
@property (nonatomic, assign) CCAction *cuteAction;
@property (nonatomic, assign) CCAction *moveAction;
@property (nonatomic, assign) CCSprite *sprite;

- (id) initPetWithName:(NSString *)name xPosition:(int)x yPosition:(int)y;
- (BOOL) isTouchedByPoint:(CGPoint)point;
- (void) moveToPoint:(CGPoint)point;

@end

它有一个 CCSprite 对象,该对象在 init 中初始化为:

self.sprite = [CCSprite spriteWithSpriteFrameName:[NSString stringWithFormat:@"%@_%d.png", name, 4]];

初始化没有错误,但屏幕上没有显示。

CCLayer 类的 init 方法中有这样的内容:

-(id) init {
if((self = [super init])) {
CGSize winSize = [[CCDirector sharedDirector] winSize];

self.pet = [[Pet alloc] initPetWithName:@"Waffles"
xPosition:winSize.width/2 yPosition:winSize.height/2];
[self addChild:self.pet];
self.isTouchEnabled = YES;
}
return self;
}

最佳答案

我不明白你在哪里将 Sprite 添加为子元素。可能就是这样吗?

我曾经写过一个article that explains many potential causes for curiously absent nodes.

关于iphone - CCSprite 未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16046622/

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