手把手教你学会使用Quick-Cocos2d-x制作横版过关游戏【上课中!!~】

http://www.cocoachina.com/bbs/read.php?tid=217304#10156367月31日下午2--4点答疑笔记!!!!!!!!

学习Cocos引擎最快的方法就是跟着教程一步步学习实践,最终完成教程演示的demo,你在学习过程中是否遇到过问题和障碍呢?为了让你的学习之路更加顺畅,我们社区特别组织了系列教程在线学习活动:第一期就由Cocos引擎教程组的王帅(社区id :http://www.cocoachina.com/bbs/u.php?action=show&uid=91034)给大家带来http://cn.cocos2d-x.org/tutorial/lists?id=69系列教程,并提供相应教学指导。

本教程共六讲,每讲1-2个小时,
每周二发一讲教程,每周四下午2点-4点本教程撰写者http://www.cocoachina.com/bbs/u.php?action=show&uid=91034会进行教程专项答疑,大家有问题可以直接在本帖中以回帖形式发布~到时候英俊神勇的王老师会一一回答哦~~~

希望学习本教程的同学,在学习之后把完成的游戏源码和截图发布到本帖中,王帅老师会对所有的作品进行点评,
有创新的、优秀的
作品发布者将可获得Cocos2d-x纪念T恤一件!

— Begin quote from ____

教程名称:使用Quick-Cocos2d-x制作横版过关游戏

— End quote

教程目标:从零开始讲解使用Quick-Cocos2d-x制作游戏的步骤。基本上覆盖了所有的基本知识点,在跟随教程的学习完成后,能够使用Quick-Cocos2d-x制作自己的游戏,能够掌握Quick-Cocos2d-x的基本上所有的常用方法和类。对于从未制作过游戏的开发人员,能够熟悉游戏开发中的常用技能和基本概念。

学习要求:有一定编程基础,懂Lua语言,懂基本的2dx运用

资源包地址:https://github.com/rainswan/Brave

进度安排:
课程内容学习时间建议第一讲:http://cn.cocos2d-x.org/tutorial/show?id=11931-2小时第二讲:http://cn.cocos2d-x.org/tutorial/show?id=12081-2小时第三讲:http://cn.cocos2d-x.org/tutorial/show?id=12602小时第四讲:http://cn.cocos2d-x.org/tutorial/show?id=13192小时第五讲:http://cn.cocos2d-x.org/tutorial/show?id=13562小时第六讲:http://cn.cocos2d-x.org/tutorial/show?id=13952小时

本期奖品:

点击上面列表中已发布的教程,马上开始愉快的学习之旅吧!!!

7月31日下午2–4点答疑笔记!!!!!!!!

— Begin quote from ____

引用第19楼wei_bj于2014-07-29 14:17发表的 :
function MainScene:addTouchLayer()
local function onTouch(eventName, x, y)
if eventName == “began” then
self.player:walkTo({x=x,y=y})
end
end

eventname什么情况下会是 began ?代码中没有交代

— End quote

这个是触摸的事件,比如你手指按下,手指滑动或者抬起,都会有事件下发

— Begin quote from ____

引用第20楼wei_bj于2014-07-29 14:19发表的 :
此外,能否对“CCNode的对象都能够接收触摸事件”做举例说明,或是提供文档或是相关学习的源代码?

— End quote

这个的意思就是只要你的类是从CCNode继承下来的,那么就可以通过addNodeEventListener(cc.NODE_TOUCH_EVENT的方式来注册触摸事件

— Begin quote from ____

引用第37楼pk27602017于2014-07-29 21:29发表的 :
加入素材了,但是还是显示这个…用Sprite#没有问题.

— End quote

这个是因为动画没找到图片,生成不了,Quick里面加#的话表示从Cache里面读图片,没有#的话表示从文件读

— Begin quote from ____

引用第44楼qq253361215于2014-07-30 18:00发表的 :
求cc命名空间下的api文档

— End quote

api文档找廖大要,其实在Quick引擎的docs目录下面是有api文档的

— Begin quote from ____

引用第54楼pk27602017于2014-07-31 11:20发表的 :
老师,我有一个问题,代码中self.sprite和local sprite这两者有什么区别吗??我看你的代码中有类似的代码,看的稀里糊涂,不是很明白

— End quote

self.xxx类似与c++中类的成员变量,local 表示局部变量,可以看下lua的书

— Begin quote from ____

引用第53楼pk27602017于2014-07-31 09:00发表的 :
我有很多个文件上下左右不同的文件,这样全塞进一个Frames里面还是左右分开来放?

— End quote

这个可以看你具体的需要

— Begin quote from ____

引用第63楼pk27602017于2014-07-31 14:24发表的 :
newSprite一个image之后,我想要在之后比如玩家进入一个场景回来之后,把这个新的图片更改成另外一张图片,不同函数块要怎么修改.,

— End quote

local frame = CCSpriteFrameCache:sharedSpriteFrameCache():spriteFrameByName(“player1-2-4.png”);
self:setDisplayFrame(frame);

— Begin quote from ____

引用第73楼爱吃鱼的喵喵于2014-07-31 14:58发表的 :
老师,骨骼动画在quick里面是怎么用的,还有spine怎么是收费的,有没替代的工具使用呢。

— End quote

骨骼动画的话你可以看下Quick的samples里的dragonbones,至于骨骼动画目前cocostudio,dragonbones,spine都可以用

— Begin quote from ____

引用第76楼爱吃鱼的喵喵于2014-07-31 15:08发表的 :
老师,在横版游戏里面,很多在线玩家都在同一个场景,切换进入下一个地图的时候,使用的是另一个Scene,请问下场景里面的玩家对象是不是不用清除,切换另一个Scene的时候,自动销毁上一个Scene的显示对象的吗?

— End quote

这个问题涉及到两方面的问题,一个是CCDirector里的场景切换,你可以看下CCDirector.h里面有关scene的几个方法:runWithScene()、pushScene()、popScene()、replaceScene()几个方法;第二个问题是内存管理机制的问题,现在的内存管理是通过parent和child来进行,如果parent node被释放的话,child node也是会被释放的

— Begin quote from ____

引用第79楼pk27602017于2014-07-31 15:26发表的 :
我想问一下,我这个场景中的所有图片在切换场景后会自动清除还是要手动.我看API貌似要手动,可是我场景中的图片好多,真的要一个个加入吗?
我用640*1140作为分辨率建立了一张图片,放在Quick中,在低于640或高于640太多的分辨率下测试左右有黑边.可以用代码补掉么?怎么补?

— End quote

1.图片资源是在Cache里的,你说的是精灵那些么?那些你如果是通过addChild添加的话,replaceScene会把前一个Scene的东西释放掉
2.你这个问题是分辨率适配的问题,你如果是用宽度适配的话,在低于或高于640分辨率的话是会自动适应屏幕宽度的,但是高度就会等比例的进行缩放

:2: :2: :2:

新手强势围观!!!!!!!!!!!!!!!!!!!!!!!

这个集体学习方式不错,呵呵。

:13: 就是说按教程然后自己也做一个这样的游戏就有机会抽奖了么?

不知道T恤能不能单独买哦:6:

mark 学习了

一直在等类似的教程。。。。

沙发。。。。

前排 只能围观:9::9:

:3: :3: :3:

支持,强烈支持教程

前排刷存在~

肉顶!:2::2::2::2:

这是大量新手的福利啊

顶起来,
:878::878::878:

顶起··························

占位,强烈的围观中…:2:

有提供学习素材吗:12: