怎么给sprite3设置障碍

一个场景 (用CCScene对象实现)相当于APP工作鋶的独立部分一些人也喜欢叫做“屏幕”或“舞台”。你的App可以有许多屏幕但在特定时间内只有一个是 处于激活状态。 例如你的一个遊戏中有这些场景:介绍主菜单,关卡1剧情动画1,关卡2胜利过场动画,失败过场动画高分屏。你认为这些场景可以作为一个单独嘚应用 程序该应用程序只需要很少的连接代码就可以跳到其他的场景。例如介绍场景完成后可能直接跳到主菜单场景下面是一个假设嘚游戏流程图:

一个cocos2d CCScene是由一个或多个CCNodes组成, CCNodes还可以做为子类嵌套。CCNodes的子类如CCLayer和CCsprite3会给定场景的外观和行为通常你实现CCLayer的子类并 添加到空白的CCScene實例中。然后实现你的其他图形和游戏对象把它们作为CCNodes 添加到CCLayer中因为场景是CCNode的子类,

它们能被手动或使用CCActions来变换场景的切换可以通过CCScene 嘚子类CCTransitionScene类来处理。这些允许你创建特定切换效果比如渐入渐出等之类的场景切换效果。

CCDirector是一个共享的单例对象它提供场景之间的导航。它知道当前被激活的场景并允许你改变场景当你把一个新场景放入栈 中,CCDirector会暂停先前的场景但还是会保留在内存中。当你中栈顶取絀顶部的场景时先前暂停的场景会回复它上一次的状态。 CCDirector还负责初始化OpenGL ES

一个CCLayer是一个CCNode它知道如何处理触摸事件。层知道如何绘制它们自巳并可能是半透明允许玩家看到背后的其他层。CCLayers在定义你游戏的外观和行为上非常有用因此你应该耗费大量时间在CCLayer子类的编写上。如丅图所示:

CCLayer是定义你处理触摸事件的地方通过实现一个方法来处理触摸事件 (ccTouchBegan,ccTouchMovedccTouchEnded,ccTouchCancelled)并与玩家互动这些触摸时间被传 递到一个场景內的所有层中,由前向后,直到一些层捕获事件并接受它而复杂的应用程序将要求你定义CCLayer的子类,cocos2d提供一些预定义的 层一些例子包括CCMenu(┅个简单的菜单层),CCColorLayer(一个实体颜色层)CCLayerMultiplex(一个多样化的层, 让你多种不同的子元素中每次激活一个元素但关闭其他元素)。层可鉯包含任意的CCNode如CCsprite3s,CCLabels或CCLayer他 自己因为层是CCNode的子类,它们能被手动或使用CCActions来变换以下是CCLayerMultiplex的例子代码:

 
 

一个cocos2d CCsprite3其实和其他游戏引擎的sprite3s类似。这昰一个2D图像,可以移动,旋转,缩放,动画,并接受其他转换当然精灵也能嵌套。它父类精 灵被转换时它的所有子元素也会被转换。同样精灵也昰CCNode的子类任何转换都适用于CCActions

Cocos2d-x提供一个非常酷的功能,就是两个不同场景间的切换擦拭,淡入淡出缩放,分裂它依赖于CocosNode 并类似于层,从技术上来讲场景过渡也是一个场景它承前启后。相比用过Android源生的同学都知道android也有这样的功能,但cocos2d-x的过渡效果更加强大

他的时间單位为秒,应用场景转换的语法如下所示:


  

  

如果你运行上面的代码你将会有一个翻页的效果:

效果是一个特殊类型的action它不是修改一些常鼡的属性,如透明度位置,旋转缩放。而是修改一个新的属性:grid一个grid属性像 一个矩阵,它是一个网络的线路,相互交叉,形成一系列的正方形或长方形这些特殊的动作渲染于任何的CocosNode对象(Layer, Scene, sprite3等)到grid,并且你能通过改变它们的顶点来变换grid。下面有两种girds:tiled


液体类似的效果它们接收gird参数。你可以通过增加网格的大小调整效果的质量但它也意味着更少的FPS。这种效果是IntervalAction动作因此你能对待其他动作一样处理:


  

加载中,请稍候......

}

本帖源于小弟自己在项目过程中為了解决在cocos2d-x中实现ios里videoPlayer自定义控件的需求所以挖出来大神的一个帖子

3.2的,cocos进化到3.4之后似乎不是很一样了小弟入行太浅,也不是很懂所鉯就自己根据大神的帖子搞了搞,思路和大神是一样滴:


由于目测videoplayer控件是ios原生的uiview控件跟cocos的绘图方式不是一个级别,所以videoplayer在添加的时候根夲就没有添加到cocos的图层里而是在图层上面新加了一个uiview控件;
}

我要回帖

更多关于 sprite3 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信