cocos2d-x 3.0游戏实例学习笔记 《跑酷》 完结篇–源代码放送

cocos2d-x 3.0游戏实例学习笔记 《跑酷》 完结篇–源代码放送

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

说明:这里是借鉴:晓风残月前辈的博客,他是将泰然网的跑酷教程,用cocos2d-x 2.X 版本号重写的,眼下我正在学习cocos2d-X3.0 于是就用cocos2d-X 3.0重写,并做相关笔记

OK,到昨天为止,我们已经将游戏基本上写完了,这里本来就是别人开源的东西,我这里重写,当然要发布源代码。那么这里有两种方式:

第一种:将我执行成功的整个项目打包,VS2012+win7下的,这样的方式就比較大,可是能够打开打开 Run/proj.win32/Run.sln 就能够啦 

另外一种:就是我仅仅打包 Resource 和 class里面的东西。。可是这里会遇到 Extension 的相关问题,由于我用了button,这个解决方法在前面的 cocos2d-x 3.0游戏实例学习笔记 《跑酷》 第五步–button控制主角Jump&Crouch 其中有具体解决方法

或者留下邮箱

已经修复bug,而且共享下载地址已经改动—–2014-8-2

链接:  整个项目 204m    ———-      资源&代码 1.18m

注意一个地方:PlayScene中的crouchEvent函数中,我们须要加入�一个推断, 在m_runner->getState() == running 的情况下 再运行 m_runner->Crouch();m_runner->setPosition(…….);  不然在跳起来的情况下,buttonCrouch,主角尽管不会Crouch,但是会 setPosition 改变位置。。。。。。。 

仅仅是在昨天另一个小问题,本来想昨天攻克了,然后一起在这里给出。谁知道。。。。哎哎。。问题就是:

我们游戏中,主角撞到岩石,然后切换到GameOver 场景,这个场景中有一个button,reStart。又一次開始,按下去回调函数是切换为游戏场景。。。可是button会失效。。。。可是这里并非button写出问题啦,我在AppDelegate中,用GameOver场景,然后button是能够切换到游戏场景。。游戏结束切换到MainScene之后,startbutton又失效啦。。。这里也问了不少人,可是因为个人描写叙述不清,所以没有得到解决,这里希望下载源代码的各位能找到解决方法,与我以及大伙分享下。。。

哈哈哈,仰天长啸。bug解决啦,事实上就是在碰撞检測中加入�事件派发的时候出了问题:

错误的代码改动:

<span style="font-size:14px;">void PlayScene::onEnter(){
	Layer::onEnter();
	auto contactListenner = EventListenerPhysicsContact::create();

	//CC_CALLBACK表示回调函数的參数个数
	contactListenner->onContactBegin = CC_CALLBACK_1(PlayScene::onContactBegin,this);

	//dispatcher = Director::getInstance()->getEventDispatcher();//这里不再使用自己弄的事件派发
	//_eventDispatcher应该是一个时间派发的全局变量。。所有给它管理就是的
	_eventDispatcher->addEventListenerWithSceneGraphPriority(contactListenner,this);
}</span>


新的完整project项目已经打包,上面的下载地址也都更新啦……啦啦啦,最终能够安心的弄下一个游戏实例啦


总结:事实上学习过程中,个人觉得最有效的方法就是:学习了知识点,然后用实例练习,并且在实例练习其中。我们应该是先了解设计思想,然后自己先试着实现,过程中可能会遇到非常多问题,你能够查看源代码,单独抽离部分功能成一个样例測试,或者百度&问大牛们。。。。而不是一有点问题就到处问,用我们一位老师的话来说就是:学会自学将让你受益终生。

OK,个人愚昧观点,欢迎指正与讨论

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/118701.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 局域网内不同网段的设备互相连接设置

    局域网内不同网段的设备互相连接设置这个问题是我在实际中遇到的,如下图所示,我的主机有一个公司内网的IP,可以自动获取,也可以设置固定IP,不管怎么样,网段是172.16.0.xxx,不同的部分只是这里的xxx,我的主机IP是172.16.0.83。但是有时候,我们会从别的地方拿过来一块开发板,而开发板内部的IP基本是写死的,假如这个IP是192.168.253.10,我们会使用一个交换机,然后把外网引进来,而我…

  • PCL 平面点云B样条曲线拟合

    PCL 平面点云B样条曲线拟合平面点云B样条曲线拟合

  • JS跳转代码_javascript跳转代码

    JS跳转代码_javascript跳转代码<scriptlanguage=”javascript”type=”text/javascript”>functionrequest(paras){varurl=location.href;varparaString=url.substring(url.indexOf(“?”)+1,url.length).split(“&”);varparaObj={}for(i=0;j=paraString[i];i++){paraObj[j.substrin

  • html背景图片拉伸解决办法

    html背景图片拉伸解决办法html背景图片拉伸解决办法body{background-size:100%100%;//关键代码,直接拉伸背景图background-image:url(“img/99.jpg”);//背景图导入background-repeat:no-repeat;//不重复拉伸background-attachment:fixed;//此代码用于页面内容超出屏幕,

  • stringbuffer截取一段字符串_flutter常用插件

    stringbuffer截取一段字符串_flutter常用插件stringstr=”123abc456″;inti=3;1.取字符串的前i个字符str=str.Substring(0,i);2.去掉字符串的前i个字符str=str.Substring(i);3.从右边开始取i个字符str=str.Substring(str.Length-i);4.从右边开始去掉i个字符str=str.Substring(0,str.Len…

  • javascript_JavaScript走向成熟

    javascript_JavaScript走向成熟javascript明年JavaScript将有20年的历史(从首次在Netscape浏览器中首次亮相开始算起)。这是一门具有悠久历史的语言,并且从其早期开始就带来了很多负担,但是随着它离开少年时代的到来,我认为这是一种最终发展起来的语言。JavaScript通过允许脚本在浏览器中运行来彻底改变了Web。但是,在最初流行之后,它很快就开始受到不良声誉,并且经常与编写不良,剪切粘贴的代码…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号