在 Cocos2d v2.0.0 中,进行了很多更改,很多人遇到了一些缩放问题和其他冲突......
如果他们阅读并测试了 Ray Wenderlich 的好书,那就更是如此:学习 Cocos2d:维京人太大,背景不居中,图像后缀系统不起作用,...
那么,如何进行呢?
基本上,在创建新的 cocos2d v2 项目时,样例项目中已经说明了一切。 但是,我们中的一些人需要指出一些事情。
查看 AppDelegate.m 中的第 68-71 行 以下是您需要记住的内容:
你只需要打电话
CCSprite *mySprite = [CCSprite spriteWithFile"mySprite.png"];
从 AppDelegate.m 中查看第 76 行
只需从你的类中调用场景函数(使用 pushScene)
[director_ pushScene: [MyScene scene]];
+(CCScene *) scene
{
// 'scene' is an autorelease object.
CCScene *scene = [CCScene node];
BackgroundLayer *backgroundLayer = [BackgroundLayer node];
[scene addChild:backgroundLayer z:0];
GameplayLayer *gameplayLayer = [GameplayLayer node];
[scene addChild:gameplayLayer z:5];
return scene;
}
这就是来自 cocos2d v2 的缩放问题的来源(但我不知道为什么)。
不是调用-(id)init,而是调用
-(void) onEnter{ //Do some sprite displaying with [self addChild:mySprite]; }
在显示 Sprite 之前,您仍然可以调用 -(id)init 函数来处理需要加载的其他内容。
你可以在这里找到如何在 cocos2d v2 中使用偷偷摸摸的输入:http://cl.ly/1J2D2z0f3o0r3h041o3o
将此行添加到您的图层(在 +(CCScene*) 场景函数中或其他位置)
layer.isTouchEnabled = YES;
然后将这个添加到同一个.m
- (void)ccTouchesMovedNSSet *)touches withEventUIEvent *)event
{
NSArray *touchArray=[touches allObjects];
if ([touchArray count] == 2)
{
NSLog(@"2");
}
else if([touchArray count]==1)
{
NSLog(@"1");
}
}
最后,进入 AppDelegate.m 并添加:
[[CCDirector sharedDirector].view setMultipleTouchEnabled:YES];
如果 cocos2d v2 开发人员可以提供帮助并发布有关如何使用 cocos2d v2 与 v1 相比的内容,我将不胜感激。
关于ios - Cocos2d v2.0 - 设置场景、图层、 Sprite 等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11574004/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |