ios游戏开发--cocos2d学习(1)
来源:互联网 发布:如何进行seo 编辑:程序博客网 时间:2024/05/20 00:15
创建一个cocos2d项目,直接运行,效果如图:
左下角显示当前的帧率,即每秒的帧数,更新屏幕的频率。
---------------------------------------------------------------------------------------------------------------
有几个概念必须要理解:
1.导演类:CCDirector,所有类的父类,控制整个游戏项目的运行,包括场景、人物等的显示.
2.层和布景:CCLayer和CCScene,都继承自CCNode节点类。CCScene类似于现实生活中的场景,在这个场景中又可以铺垫其他的事件,如一个舞台是一个场景,在这个场景中可以上演话剧、小品、唱歌等各种节目,那么这节目可以看作是一个CCLayer,我可以创建唱歌层:SingCCLayer,让它继承CCLayer,然后添加元素,就是演员。一个节点CCNode即是一个可视化的元素,如可以创建一个CCLabelTTF标签,放入CCLayer中,或者按钮等,丰富自定义的场景布局。
-------------------------------------------------------------------------------------------
--基础代码讲解--
(1)打开HelloWorldLayer.h头文件,你可以看到HelloWorldLayer类是继承自CCLayer类的。
CCScene只是一个抽象的概念,默认的设置场景的方法是在你的类里面使用一个静态初始化方法(static initializer)+(id) scene。此方法会生成一个CCScene对象,并且将当前自定义层(这里指的是HelloWorldLayer)的对象添加到场景节点中。几乎在任何情况下,CCScene都是在这里创建和使用的。以下是一个通用的+(id)scene方法:
+(CCScene *) scene
{
//创建一个场景,注意场景Scene和层Layer以及各个元素都是CCNode的子类,创建对象时均可用类方法:node
CCScene *scene = [CCScene node];
// 创建一个本类的一个对象
HelloWorldLayer *layer = [HelloWorldLayer node];
// 在场景中添加自定义层
[scene addChild: layer];
// return the scene
return scene;
}
(2)之后就是层Layer的初始化并显示在场景中,跟OC中一样,使用-(id)init方法:
-(id) init
{
if( (self=[super init]) ) {
//生成和初始化一个标签对象,在2d中标签有3种,CCLabelTTF是其中一种
CCLabelTTF *label = [CCLabelTTF labelWithString:@"HelloWorld" fontName:@"MarkerFelt" fontSize:64];
// 从当前CCDirector得到当前屏幕的尺寸
CGSize size =[[CCDirectorsharedDirector]winSize];
// 将标签定位在屏幕中央
label.position =
// 将标签添加到视图层中
[self addChild: label];
................//还有很多其他内容,先不管它
return self;
}
首先,在init方法中做两处修改:一是启用触摸输入,二是设置一个以后可以用来调用对象的标记:tag。在列表2-3中标出了这两处修改:
{
if( (self=[super
//生成和初始化一个标签对象,在2d中标签有3种,CCLabelTTF是其中一种
CCLabelTTF
// 从当前CCDirector得到当前屏幕的尺寸
CGSize
// 将标签定位在屏幕中央
label.position
// 将标签添加到视图层中
[self
//添加标签tag
label.tag=10;//可以用任何数字,但建议用常量
//启动可触摸模式
self.isTouchEnabled=YES;//这样,点击屏幕,相关触摸函数才会响应触摸
................//还有很多其他内容,先不管它
return
}
(4)响应触摸的函数:
-(void)ccTouchesBegan:(NSSet*)touches withEvent:(UIEvent *)event{
}
- ios游戏开发--cocos2d学习(1)
- ios游戏开发--cocos2d学习(2)
- ios游戏开发--cocos2d学习(3)
- [ IOS-Cocos2d-x 游戏开发] - Lua 开发之一(Lua-基础语言学习)
- 【iOS-Cocos2d游戏开发】cocos2d 坐标系使用
- 【iOS-Cocos2d游戏开发】cocos2d 坐标系使用
- 【iOS-Cocos2d游戏开发之二】Cocos2D 游戏开发资源贴(教程以及源码)
- 【iOS-Cocos2d游戏开发之二】Cocos2D 游戏开发资源贴(教程以及源码)
- 【iOS-Cocos2d游戏开发之二】Cocos2D 游戏开发资源贴(教程以及源码)
- 《iOS游戏编程之从零开始—Cocos2d-x与cocos2d引擎游戏开发(配光盘)》
- iOS cocos2d-X之游戏开发环境搭建(一)
- 游戏开发学习-Cocos2d-x学习(一) HelloWorld 开始
- cocos2d-x游戏开发demo(1)
- iOS-cocos2d游戏引擎开发之一
- 书评:iOS cocos2d 2游戏开发实战
- iOS cocos2d 2游戏开发实战
- 基于Cocos2D的IOS游戏开发进阶与实践 —— Stage 1 —— 学习笔记
- 学习开发cocos2d-x 游戏 (前提篇 一)
- aes verilog实现
- 关于大数据的收集
- C++ 经典问题之交换
- GTK编程基础-----框架、比例框架、分栏窗口构件
- 人生如水的七种境界
- ios游戏开发--cocos2d学习(1)
- ios游戏开发--cocos2d学习(2)
- ios游戏开发--cocos2d学习(3)
- Eclipse快捷键大全
- acm入门资料
- hdu 4352 XHXJ's LIS --- 数位dp 状态压缩
- UVa 10785 疯狂的命理学家
- 九度OJ_1488
- 最基础的java socket聊天程序应该烂熟于心