A. 目前市面是用cocos2d-x开发的多还是用cocos2d-iphone开发的多
1. cocos2d-x是中国人自己搞的? YES。不仅如此,我们已经雇佣了cocos2d-iphone作者Ricardo Quesada一起搞。在程序员的世界里面,没有中国人、美国人、阿根廷人的概念,只有C++程序员,Java程序员,Lua程序员的概念。技术无国界。
2. 国外用得不多吗?可能是早期情况。截止2014年7月的情况是,日本的《怪物弹珠》基于 cocos2d-x, 问鼎过日本付费总榜第一,万代南梦宫的正版《梦想海贼王》《J OJO奇妙大冒险》都是基于cocos2d-x开发。我们统计出来全球google play前1400名有17.5%是基于cocos2d-x引擎开发。AppStore美国付费总榜第前5名的Big Fish Casino也是基于cocos2d-x的。楼上说得对,野心不小。我的野心就做是一个世界级的产品,对社会和行业有价值。
B. 如何使用cocos2d
cocos2d是一个非常强大的开源库,它可以为你开发iphone上面的游戏节省大量的时间。目前支持精灵(sprite)、动画、物理引擎、声音引擎以及许许多多非常酷的图像效果等等。
我也是刚开始学习cocos2d,目前已经有许多非常好的教程来教你如何使用cocos2d了。但是,那些都不是我想要的。我真正想要的是一个非常简单,但是可以跑起来的游戏。这个游戏包括怎么使用动画、碰撞检测和播放声音,这就够了,并不需要使用太多高级的特性。最终,我自己做了一个这样的游戏,因此,基于我的一些经验写了这篇教程,希望会对初学者有所帮助。
这篇教程将会从头至尾、一步一步地教你如何使用cocos2d来制作一个简单的iphone游戏。你可以按照教程一步步来,或者干脆直接跳到文章的最后,下载样例程序。没错!游戏里面有忍者。
下载并安装cocos2d
你可以从下面的链接来下载cocos2d的最新版本(以前是google,现在采用git了) the Cocos2D Google Code page.
在你下载完代码以后,你可能想安装非常有用的项目模板。打开终端窗口,然后cd到你的cocos2d解压缩目录下面,输入./install_template.sh
请注意,你可以传递一些参数给这个安装脚本,比如你把xcode安装在了一个非标准的目录下面。(或者你有多个版本的sdk安装在你的机器上面)
Hello, Cocos2D!
让我们从最简单的HelloWorld项目开始吧!启动xcode,点file->new project,然后选择cocos2dApplicationtemplate来创建一个新的cocos2d项目并把它命名为“Cocos2dSimpleGame”
继续,点编译并运行这个工程模板,如何一切都ok的话,那么你会看到下面的内容:
cocos2d是按照“场景”(scene)的概念组织的,对一个游戏来说,就好像某个关卡或者屏幕之类的。比如,你可能需要一个场景来为你的游戏建立初使化菜单界面,另外一个场景当作玩游戏的主要界面,还有一个游戏结束的时候的界面。在一个场景里面,你可以有许多“层”(layer)(这个和photoshop有点类似)。每一个层又可以包含一些结点,比如精灵、标签、菜单等。而且一个结点也可以包含其它的结点。(比如,一个精灵可以包含一个子精灵)
如果你看一下样例工程,你会看到只有一个场景HelloWorldScene--我们接下来将会在这个场景里面实现我们的游戏逻辑。继续打开它,你会在init方法里面看到,它把一个带有“HelloWorld”字样的标签加到了当前场景中。我们将把这些代码去掉,并且放一个精灵在上面。
增加一个精灵
在我们增加一个精灵之前,我们需要一些图片。你可以自己去创建一些,或者使用我可爱的妻子为这个项目所创建的图片: a Player image, a Projectile image, and a Target image.
一旦你获得了这些图片,你就可以把它们用鼠标拖到xcode的resource文件夹中去,并且保证“ Copy items into destination group’s folder (if needed)”勾上了。现在,我们拥有自己的图片了,我们先得计算一下,应该把player放在哪里。请注意,cocos2d坐标系的原点在屏幕的左下角,即(0,0)位置在左下角,这与一般的窗口坐标系统在左上角有所区别。x方向往右是正,y方向往上是正。由于项目是landscape(横版)模式,这就意味着右上角的坐标是(480,320)。
还有需要注意的是,当我们设置一个对象的位置的时候,这个位置是相对于所加精灵的中心点来加的。因此,如果我们想让我们的player精灵与屏幕的左边界水平对齐,并且垂直居中的话。
那么对于x轴:我们需要设置为[player sprite's width]/2。y坐标设置为[window height]/2。
下面有一张图,可以更加清楚一些:
好,让他开始射击吧!打开Class文件夹并点击HelloWorldScene.m,然后把init方法用下面的代码替换掉:
复制代码
-(id) init
{
if( (self=[super init] )) {
CGSize winSize = [[CCDirector sharedDirector] winSize];
CCSprite *player = [CCSp www.hbbz08.com rite spriteWithFile:@"Player.png"
rect:CGRectMake(0, 0, 27, 40)];
player.position = ccp(player.contentSize.width/2, winSize.height/2);
[self addChild:player];
}
return self;
}
复制代码
编译并运行,你的精灵这时候应该出现在正确的位置上了。但是,这个前景默认是黑的。对于这张忍者图片来说,白色的背景可能看起来更好一些。在cocos2d里面,有一种非常简单的方式来改变层的背景颜色,那就是使用CCColoredLayer类。好,跟我来吧!点击HelloWorldScene.h,然后把HelloWorld接口声明改成下面这样:
@interface HelloWorld : CCColorLayer
然后点击HelloWorldScene.m文件,在init方法里面做一些小小的修改,以便使我们能把层的背景颜色改成白的:
C. 使用cocos2D游戏引擎开发游戏开发语言哪个好
如果让我个人现在给个建议,我会倾向于推荐c++和lua方案。js方案有四个硬伤
1. SpiderMonkey这个库体积太大了
2. js性能始终还是追不上lua
3. 虽然微软工程师很努力,但是SpiderMonkey至今(2014-07-16)还是无法运行在wp8上。也就是说你用js写的 cocos2d-x游戏无法运行在wp8上,但lua游戏可以。
4. 最重要的:html5市场并没有如愿地起色
如果没有html5市场,那么jsb也就有点多余了。2014年我们的重点也转向市场广泛认可并且证明过的lua了,其次是jsb,再次是html5。
D. 在用cocos2d写游戏的时候C++是怎么被使用的
直接使用C++来编写cocos2d游戏.
使用C++调用lua.js我不了解.lua的话是通过自己的一个库文件实现的,有lua.h等一系列文件,是lua的开发者为了和C++混合编程而实现的.在C++可以使用一个叫luaStack的东西,在内部以栈的方式保存lua中的函数,table,元表...等变量.
用lua调用C++.可以使用cocos2d引擎开发者制作的tolua工具来实现,将C++函数binding在lua上,然后调用对应的函数名来进行操作.
E. 制作普通的应用(非游戏)适不适合使用cocos2d-x ,会不会导致开发效率低下。
cocos2d-x只是游戏框架,你是没有找到更好的更适合你的跨平台引擎而选择了它,即使还有PhoneGap、Unity等等。
它提供了很少的控件,开发效率我不认为比两种分别开发效率高到哪去,不计算学习成本。
我觉得你招两个熟悉cocos2d-x开发的工程师比招一个安卓,一个iOS工程师成本高。
个人意见
F. 使用cocos2d-x编写android游戏必须要回c++
cocos2d-x本身就是C++写的啊,所以必须要会c++,在windows平台用cocos2d-x编写android游戏首先用visual stdio编写cocos2d-x游戏,然后运行成功以后,然后再用eclipse添加这个生成好的程序框架。这样就可以生成android游戏了。
G. 用cocos2dx开发的游戏可以申请软件著作权吗
应该可以,只要你是原创的游戏应该就行
H. android 开发怎么能使用cocos2d
下载cocos2d-x 3.0引擎
用户可以登陆cocos2d-x 官方网站下载最新版的cocos2d-x。点击导航栏的“Download”(下载)后你会看到如下下载页面:
在本指南中,将会以目前最新版本的cocos2d-x 3.beta2引擎为例。
(注意:如果你想要下载旧版的cocos2d-x,可点击“looking for an old versoin?”链接。但本人强烈推荐使用最新版本的cocos2d-x,新版引擎有很多新功能,修复了旧版的很多问题。)
右键单击“Download”链接选择“save link as…”(将链接保存为…),然后将压缩文件保存至适当的位置。本机保存位置为 D:\Cocos2d-x\cocos2d-x 3.beta2。
(注意:请不要将cocos2d-x文件夹放置c:\下,因为会导致很多优先级别(privilege)相关的问题。可尝试将该文件夹放到其他盘如D:\及E:\等等。)
打开 “D:\Cocos2d-x\cocos2d-x 3.beta2\build”目录,如下所示:
双击“cocos2d-win32.vs2012.sln”文件,然后会自动启动Visual Studio 2012/2013。
现在你便可以将HelloCpp项目当作默认启动项目来编译,按CTRL-F5运行样本程序。如果编译没有什么错误,同时运行成功的话,你会看到如下画面。
祝贺你!你已成功在Windows 7平台中运行cocos2d-x引擎。接下里介绍如何配置Android开发环境。
安装配置JAVA JDK
因为我们是针对Android开发,所以我们需要安装的第一个软件包绝对是JDK。如果你用的是64位的Windows 7,那应该下载以下版本软件64 bit JDK for windows 64bit,
下载完成之后,双击exe文件安装JDK,注意最好不要将其安装在有空格或者中文文件夹下,其他无限制,注意记下其安装路径,本机安装路径为:D:\Program Files\Java\jdk1.7.0_51\
配置环境变量:
新建环境变量:JAVA_HOME 值为:D:\Program Files\Java\jdk1.7.0
新建环境变量:CLASSPATH 值为:.;%JAVA_HOME%\lib;(注意:点号表示当前目录,不能省略)
在系统变量Path的值的前面加入以下内容:%JAVA_HOME%\bin;(注意:这里的分号不能省略)到这里,JDK安装完毕。
单击“开始”—>“运行”—>输入:cmd命令,在CMD窗口中输入:java -version
出现如下界面,就表示安装成功:
配置Android SDK环境
下载Android SDK下载之后解压,并将其放置于你要放置的目录下,在 “..\adt-bundle-windows-x86_64-20131030\eclipse” 文件夹中会有一个eclipse.exe程序,本机在桌面上创建了该程序的快捷方式。
现在就可以双击桌面的快捷方式启动Eclipse,同时会出现一个即时对话框,要求设置默认工作区(workspace)。选择“OK”接受默认设置即可。
配置环境变量:
新建环境变量:ANDROID_SDK 值为:D:\TDDownload\android\adt-bundle-windows-x86_64-20131030\sdk\platforms\;D:\TDDownload\android\adt-bundle-windows-x86_64-20131030\sdk\tools\;D:\TDDownload\android\adt-bundle-windows-x86_64-20131030\sdk\platform-tools(D:\TDDownload\android是SDK存放的位置)。
在系统变量Path的值的前面加入以下内容:%ANDROID_SDK%
单击“开始”—>“运行”—>输入:cmd命令,在CMD窗口中输入:adb -h 检验是否安装成功。
在“..\adt-bundle-windows-x86_64-20131030\sdk” 目录下有两个可执行程序,“AVD Manager.exe”和“SDK Manager.exe”,可直接通过它们创建管理AVD,SDK。
安装NDK
安装完Android SDK之后,还要安装“Android NDK”软件包,下载完成之后,解压,并将其放置到相应路径,本机路径为 D:\android-ndk-r9,设置另一个名为“NDK_ROOT”同时指向存放路径的环境变量。
Android NDK包含build、docs、samples、sources、GNUmakefile、ndk-build、ndk-gdb及readme等内容。
创建Cocos2d-x项目
将刚才下载的cocos2d-x-3.0beta2压缩包解压到你指定的文件夹里。
进入到目录 cocos2d-x-3.0beta2\tools\project-creator,打开终端运行**create_project.py**脚本创建文件,此版本项目创建脚本支持图形界面方式创建项目,执行以上脚本后会出现图形界面:
填写项目名称,包名称以及项目路径后选择开发语言,即可点击**create**按钮开始创建项目:
生成Android项目文件
在新建项目test项目中,执行proj.android下的*build_native.py*脚本进行编译。
等待它编译成功!
导入Android项目
最后便可启动Eclipse然后导入Android项目了。操作步骤如下:
右键点击“Package Explorer”并选择“Import…”
当出现对话框时,选择“Exsiting Android project into workspace”(将现有Android项目导入工作区)。
按照上面的方法导入到Eclipse里面。将您的手机设置成调试模式并用USB线连接到电脑, 在Eclipse中运行test, 然后就能在手机上看到已经运行的HelloWorld了!
I. 用Cocos2D游戏引擎开发普通应用可以吗
当然也是可以的啦。
因为自带网络的API,可以从网络获取数据。然后解析后循环生成界面和点击事件就好了。
J. 如何使用Cocos2d-x开发游戏
首先,先确定游戏策划案。确定策划案则确定了游戏的规模和所需要的模块。而所需要的模块则带来对于数据的需求,数据的需求则引出配置文件以及编辑工具的需求。
然后,确定所使用到的工具以及要开发的工具。通常来说,一个2D的RPG或ARPG类型的游戏会可能用到的工具主要有以下几种,它们按照使用的顺序应该是:
(1)图元素管理器:负责图片的编辑,生成块切割数据。
(2)动画编辑器:负责图元素的导入,生成动画。保存动画数据。
(3)特效编辑器:负责图元素与动画的导入,生成各种粒子特效。保存特效数据。
(4)NPC编辑器:负责动画导入生成NPC动作,编辑NPC的位置锚点。动作中的事件或人物脚本。如果需要也可以在这里导入特效编辑技能。保存NPC相关数据。
(5)界面编辑器: 负责使用图元素和动画,特效进行界面的布局编辑与事件脚本函数。并将数据保存
(6)场景编辑器:负责生成横纵向或45度视角格子地图。并使用图元素或特效进行场景的背景,地表,建筑等层编辑。还有将NPC布置在相应位置。
“公欲善其事,必先利其器”。以上六种工具是成熟的开发团队所要必备的。对于一般个人开发的规模较小的游戏,这些工具并不是必须的。可以省略或使用一些网络上公开的工具。而要开发规模稍大点的游戏,如RPG类型的游戏,所需要的工具通常要自已进行有针对性的开发。而且不仅限于这些工具。
当你具备了你需要的编辑工具之后,你需要将它们交付给美术人员使用。美术人员将做好的图片由图元素管理器进行切割。在动画编辑器里制做相应的动画。在特效编辑器里编辑出需要的特效。在NPC编辑器中创建出具有多个动画动作的多方向的NPC,编辑NPC的位置锚点。并跟据策划案确定所需要界面。使用界面编辑器编辑好它们的布局。同时根据策划案的关卡在场景编辑器里编辑出场景。
美术人员在开动的同时。程序需要进行游戏框架和所需要的类,功能函数的设计。编写出一个可以运行的逻辑框架。
然后,将各个工具导出的数据文件加载入框架。使它们显示出正确的场景,NPC,特效。
最后,调试测试程序。修改BUG。完成WINDOWS版本的游戏。