自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一只程序猿

啦啦啦啦....

  • 博客(61)
  • 资源 (5)
  • 收藏
  • 关注

原创 策略模式

一件事情要做成,往往有多种方法。比如一个专业3个班级,每个班级都是30人,要计算整个专业的人数,对于这个问题,我们既可以用加法也可以用乘法完成。 策略模式针对的就是这种情况:一个问题多种解法(策略)。 简介/* 策略模式*/#ifndef _STRATEGY_#define _STRATEGY_#define NULL 0//抽象基类class Cash{public

2016-03-02 18:09:48 1772

原创 Cocos2d-x 3.x ClippingNode裁剪节点

ClippingNode是Node的一个子类。 它使用一个模板来裁剪绘制内容。 模板是一个其他节点,不会被绘制。 使用模板的alpha部分来进行裁剪(通过调整alphaThreshold)。简介如图: 实现思路: 1.采用遮罩的形式突出引导重点,同时屏蔽其它功能。 2.在遮罩添加解说UI及相应动画如图:注:光亮区域即是可触碰区域。具体实现:ClipingNode 为了实现遮罩功能,我们选

2016-03-02 14:44:31 2532

原创 Hihocoder 1039 : 字符消除

问题描述小Hi最近在玩一个字符消除游戏。给定一个只包含大写字母”ABC”的字符串s,消除过程是如下进行的:1)如果s包含长度超过1的由相同字母组成的子串,那么这些子串会被同时消除,余下的子串拼成新的字符串。例如”ABCCBCCCAA”中”CC”,”CCC”和”AA”会被同时消除,余下”AB”和”B”拼成新的字符串”ABB”。2)上述消除会反复一轮一轮进行,直到新的字符串不包含相邻的相同字符为止。例如

2016-03-01 20:50:25 756

原创 飞机大战

首先从以下几个方面,简单分析一下这个游戏。1 角色 游戏主要包含两类角色:自己的控制的飞机(主角) 和 自动下降的飞机(敌机) 。本示例采用组合的方式。2 碰撞检测 主角飞机会发射不停的发射子弹,而敌机碰到子弹后会发生爆炸而消亡;同样,如果敌机一直没有被子弹打中,那么当敌机碰到主角飞机时,则会导致两败俱伤。3 分数系统 主角飞机发射的子弹打中一架敌机则应该对应的得到分数奖励。效果图如下:

2016-03-01 10:09:41 1148

原创 Cocos2d-x 3.x数据存储(UserDefault)

UserDefault 是一个小型的数据管理类。可以通过这个类保存并获得基本类型值的数据。基本概念UserDefault是一个单例类。作为数据管理类,它将创建一个名为”UserDefault.xml“的文件,用于存储数据; 而读取数据时,也将是对这个文件进行解析。所以从这一点,UserDefault更像是一个xml文件解析类。 如下这一段代码:auto data = UserDefault::g

2016-02-29 21:38:45 1014

原创 简单工厂模式

工厂模式,顾名思义,这种模式的工作方式类似于工厂。工厂包含多个车间,各个车间生产不同的产品,客户向工厂提交不同的需求,工厂都能根据客户的需求提交产品。模式定义简单工厂模式:又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。

2016-02-28 22:17:06 1557

原创 Cocos2d-x 3.x引用计数

引用计数:每一个对象都维护了一个 对象所有引用的计数值(表示有多少这个对象的引用,在堆内存中,只有一份该对象资源,但是由堆是共享的,那么该对象资源可以在其他函数内通过对象指针引用)。当一个新的引用指向对象时,引用计数器就递增,当去掉一个引用时,引用计数就递减。当引用计数到零时,该对象就将释放占有的资源。举例说明 如上图所示,我们在fun()函数中,通过Sprite::create(“xxx.pn

2016-02-27 22:10:11 1039

原创 Cocos2d-x 3.x物理世界

Box2D 和 Chipmunk2D 是以往 cocos2d 中两款常用的物理引擎,这两个物理引擎精确的说是刚体物理仿真库,这里的物理就是刚体动力学。而我们在谈到这物理引擎的时候,经常会听到刚体(Rigid body)。那什么是刚体?刚体就是在任何外力的作用下,体积和形状都不发生改变的物体。动力学又是什么?动力学是计算刚体在受力作用下随时间移动并相互作用的一个过程。Box2D和Chipmunk2D两

2016-02-27 18:25:28 2801

原创 Cocos2d-x 3.x序列帧动画

Animation : 一个给精灵对象执行的帧动画对象。 Animate:是将动画包装成动作的类。 AnimationCache:管理动画的单例。简介AnimationAnimation帧动画对象包含动画帧对象,和帧间时长等等。1 精灵帧(SpriteFrame) 每一个Animation对象,是由多个SpriteFrame组成。2 帧间隔时间(delayPerUnit) 动画中的

2016-02-25 14:47:31 7291 2

原创 Cocos2d-x 3.x进度条

ProgressTimer是cocos2d提供的进度条类。基本概念ProgressTimer派生自Node类,采用组合的方式管理一个Sprite对象。该类根据百分比来渲染显示内部的Sprite对象。变化方向包括径向,水平或者垂直方向。属性 ProgressTimer对象默认 是径向,显示比例是0.0%,Midpoint(0.5,0.5),barChangeRate(1.0,1.0)。1 进

2016-02-25 11:10:36 1826

原创 Cocos2d-x 3.x图元绘制

cocos2d提供了绘制点、线段和多边形等等基本图元的功能。简介在3.x版本中,DrawNode是用于绘制基本图元的类。由于它使用了”批处理”(Batch draw),因此它绘制点、线段、多边形都要比DrawPrimitives快。基本API点void drawPoint (const Vec2 &point, const float pointSize, const Color4F &col

2016-02-24 22:23:57 403

原创 Cocos2d-x 3.x文件操作

FileUtils类是cocos2d提供的文件操作类。简介FileUtils:处理文件操作的通用工具类,是个单例类,提供了整个引擎资源文件的默认搜索路径。(资源文件的默认搜索路径是 :Resources文件夹)。与路径相关API获得搜索路径virtual const std::vector < std::string > & getSearchPaths () const增加搜索路径

2016-02-24 21:48:04 766

原创 利用图层制作选项卡

目的: 利用LayerMultiplex制作选项卡。效果如下: LayerMultiplexMultipleLayer是一种图层类,继承自Layer,它支持多路复用孩子节点。 特点: 它支持一个或多个孩子节点 同时只有一个孩子节点会被激活 作用: 用于管理Layer的切换,而不用切换场景 部分代码如下:bool TabContr

2016-02-24 15:41:06 517

原创 Cocos2d-x 3.x瓦片地图

瓦片地图,顾名思义,就是整张地图是使用小图片(瓦片)拼接而成,这样可以大大地减少内存消耗。如下图所示的瓦片地图,只需要三个瓦片就可以了。瓦片地图 地图使用的瓦片 分类瓦片地图可以分为3类:直角地图、斜角地图和六边形地图。1 直角地图 直角地图,是使用方形瓦片构建,每块瓦片的x,y和屏幕对应平行,构成瓦片地图的瓦片不一定是正方形,也可以是长方形瓦片。2 斜角地图 斜角地图,每块瓦片的

2016-02-23 13:22:49 979

原创 Cocos2d-x 3.x控制器模式

该模式不是23种设计模式中的一种,是游戏开发中经常采用的一种设计模式,在此,顺便拿来讨论。模式定义 该模式描述了“控制器”和“被控对象”之间的关系,被控对象同一时刻可能被多个控制器控制。实例在游戏中,精灵的移动可以表现为多种方式(平移,贝塞尔曲线等等)。为了方便控制精灵,我们可以设计多种控制器用于控制精灵。首先,控制器为了能够控制精灵,应该保留一份被控对象的指针。被控对象#include

2016-02-22 13:12:52 806

原创 观察者模式

观察者模式又称作:Model/View模式、发布/订阅模式。观察者模式讲求的是:当“对象”(被观察者)发生变化的时候,观察者能够收到来自“对象”的通知,并作出相应改变。整个模式给人的感觉就像是,观察者一直在观察”对象“。模式定义观察者模式:定义对象间的一种一对多依赖关系,使得每当一个对象状态(目标)发生改变时,其相关依赖对象(观察者)皆得到通知并被自动更新。UML图: 代码解析1 简单版首先给

2016-02-21 14:18:34 1761

原创 Cocos2d-x 中文乱码问题

Visual Studio 默认采用gb2312编码(使用Notepad++打开由vs创建的文件时,在右下角可以看到文件当前的编码格式),而cocos2d-x采用utf-8编码,由于采用不一致的编码格式,导致中文显示出现乱码问题。基于上述问题根源,我们不妨推测只要改变纠正编码格式,问题应该就应该能解决。以下是已经经过验证的几种解决方法:1 借助Notepad++用Notepad++打开vs创建的文

2016-02-21 10:46:50 746

原创 单例模式

- 对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统只能有一个窗口管理器或文件系统;一个系统只能有一个计时工具或ID(序号)生成器。- 如何保证一个类只有一个实例并且这个实例易于被访问呢?定义一个全局变量可以确保对象随时都可以被访问,但不能防止我们实例化多个对象。- 一个更好的解决办法是让类自身负责保存它的唯一实例。这个类可以保

2016-02-20 16:18:35 1849

原创 Cocos2d-x 3.x事件机制源码分析

整个事件机制,由以下几个部分构成:事件 : 描述事件。监听器 : 描述事件接收者与事件的“兴趣关系”。分发器 : 针对所产生的事件,将事件分发给符合事件类型的事件接收者。整个事件机制采用观察者模式,GL视图负责感应事件的产生,并包装事件,然后主动调用分发器的dispatchEvent函数用于分发。GL视图是观察者,图层或者说场景是被观察者。GL视图观察到事件,然后通过事件分发器通知被观察者。监

2016-02-20 15:17:26 760

原创 Cocos2d-x 3.x启动过程

整个程序的开始是由调用run()开始,负责初始化应用程序环境,消息循环及场景渲染。int Application::run(){ //在注册表中写入对于PVRFrame图像文件帧的显示和隐藏的设置 PVRFrameEnableControlWindow(false); // Main message loop: LARGE_INTEGER nLast; LA

2016-02-20 10:37:38 2296

原创 Cocos2d-x 3.x开篇

作为移动游戏开发的爱好者及新手,之前一直徘徊于选择哪个平台进行学习,是Android还是IOS。徘徊之际,有幸得知cocos2d-x游戏框架可以用一套代码编译成多个平台适用,基于这个特点,我便开始好奇它是如何做到跨平台的。本系列blog是基于cocos2d-x 3.9版本,cocos2d的安装有很多blog都讲了,在此就不再赘述了。以下是整个系列的目录:1、3.x事件机制源码分析

2016-02-20 10:30:26 344

算法的乐趣 完整带书签

算法的乐趣 完整带书签。 由epub格式转换而来

2016-05-04

cocos2d中文参考手册 v3.9.chm

cocos2d中文参考手册 v3.9.chm

2016-05-02

MIC高性能计算编程指南

浪潮主编的关于Intel Xeon Phi的高性能编程书, 大致介绍了基于MIC架构的编程模型

2016-03-30

飞机大战参考源码

是自己动手写的一个一个小游戏,参照微信《飞机大战》写的一个小游戏。

2016-03-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除