学unity跟cocos2dx lua哪个更容易上手

本人数字媒体技术专业,大三学生,上专业课。教游戏开发的老师力推u3D,可是我正在学cocos2d,究竟有没有必要学下去呢?还是放弃直接学u3d?
题主,从你的专业和你的问题来看,你是准备进入游戏行业了,那么好吧,我就从这里开始说。 -----------------------------------------------------------------我一直认为,处在游戏行业要具有一颗玩心,你现在正在过cocos2d关卡,听到老师说,Unity3D的关卡奖励高,想放弃现在的cocos2d进度,转战Unity3D副本,千万别这样!刚看了你的专业数字媒体技术,也是一个万金油专业,如果你主打方向是游戏程序员,最好还是把cocos2d熟悉后,能独立做些小游戏后,发布到ios后,再转战Unity3D副本吧。在游戏行业不管是程序、美术、还是策划,人家看的都是你的作品。再华丽的简历词藻也比不上一个普通的产品重要。所以希望你透过现象看本质,引擎这块真的不重要,一大批爱好游戏的创业者,并没有去做游戏研发,而是去做了引擎开发,为游戏开发者提供服务来盈利。这批人大概都是受到了”旧金山挖金子“的启发,就是我不挖金子,我为挖金子的人服务,来赚取他们的金子。以此可见,以后的游戏引擎会越来越多,我很同意排名第一的回答,你先学好程序内功,将来上手什么引擎都是非常快的。不要纠结在cocos2d和Unity3d引擎的选择上,我之所以建议你把cocos2d学到能出普通游戏产品后再转Unity3D,是不想让你培养自己的浮躁心态,干游戏这行,如果浮躁了,那么是干不好游戏的。好了,说教完毕,下面看例子。--------------------------------------------------------------------cocos2d会被淘汰?这个真不会!不同的人学cocos2d是用在不同的方面,例如一个UI设计师学cocos2d是为了拿一份高工资,当初去年年初,成都为cocos2D项目支持的UI职位15K难求,许多人转,结果今年8K左右就能招一个用cocos2D不错的UI了。就像选热门专业一样,现在的热门未必就是热门,这是不是坚定了你转Unity3d的心思,那么好吧,我泼盆凉水,Unity3d从2012年兴起,到2013年大火,由于上手简单,脚本丰富,太多的人已经使用Unity3D做出了非常多的游戏,现在上海,Unity3D程序薪水,4k、8k、10k、12k的居多,这里我单指借助Unity3D引擎入行的程序,已经在职场打滚多年的程序除外。所以我想表明的观点是,只有技术才能决定你的薪水,引擎决定不了你的薪水。但是凡事都有例外,由于Unity3d必须使用自己的特效系统来制作游戏特效,所以现在的Unity3d对人才加成的红利在于特效师。如果你现在专攻Unity3D特效,熟悉粒子编辑器,能做出普通水准的特效,那么年后出来实习,要价10K,也是有公司要的,但是仅限明年上半年。(如果看到此文的有Unity3D特效师,如果15K以上的起薪您能满意,请私信我,唉,我也知道肯定有Unity3d特效师会嘲笑我,”我们光在家做外包一个月也有几十K的收入,稀罕你15K的起薪么,对了上次做了20个刀光特效,承惠5K,谢谢)-------------------------------------------------------------------题主,安心学技术吧,引擎这块,如果学校没有课,需要你自学,那么先把cocos2d弄明白,能在IOS平台发布产品后,你就差不多能在毕业后找一份不错的工作了。安心把这个副本过了,再转Unity3D。
引擎这些工具,我们是永远跟不上别人的脚步的。你现在需要学习的是什么?1、精通一门语言(从语法,到多线程,到数据操作,到网络等等方面)。2、掌握数据结构与算法。3、熟悉设计模式。4、多看他人的游戏源码,学习下来。学习一些以一变应万变的,会让你在以后面对所以问题不会感到无力。以后你也不会问选择哪个引擎的问题。COCO,unity等等是标,不是本,是加分项而不是基础分。我见过不少没有语言基础的直接上手学习UNITY的,恩,是学过一段时间,但是,当我看见问他们“事件”,“委托”,“四元素”,"线程池"“计数器”等等名词时的表情,我知道没有基础给他们带来的苦果。这样的程序员,也只是从一个地方换到另一个地方的码农。当你自信满满的以为学好了UNITY就能找到工作时候,人家笔试提上一堆的数据结构与算法,指针,设计模式,网络,数据库,少年,你怎么办?切记,把UNITY,COCO当做工具,把任何语言当做工具。unity,COCO只是加分项,如果你基础分没修满,这个时候是考虑多修基础分的时候,而不是考虑多修加分项的时候。-FOR
A GAME PROGRAMMER
假如两年后老师又告诉你:“Unity最多还有两年了,今后是xx的天下。"咋办?在没有收集信息前,下决定是愚蠢的。可以学一下Unity,然后选择自己喜欢的那个。很多程序员爱跟风。表面上是“顺应潮流”,其实是“迷失自我”。QQ群:①群 ③群 ④群 ⑥群
扫一扫,访问微社区
后使用快捷导航没有帐号?
签到成功!您今天第{todayrank}个签到,签到排名竞争激烈,记得每天都来签到哦!已连续签到:{constant}天,累计签到:{days}天
Cocos2dx学习笔记(一)
热度 31030
|个人分类:
1.构造函数用来对成员函数进行初始化,析构函数用来进行“扫尾”工作,存放一些结束语句。2.USING_NS_CC; 等价于 using namespace cocos2d;3.找不到头文件的解决办法:项目-&属性-&C++-&常规-&附加包含目录-&新增$(ProjectDir)4.创建精灵的方法:&CCSize size = CCDirector::sharedDirector()-&getWinSize();//屏幕的大小&&//背景&CCSprite *pBg = CCSprite::create("HelloWorld.png");&pBg-&setPosition(ccp(size.width/2, size.height/2)); //以屏幕中心为锚点&this-&addChild(pBg);&&//精灵一&CCSprite *pSp1 = CCSprite::create("icon.png");&pSp1-&setPosition(ccp(size.width*0.2, size.height*0.7));&this-&addChild(pSp1);&//精灵二&CCSprite *pSp2 = CCSprite::create("icon.png", CCRect(28,28,29,29));&pSp2-&setPosition(ccp(size.width*0.4, size.height*0.7));&this-&addChild(pSp2);&//创建2D纹理&CCTexture2D *pTexture = CCTextureCache::sharedTextureCache()-&addImage("icon.png");&//精灵三&CCSprite *pSp3 = CCSprite::createWithTexture(pTexture);//或者直接设置//CCSprite *pSp3 = CCSprite::create();//pSp3 -&setTexture(CCTextureCache::sharedTextureCache()-&addImage("icon.png"));&pSp3-&setPosition(ccp(size.width*0.6, size.height*0.7));&this-&addChild(pSp3);&//精灵四&CCSprite *pSp4 = CCSprite::createWithTexture(pTexture,CCRect(0,0,40,40));&pSp4-&setPosition(ccp(size.width*0.8, size.height*0.7));&this-&addChild(pSp4);&//缓存帧&CCSpriteFrame *pframe = CCSpriteFrame::create("icon.png", CCRect(0,0,57,57));&//精灵五&CCSprite *pSp5 = CCSprite::createWithSpriteFrame(pframe);&pSp5-&setPosition(ccp(size.width*0.3, size.height*0.3));&this-&addChild(pSp5);&//精灵六,加载缓存帧资源&CCSpriteFrameCache::sharedSpriteFrameCache()-&addSpriteFramesWithFile("main_scene/menu.plist", "main_scene/menu.png");//使用plist文件加载图片资源&CCSprite *pSp6 = CCSprite::createWithSpriteFrameName("g-5.png");//通过key获取对应位置的图片&pSp6 -&setPosition(ccp(size.width / 2, size.height / 2)); //以屏幕中心为锚点&this-&addChild(pSp6, 3);5.精灵的常用方法:&pSp5-&setScale(0.5f); //缩小0.5倍&pSp5-&setScale(1.5f); //放大1.5倍&&pSp5-&setRotation(30.0f); //顺时针旋转30度&pSp5-&setRotation(-30.0f);//逆时针旋转30度&&pSp5-&setSkewX(30.0f);//以X轴为准,倾斜30度&pSp5-&setSkewY(30.0f);//以Y轴为准,倾斜30度&&pSp5-&setVisible(true);//设置可见性为真&pSp5-&setVisible(false);//设置可见性为假&&pSp5-&setColor(ccc3(255,0,0));//设置图片颜色为红色&pSp5-&setColor(ccc3(0,255,0));//设置图片颜色为绿色&pSp5-&setColor(ccc3(0,0,255));//设置图片颜色为蓝色&&pSp5-&setOpacity(100);//设置图片透明度,范围0-255,越低透明度越大&&//更改图片,使用2D纹理替换当前图片&pSp5-&setTexture(CCTextureCache::sharedTextureCache()-&addImage("CloseNormal.png"));&6.CCPoint = ccp //表示图片位置7.OpenGL坐标系以左下角为原点8.绝对坐标,相对坐标:&//精灵一的位置为绝对坐标&CCSprite *pSp1 = CCSprite::create("icon.png");&pSp1-&setPosition(ccp(100, 100));&this-&addChild(pSp1);&//精灵二的位置为相对坐标,以精灵一的左下角为原点&CCSprite *pSp2 = CCSprite::create("CloseNormal.png");&pSp2-&setPosition(ccp(0, 0));&pSp1-&addChild(pSp2);&9.锚点:绘图初始位置&默认位置为,锚点(0.5,0.5)//图片中心&10.addChild的用法:&this-&addChild(pSp1); //默认显示顺序为0,即最先显示&this-&addChild(pSp2,1); //默认显示顺序为1,即第二个显示,值越大显示顺序越靠后&&this-&addChild(pSp2,1,1);//标记精灵&CCSprite *sp1 = (CCSprite*)this-&getChildByTag(1);//获取精灵&11.C++中定义函数时要加上域操作符"::",以表明函数属于哪个类12.生成文本的方法, 第二和第三种比较美观和有效率:&&//文本一&CCLabelTTF *label1 = CCLabelTTF::create("cocos2dx","Marker Felt",25);&label1-&setPosition(ccp(size.width/2, size.height*0.8));&this-&addChild(label1);&&//文本二&CCLabelBMFont *label2 = CCLabelBMFont::create("cocos2dx", "fonts/xxx.fnt");&label2-&setPosition(ccp(size.width/2, size.height*0.5));&addChild(label2);&//文本三&CCLabelAtlas *label3 = CCLabelAtlas::create("cocos2dx", "fonts/xxx.plist");&label3-&setPosition(ccp(size.width / 2, size.height*0.3));&addChild(label3);&&//显示汉字的方法:&文件-》高级保存选项-》编码改为UTF-8无签名&CCLabelTTF *label1 = CCLabelTTF::create("中国","微软雅黑",25);&label1-&setPosition(ccp(size.width/2, size.height*0.8));&addChild(label1);&//以英文字母结尾,才能显示奇数的汉字&14.菜单类的用法:&&CCSize size = CCDirector::sharedDirector()-&getWinSize();//屏幕的大小&//文本一&CCLabelBMFont *label1 = CCLabelBMFont::create("item1", "fonts/boundsTestFont.fnt");&//菜单一&CCMenuItemLabel *item1 = CCMenuItemLabel::create(label1,this,menu_selector(MyScene::menuCallback));&item1-&setPosition(ccp(size.width/2, size.height*0.9));&//菜单二&CCMenuItemFont *item2 = CCMenuItemFont::create("item2", this, menu_selector(MyScene::menuCallback));&item2-&setPosition(ccp(size.width / 2, size.height*0.7));&//菜单三&CCSprite *sp1 = CCSprite::create("login_normal.png");&CCSprite *sp2 = CCSprite::create("login_selected.png");&CCMenuItemSprite *item3 = CCMenuItemSprite::create(sp1, sp2, this, menu_selector(MyScene::menuCallback));&item3-&setPosition(ccp(size.width / 2, size.height*0.5));&//菜单四&CCMenuItemImage *item4 = CCMenuItemImage::create("register_normal.png", "register_selected.png", this, menu_selector(MyScene::menuCallback));&item4-&setPosition(ccp(size.width / 2, size.height*0.3));&//菜单五&CCMenuItemToggle *item5 = CCMenuItemToggle::createWithTarget(this, menu_selector(MyScene::menuCallback), CCMenuItemFont::create("On"), CCMenuItemFont::create("Off"), NULL);&item5-&setPosition(ccp(size.width/2, size.height*0.1));&//使用菜单大管家处理触摸事件&CCMenu *menu = CCMenu::create(item1, item2, item3, item4, item5, NULL);&menu-&setPosition(CCPointZero);&this-&addChild(menu);&&-----&//菜单回调事件&void MyScene::menuCallback(CCObject* pSender)&{&&CCLog("菜单回调事件");&}15.持续性移动&CCSize size = CCDirector::sharedDirector()-&getWinSize();//屏幕的大小&&CCSprite *sp = CCSprite::create("icon.png");&sp-&setPosition(ccp(size.width*0.1, size.height*0.5));&this-&addChild(sp);&//移动到某一点&CCActionInterval *moveTo = CCMoveTo::create(3.0f, ccp(size.width*0.8, size.height*0.5));&//在原位置的基础上增量移动&CCActionInterval *moveBy = CCMoveBy::create(3.0f, ccp(size.width*0.8, size.height*0.5));&//sp-&runAction(moveTo);&sp-&runAction(moveBy);
刚表态过的朋友 ()
作者的其他最新博客
评论 ( 个评论)
12243231411
【游戏蛮牛杯】第三届开发者大赛拉开序幕cocos2d-x有必要学吗?如果unity native2d会了
- 游戏蛮牛-unity3d第一技术门户
cocos2d-x有必要学吗?如果unity native2d会了
cocos2d-x有必要学吗?如果unity native2d会了?还有必要学习cocos2d-x吗?
说的不错,我已经确定学unity native2d
其他回答 (5)
cocos2dx是开源的。。。。可以深入的学习一下
嗯,谢谢!!!!!!!
3楼说得对,cocos是开源的,对于一个程序员来说是再好不过的了,unity功能很强大,但是基本告别代码了,零散的脚本完全可以用插件和自己写的插件替代了
unity现在做2d游戏完全没问题的,比如 炉石传说 就是卡牌游戏,2D游戏有3D效果。不需要用cocos
个人喜欢嘛。想折腾就学学啊。
等待您来回答
该问题来自:unity3d第一技术门户,网站还提供大量的关于Unity3D技术相关的内容,从脚本、源码、插件、资源、问答、维基百科等多个模式,为Unity3D开发者提供技术支持。历史话题领域专家

我要回帖

更多关于 cocos2dx unity 的文章

 

随机推荐