• 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,个人愚昧观点,欢迎指正与讨论

  • 相关阅读:
    jenkins 安装及配置(Windows环境)
    .net 部署iis 为https安全协议解决方案
    利用Aspose转换office成PDF API程序
    Quickuse.Lock 快速应用.锁
    微信公众号获取图片时报错43003
    C# Windows系统运行exe程序提示'net'不是内部或外部命令,也不是可运行的程序或批处理文件
    C# 共享目录如何登录
    Window系统 如何拷贝命令提示符中的数据
    Windows系统 如何获取文件的MD5
    jq table 自动滚动
  • 原文地址:https://www.cnblogs.com/yxwkf/p/3903981.html
Copyright © 2020-2023  润新知