cocos2dx实战篇——Demo《横版拳击》学习心得

【唠叨】

源码教程请移步:http://blog.csdn.net/iamlazybone/article/details/19612941

感谢懒骨头提供了这么多的Demo教程,对于初学者的我而言,帮助真的十分大。

注:本节仅仅记录博主自身学习《横版拳击》的心得体会。

【游戏截图】



【学习心得】

0、编码步骤

(1)实现摇杆SneakyInput

(2)实现ActionSprite

(3)实现Hero,走动+攻击+受伤+死亡

(4)实现Enemy和EnemyManager,走动+攻击+受伤+死亡

(5)实现Hero和Enemy能够相互攻击

(6)实现Enemy的AI,自动走路+自动攻击

(7)实现游戏场景GameScene和瓦片地图

1、虚拟摇杆SneakyInput

请移步:http://shahdza.blog.51cto.com/2410787/1549666

2、瓦片地图CCTMXTiledMap

(1)getMapSize() :地图tile数量。

.width   -->  width横向tile瓦片个数。

.height  -->  height纵向tile瓦片个数。

(2)getTileSize():每个tile的尺寸,单位:像素。

.width   -->  每个瓦片的宽。

.height  -->  每个瓦片的高。

(3)添加瓦片地图:CCTMXTiledMap::create("pd_tilemap.tmx")。

3、背景跟随人物移动

使用ccpClamp。

//
	void GameScene::updateViewpointCenter(CCPoint pos) {
		//人物只有移动到触使背景移动的区域,背景才会跟着人物移动
		pos = ccpClamp( pos,
				ccp(mysize.width/2,mysize.height/2),
				ccp(m_tileMap->getMapSize().width * m_tileMap->getTileSize().width - mysize.width/2,
					m_tileMap->getMapSize().height * m_tileMap->getTileSize().height - mysize.height/2)
			);

		//设置游戏场景的位置,背景移动和人物移动反方向
		this->setPosition( mysize/2 - pos);
	}
//
时间: 2024-10-25 22:35:59

cocos2dx实战篇——Demo《横版拳击》学习心得的相关文章

cocos2dx实战篇——Demo《战神传说》学习心得

[唠叨] 源码教程请移步:http://blog.csdn.net/iamlazybone/article/details/19612941 感谢懒骨头提供了这么多的Demo教程,对于初学者的我而言,帮助真的十分大. 注:本节仅仅记录博主自身学习<战神传说>的心得体会. [游戏截图] [学习心得] 1.CCSprite从大图里截取小图 // //CCRectMake构造为UI坐标,原点在左上角. CCSprite* sp = CCSprite::create("menu.png&qu

cocos2dx实战篇——Demo《萝莉快跑》学习心得

[唠叨] 源码教程请移步:http://blog.csdn.net/iamlazybone/article/details/19612941 感谢懒骨头提供了这么多的Demo教程,对于初学者的我而言,帮助真的十分大. 注:本节仅仅记录博主自身学习<萝莉快跑>的心得体会. [游戏截图] [学习心得] 1.游戏主场景分层 如果将所有的元素全部都写在一个Game类里面,会很混乱,且改动也很麻烦. 所以应该对游戏的元素进行分层,如:背景层.人物层.怪物层.道具层等. 然后再将所有的层放入Game场景中

第一篇大数据学习心得

之前未习惯发布学习心德博文,后续会采用这种方式发布学习心得,希望能够很好的督促自己. 计划会按scala,Hadoop,Spark的顺序去学习. 刚学scala的时候,眼前一亮,这语法跟python,java很像啊,刚好两者很熟悉,偷笑,后面果然学的得心应手.今天就不发表具体的技术内容.反正王学林老师的视屏讲解很好,声音非常富有感染力,想开小差都比较难,呵呵,话语精炼,个人较喜欢的风格,这里说下这段时间学习scala的小心得?,视频学完一章紧接着进行敲代码,调试,最后记笔记,对,记笔记,不一定是

2016年2月16日开始,每天一篇,记录学习心得,开篇《如何阅读一本书——心得》

如何阅读一本书——心得 ——2016年2月12日 要达到阅读的所有目的,就必须在阅读不同书籍的时候,运用适当的不同速度.读的太快或太慢,都一无所获. 四个阅读层次:①基础阅读,具有基本阅读的能力,包括认识字,懂得词,知会句子的基本意思等.②检视阅读(也是判断一本书是否值得分析阅读和主题阅读标准的形成过程),分为两层:第一层阅读作者,前言,包括索引,目录等内容形成大致书籍的轮廓,第二层是略读,即粗浅的阅读,把不懂或不熟悉的内容略去,只读读得懂的部分,快速的把整本书读完,但是在这个过程中最重要的就是

《Cocos2d-x实战:C++》学习笔记(1)——基础概念

1.导演(Director) 导演类(v3.0之前是CCDirector)用于管理场景对象,采用单例设计模式,在整个工程中只有一个实例对象.由于是单例模式,能够保存一致的配置信息,便于管理场景对象.用getInstance()方法获取Director的实例.导演对象的职责如下: 访问和改变场景 访问Cocos2d-x的配置信息 暂停.继续.和停止游戏 转换坐标 Director类的类关系 2.场景(Scene) 场景类(v3.0之前是CCScene)是构成游戏的界面,类似于电影中的场景.场景大致

STM32学习心得——MDK开发模板的创建

其实这一篇应该是学习心得的第一篇文章,但是由于种种原因,这篇文章到现在才放出来 STM32F407ZGTx Template 源码下载地址:https://github.com/stark-zhang/STM_Template 该源码上传时,删除了体积较大的lib文件和Keil MDK的配置文件,今天,就分享一下如何用这份源代码创建一个MDK工程 首先下载解压该模板,模板内一共有六个文件夹和一些说明文件 1. Lib_Create 生成STM官方标准库lib文件的工程文件夹 2. Lib_Mat

Java开发学习心得(二):Mybatis和Url路由

Java开发学习心得(二):Mybatis和Url路由 序号接上一篇Java开发学习心得(一):SSM环境搭建 1.3 Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .MyBatis是一个基于Java的持久层框架.iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几

cocos2dx[3.2]实战篇——《三消类游戏》学习心得

[唠叨] 源码教程请移步:http://cn.cocos2d-x.org/tutorial/show?id=815 注:本节仅仅记录博主自身学习<三消类游戏>的心得体会. [游戏截图] [学习心得] 1.屏幕适配策略 手机和平板电脑的屏幕比例主要为16:9.16:10.4:3.3:2. 这就说明使用16:9的比例是比较好的选择.那么我们使用一张高宽比例为16:9的背景图片,然后将适配模式设置为:ResolutionPolicy::FIXED_WIDTH(让宽适配屏幕). 注:宽适配只使用本游戏

Cocos实战篇[3.2]——《战神传说》Lua版

[唠叨] 当时学Lua的时候,我将<战神传说>用Lua也写了一遍. C++版的<战神传说>参考这篇:http://shahdza.blog.51cto.com/2410787/1549660 [源码] https://github.com/shahdza/Cocos-Lua_Plane [学习心得] 1.继承自cc.Sprite后,设置自身纹理图片的方式 -- [方式一]通过精灵帧设置 cc.SpriteFrameCache:getInstance():addSpriteFrame