GVKun编程网logo

Cocos2D v2.0至v3.x简洁转换指南(一)(cocos2d转为h5)

4

如果您对Cocos2Dv2.0至v3.x简洁转换指南和一感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解Cocos2Dv2.0至v3.x简洁转换指南的各种细节,并对一进行深入的分析,此外还有关于

如果您对Cocos2D v2.0至v3.x简洁转换指南感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解Cocos2D v2.0至v3.x简洁转换指南的各种细节,并对进行深入的分析,此外还有关于Cocos2D v2.0至v3.x简洁转换指南(三)、Cocos2D v2.0至v3.x简洁转换指南(二)、Cocos2D v2.0至v3.x简洁转换指南(五)、Cocos2D v2.0至v3.x简洁转换指南(四)的实用技巧。

本文目录一览:

Cocos2D v2.0至v3.x简洁转换指南(一)(cocos2d转为h5)

Cocos2D v2.0至v3.x简洁转换指南(一)(cocos2d转为h5)

在该指南开头,我们假设你应经很熟悉Cocos2d 2.x版本。

我们将指出新版本重要的改变,并且给出一些你已经从Cocos2d 2.x版本中熟知的实现。

CCNodes,CCScenes和cclayers cclayer已经不再存在。cclayer在场景中作为一个可以响应用户交互的类。在Coco2d 3.x中任何CCNode可以处理触摸输入。CCNode就是新的cclayer。对于所有场景你应该使用CCNode。

Cocos2D v2.0至v3.x简洁转换指南(三)

Cocos2D v2.0至v3.x简洁转换指南(三)

Cocos2D 3.3中的注意事项

如果你在使用Cocos2D 3.3+(是SpriteBuilder 1.3+的一部分)你将不得不替分别的换所有存在的UITouch和UITouchEvent为CCTouch和CCTouchEvent。

你可以在SpriteBuilder的升级手册中找到更多信息。

再见 Ccmenu!Hello cclayout!

在过去Ccmenu是创建菜单最简单的方法。因为Ccmenu是提供布局处理方法的仅有的类(alignItemsvertically,等等).该类过去被用来布局大量其它的东西,不仅仅是菜单。

Cocos2d 3.0提供一个cclayout类来解决该问题。该类可以布局任何种类的CCNode对象,使得布局你的场景显得更有吸引力。如果你要在Cocos2d 3.0中创建一个菜单,你可以将CCButtons简单的添加到cclayout容器中去。

下面是一个简单布局的例子:

// create first button
self.calculationStepButton = [CCButton buttonWithTitle:LABEL_STEP];
[self.calculationStepButton setTarget:self selector:@selector(calculationStepButtonTouched:)];
// create second button
self.animationButton = [CCButton buttonWithTitle:LABEL_ANIMATE];
[self.animationButton setTarget:self selector:@selector(animateButtonTouched:)];
// setup layoutBox and add items
cclayoutBox *layoutBox = [[cclayoutBox alloc] init];
layoutBox.anchorPoint = ccp(0.5,0.5);
[layoutBox addChild:self.calculationStepButton];
[layoutBox addChild:self.animationButton];
layoutBox.spacing = 10.f;
layoutBox.direction = cclayoutBoxDirectionVertical;
[layoutBox layout];
layoutBox.position = ccp(CANVAS_SIZE.width + (self.contentSize.width - CANVAS_SIZE.width)/2,self.contentSize.height/2);
[self addChild:layoutBox];

Cocos2D v2.0至v3.x简洁转换指南(二)

Cocos2D v2.0至v3.x简洁转换指南(二)

触摸处理

我们在稍后将完成Cocos2d 3.0中触摸处理的完整教程。而现在最重要的是知道如何去启用触摸处理在你的CCNode中:

self.userInteractionEnabled = TRUE;

去捕捉一个触摸以及触摸的位置:

- (void)touchBegan:(UITouch *)touch withEvent:(UIEvent *)event
{
     CGPoint touchLocation = [touch locationInNode:self]; 
     // put your touch handling code here
}

并且知道3个其它方法,它们可以完成确定移动,结束和取消的触摸动作:

- (void)touchMoved:(UITouch *)touch withEvent:(UIEvent *)event - (void)touchEnded:(UITouch *)touch withEvent:(UIEvent *)event - (void)touchCancelled:(UITouch *)touch withEvent:(UIEvent *)event

Cocos2D v2.0至v3.x简洁转换指南(五)

Cocos2D v2.0至v3.x简洁转换指南(五)

资源管理

如果你没有计划用SpriteBuilder,你可以继续使用后缀去管理各种不同解决方案中的图像。

首先,你需要在AppDelegate.m中将[CCBReader configrueCCFileUtils]一行注释掉。

然后,下面的后缀将会起作用:

no suffix,非 retina iPhone “-hd”,retina iPhone “-iphone5hd”,iPhone 5+ “-ipad”,非 retina iPad “-ipadhd”,retina iPad “-iphone5”,非 retina assets used for iPhone 5+ if no “-iphone5hd”

Cocos2D v2.0至v3.x简洁转换指南(四)

Cocos2D v2.0至v3.x简洁转换指南(四)

实现通用的update方法

在Cocos2d 2.x你需要2个步骤去实现在每帧调用update方法:

// 1) schedule update 
[self scheduleUpdate]; 
... 
// 2) override update method
- (void) update:(ccTime)delta 
{
    ... 
}

在Cocos2d 3.x 你再也不需要调用scheduleUpdate了,你只需要在CCNode子类中重载以下方法:

- (void)update:(CCTime)delta {
       ...
}

关于Cocos2D v2.0至v3.x简洁转换指南的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于Cocos2D v2.0至v3.x简洁转换指南(三)、Cocos2D v2.0至v3.x简洁转换指南(二)、Cocos2D v2.0至v3.x简洁转换指南(五)、Cocos2D v2.0至v3.x简洁转换指南(四)等相关内容,可以在本站寻找。

本文标签: