本文适合于初步了解cocos2d的童鞋,如果不知道cocos2d是什么,那么请先百度,google,或者翻书去~~~
cocos2d 是一个2d 的游戏引擎,通过它可以很快的构建出一个2d的游戏来。尽管cocos2d深入人心,并且广泛使用在iOS 2d游戏开发中,但是如果要用它来坐一个3d 游戏,那么紧紧是cocos2d 就无能为力了,我们需要用cocos3d,一个iOS平台高度提炼的3D应用开发框架。Cocos3d是cocos2d的扩展集,从结构上看,与cocos2d 并无太大的差别,需要注意的是他扩展的几个重要的类:
CC3Layer
CC3Layer是两个最重要的类之一。它实现了CC3World与2D世界的巧妙联系。
CC3Layer属于cocos2d中的CCLayer的比较特殊的一个子类,也正是因此,CC3Layer与cocos2d中的CCLayer可以无缝切换,允许CCLayer(即一个2D平面的总管)的子部件,比如CCNode,controls,label与3D部件互相交互,允许2D部件在CC3Layer的上方,下方底部,旁边儿共同存在视图中。
CC3Layer可以随处放在cocos2d程序中。我说以上部分的目的,大部分是为了3D游戏的2D菜单,2D控制手柄,等部件可以与3D游戏界面共存。这些并不冲突。
使用过程中,当你使用CC3Layer的子类,请重载以下方法:
initializeControls –这个方法就是你添加2D物体的入口。请在这里添加。CC3Layer开始初始化的时候,会自动触发这个函数,你甭担心代码不会执行到这里。
update: –如果你有标准CCNode在里面,并且通过scheduleUpdate方法来自动刷新物体,那么这个方法便会自动被执行到这里。如果想刷新2D物体,传值,请重载此方法实现。
CC3World
明眼人都看出来了,第二个最关键的类,便是它。
所有3D对象的渲染,创造,委托,位置等等都在这里处理。
同样CC3World也有这两个函数需要重载实现。
initializeWorld –这里3D模型开始初始化,植入的代码。可以直接用函数,类对象来生成,也可以直接导入POD文件。CC3World就像树一样,可以在上面放满child,即所有的CC3Node想添加进去,直接调用addChild:method。
update: –这个函数,也差不多啦。大致就是更新移动3D对象位置,处理物体更新。
以下非必须重载的方法,但是也非常常用:
addChild: –与cocos2d一样,添加child到3D世界。
addContentFromPODResourceFile: & addContentFromPODFile:顾名思义,导入3D资源文件,此方法比较实用。
getNodeNamed: –返回child的标记的名字。
activeCamera –此方法用处不是特别多,大部分在有多个camera镜头的时候,开启。大多数是场景对话,切换两个不同的镜头。
ambientLight –周围的灯源,这个有区别与当作child Node添加进去的灯。
CC3Node
3D世界里,所有的模型,摄像头,光线,甚至CC3World都是nodes。CC3Node显然是万物之源啦。什么移动,旋转,隐藏,等等操作,都是这里来的。具体的,慢慢参考API文档吧。
CC3Camera & CC3Light
这两个是比较特别的,是继承自CC3TargettingNode,顾名思义,用来跟踪node移动的。说白了,就是摄相机视角。所以这个也可以旋转,移动,切换视角。
CCActions
注意,这里基本跟cocos2d方法一致。可以实现控制着色,阴影,扭曲,旋转,绝大部分操作。
尽管如此,依然有CC3Transform来实现部分3D世界才有的效果。
Automatic Frustum Culling and Bounding Volumes
3D世界里,你看到的,只是片面的摄像头一角。所以有大量的3D物件,你没必要去渲染,浪费资源。
所以Frustum Culling就是用来从渲染管道里,把不在视角之内的物体,去除掉。这是自动滴哦。
还有一个Ocllusion culling,就是这个物体的确在视角里,但是,它被其他物体挡住了。它也不会被批准通过进入渲染管道。
下面我们来配置cocos3d 的开发环境。
1、最新版的cocos3d-0.6.5的下载地址:
http://brenwill.com/wp-content/uploads/cocos3d-0.6.5.zip
2、我们选择比较稳定的cocos2d-iphone-1.0.1版本:
http://cocos2d-iphone.googlecode.com/files/cocos2d-iphone-1.0.1.tar.gz
3、下载完cocos2d和cocos3d后,我们需要将他们解压到同一目录下面。(这个非常重要,例如都放在桌面上)
4.我们需要先安装cocos2d。下面我们需要用到 应用程序----->实用工具----->终端,在终端中通过进入到两个文件夹所在的目录。进入cocos2d-iphone-1.01
输入 sudo ./install-templates.sh -u -f 完成安装
5、与安装cocos2d相似,进入目录然后输入sudo ./install-cocos3d.sh -u -f -2 ../
6、安装完成以后我们就可以在Xcode中看cocos2d 和 cocos3d 的模版了。
原文:
http://blog.csdn.net/toss156/article/details/7170729
分享到:
相关推荐
《Cocos3dx入门详解》 Cocos3dx是一款强大的跨平台游戏开发框架,它基于C++,并兼容Cocos2d-x,为开发者提供了高效、便捷的游戏开发环境。本篇将详细介绍Cocos3dx的基本概念、安装配置、基本操作以及实际应用,旨在...
这个压缩包包含三本关于Cocos2DX的重要教程,分别是《Cocos2D-x权威指南》、《Cocos2d-x高级开发教程》和《Cocos2dx入门初级教程》,这些资源对于想要深入学习Cocos2DX的开发者来说极具价值。 1. **《Cocos2D-x权威...
Cocos2dx是一款开源的游戏开发框架,主要用于创建2D和3D游戏,动画以及各种图形交互应用。作为一款跨平台的开发工具,Cocos2dx支持iOS、Android、Windows、Mac等多个操作系统,使得开发者可以编写一次代码,到处运行...
Cocos Creator 3.x 是一款强大的跨平台游戏开发工具,它提供了丰富的图形渲染、物理引擎、动画系统以及资源管理等功能,使得开发者能够高效地构建2D和3D游戏。在本教程中,我们将深入探讨基于 Cocos Creator 3.x 的...
这个“第01章 初识Cocos2d-X.zip”压缩包内容可能包含了对Cocos2d-X的基础介绍和入门教程,帮助初学者了解并开始使用这个框架。 1. **Cocos2d-X概述** Cocos2d-X是Cocos2d-x项目的一部分,由C++编写,支持iOS、...
手机游戏开发.pdf" 和 "COCOS2D-X手机游戏开发.pdf" 可能是两本关于Cocos2d-x的入门教程,涵盖了基本概念、环境配置、项目创建、基本组件的使用等内容,适合初学者阅读。 - "Cocos2d-x高级开发教程.pdf" 可能深入...
Cocos2d-x是一款开源的游戏开发框架,广泛应用于2D和3D游戏的制作。"cocos2dx hellocpp测试代码"指的是使用Cocos2d-x框架开发的一个基础示例项目,通常用于新手入门学习。`HelloCpp`是这个项目的核心源代码文件,它...
Cocos Creator是一款强大的2D和3D游戏开发工具,它集成了完整的资源管理、场景编辑、动画编辑以及发布流程,支持 TypeScript 语言,这使得开发过程更加高效和灵活。 首先,让我们看看项目中的关键文件: 1. **....
Cocos Creator是一款强大的2D和3D游戏开发框架,它为开发者提供了丰富的工具集,用于构建跨平台的游戏应用,包括微信小游戏。"BB弹源码"是基于Cocos Creator开发的一款弹球游戏,适合初学者入门学习游戏开发,通过这...
- 知识点:了解Python语言,介绍如何在系统上安装Python环境,包括配置运行环境所需的各种工具和库。 2. **Python游戏编程入门** - 知识点:Breakout游戏的介绍,包括基本图形用户界面(GUI)布局,Canvas小部件...
11. **Android 应用程序开发入门视频教程**:适合完全新手,介绍Android Studio环境配置,以及编写Hello World应用等基本步骤。 12. **Android 开发高级应用课程**:可能涉及主题如推送通知、蓝牙通信、AR增强现实...
例如,Unity3D、Unreal Engine或Cocos2d-x等都提供了SDK,让开发者能够创建丰富的2D和3D游戏。这些游戏代码实例将展示如何利用SDK实现游戏逻辑、物理引擎、图形渲染、用户界面以及网络通信等功能,对于初学者来说,...
7. **《cocos2d-x_Win32_Android_环境配置手册.pdf》**:cocos2d-x是一个跨平台的游戏开发框架,这份手册提供了在Windows和Android上配置cocos2d-x开发环境的步骤,对于想从事游戏开发的Android开发者十分有用。...
Unity则是一个更为强大的3D游戏引擎,支持2D游戏开发,拥有丰富的资源库和强大的可视化编辑器,能帮助开发者实现复杂的交互和视觉效果。 在Gorillas游戏中,你需要理解以下几个关键组件和概念: 1. 游戏循环:游戏...
本书可能会讲解如何设置开发环境,包括安装Android Studio、配置AVD(Android Virtual Device)以及使用Gradle构建系统。 其次,游戏开发的核心是游戏引擎。尽管Android SDK提供了一些基本的游戏开发支持,但为了...
- **3D游戏**:使用OpenGL ES或Unity 3D框架。 #### 六、实例分析:登录界面开发 - **布局设计**:使用LinearLayout来组织文本框和按钮。 - **组件使用**:TextView显示标题,EditText用于输入用户名和密码,...