自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

转载 【cocos2d-x 3.0之四】CC_CALLBACK原理及应用

c++ 11 基础 :    std::function        类模版 std::function是一种通用、多态的函数封装。std::function的实例可以对任何可以调用的目标进行存储、复制、和调用操作,这些目标包括函数、lambda表达式、绑定表达式、以及其它函数对象等。用法示例:①保存自由函数?12

2015-03-15 21:00:34 476

转载 总结Cocos2d-x 3.x版本的一些变化

【Cocos2d-x v3.0 亮点】使用 C++(C++11) 的特性取代了 Objective-C 的特性优化了 Labels优化了渲染器(比 v2.2 更快)新的事件分发机制物理引擎集成新的 UI 对象模板容器    * 使用 cocos2d::Map    * 使用 cocos2d:

2015-03-15 20:22:44 494

转载 Cocos2d-x 3.x -- 总结数学类Vec2/Size/Rect

数学类Vec2、Size、Rect,是Cocos2d-x中比较常用的类。比如设置图片位置,设置图片大小,两图片的碰撞检测等等。比起2.x版本,在3.2版本中本质上其实没有太大的变化,主要的变化就是将全局宏定义相关的操作封装到各自的类中而已。比如:Vec2的向量运算宏定义ccp***(),现在都已经封装到Vec2类里面去了。【Vec2】Vec2原名Point,它既

2015-03-15 20:20:02 1230

原创 【C++11】新特性——常量表达式constexpr

C++语言一直具有常量表达式的概念。这些诸如3+4之类的表达式总是产生相同的结果且不具备副作用。常量表达式给编译器带来了优化的可能,而编译器也经常在编译期执行此类表达式并将结果存放在程序中。此外,C++语言规范中有一些地方需要使用常量表达式。定义数组需要常量表达式,而枚举值也必须是常量表达式。然而,每当碰到函数调用或对象构造,常量表达式便不再有效。所以简单如下例便不合法:int G

2015-03-15 19:40:29 2808

原创 【C++11】新特性——decltype

在C++中,decltype作为操作符,用于查询表达式的数据类型。decltype在C++11标准制定时引入,主要是为泛型编程而设计,以解决泛型编程中,由于有些类型由模板参数决定,而难以(甚至不可能)表示之的问题。泛型编程在整个1990年代越发流行,对实现类型推导机制的需求也应运而生。为此,许多编译器厂商都基于程序语言现有的功能,自行实现了这类操作符,其实现如typeof,以及一些功能有限

2015-03-15 19:33:51 505

转载 【C++11】新特性——weak_ptr

weak_ptr弱指针(weak pointer)经常被解释为用来打破使用shared_ptr管理的数据结构中循环(?)。但是我认为,将weak_ptr看成是指向具有下列特征的对象的指针更好一些。只有当对象存在的时候,你才需要对其进行访问并且它可能被其他人删除释放并且在最后一次使用之后调用其析构函数(通常用于释放那些不具名的内存(anon-memory)资源(译注:weak

2015-03-15 19:28:53 565

转载 【C++11】新特性——unique_ptr

unique_ptrunique_ptr(定义在中)提供了一种严格的语义上的所有权o 拥有它所指向的对象o 无法进行复制构造,也无法进行复制赋值操作(译注:也就是对其无法进行复制,我们无法得到指向同一个对象的两个unique_ptr),但是可以进行移动构造和移动赋值操作o 保存指向某个对象的指针,当它本身被删除释放的时候(例如,离开某个作用域),会使用给定的删除器(delete

2015-03-15 19:26:06 420

转载 【C++11】新特性——共享资源的智能指针shared_ptr

shared_ptr被用来表示共享的拥有权。也就是说,当两段代码都需要访问一些数据,而它们又都没有独占该数据的所有权(从某种意义上来说就是该段代码负责销毁该对象)。这时我们就需要shared_ptr。shared_ptr是一种计数指针。当引用计数变为0时,shared_ptr所指向的对象就会被删除。下面我们用一段代码来说明这点。 void test() { sha

2015-03-15 19:21:20 419

转载 【C++11】新特性——function、bind以及lamda表达式

本文主要内容是C++0x中新增的function对象、bind机制和lambda表达式。之所以把这三块放在一起讲,是因为这三块之间有着非常密切的关系,通过对比学习,加深对这部分内容的理解。在开始之间,首先要讲一个概念,closure(闭包),这个概念是理解lambda的基础。下面我们来看看wikipedia上对于计算机领域的closure的定义:A closure (als

2015-03-15 19:13:21 433

转载 【C++11】新特性——std::function

用过C#的人,一般都知道委托和事件。如果没有用过C#,我在这里简单解释一下委托,如果用过了,下面可以skip。委托是一个方法声明,我们知道,在C语言中,可以通过函数指针表示一个地址的CALL方法,委托在C#中也差不多是干这样的工作。但是委托有一些不同,主要的地方就是,在C++中,函数指针并不是“面向对象”的,比如,我们有一个类CTest,类中有一个成员方法foo,此时如果我们要通过

2015-03-15 19:11:52 3396

转载 【C++11】新特性——std::function 和 std::bind

标准库函数bind()和function()定义于头文件中(该头文件还包括许多其他函数对象),用于处理函数及函数参数。bind()接受一个函数(或者函数对象,或者任何你可以通过”(…)”符号调用的事物),生成一个其有某一个或多个函数参数被“绑定”或重新组织的函数对象。(译注:顾名思义,bind()函数的意义就像它的函数名一样,是用来绑定函数调用的某些参数的。)例如: int f(

2015-03-15 18:48:04 351

转载 Sprite 3D用法和相关特性详解

转载自:http://cn.cocos2d-x.org/tutorial/show?id=1188一直以来Cocos2d-x游戏引擎留给大家的印象是一款纯2D游戏引擎,它在2D手机游戏开发方面有很出色的表现,不过现在我要告诉大家,今天的Cocos2d-x已经不再是一款只能开发2D游戏的游戏引擎了,从v3.1版本开始,Cocos2d-x已经支持obj格式的3D静态模型的显示,在v3.2 版本

2015-03-14 22:36:50 467

原创 Windows7上搭建cocos2d-x 3.4开发环境

在windows7上搭建COCOS2D-X开发环境并不难, 但是由于框架更新过快,很多用户都有困难。我希望你们认为这个教程有用。建议:为了避免安全相关的问题,请以管理员权限执行所有的操作,当运行命令的时候,也要确保之前是以管理员权限打开了命令行窗口.工具准备搭建开发环境需要安装工具包括Visual Studiopython ———(本教程以python2.7.3版本

2015-03-14 21:02:38 1228

转载 GitHub for Windows使用图文教程

Git已经变得非常流行,连Codeplex现在也已经主推Git。Github上更是充斥着各种高质量的开源项目,比如ruby on rails,cocos2d等等。对于习惯Windows图形界面的程序员来讲,Github的使用是需要点时间和耐心的,然而最近Github发布了Github for Windows 则大大降低了学习成本和使用难度,他甚至比SVN都简单,好吧,你不信,我们来一步一步

2015-03-07 22:41:45 354

转载 GitHub是什么?GitHub如何使用?

GitHub有个未知安全检测,当访问比较频繁的时候,会直接返回403错误。作者就加了一条规则:如果返回的是403,就每5秒重试一次,并且是永久重试。结果GitHub认为用户访问更频繁了,于是一直返回403,最后成了死循环,再加上作者显然低估了抢票插件的用户数,就正好构成了DDOS(Distributed Denial of Service,分布式拒绝服务)的定义。在github之前,S

2015-03-07 22:38:07 847

转载 完成端口(Completion Port)详解

完成端口(Completion Port)详解                                                            ----- By PiggyXP(小猪)前 言        本系列里完成端口的代码在两年前就已经写好了,但是由于许久没有写东西了,不知该如何提笔,所以这篇文档总是在酝酿之中……酝酿了两年之后,

2015-03-07 21:34:29 460

转载 cocos2d-x之CREATE_FUNC宏

阅读cocos2d-x demo的代码,我们会看到有些头文件中使用CREATE_FUNC这个宏,那么它是做什么的呢?在cocos2d-x 又是起什么作用呢?下面我们就一起来看看CREATE_FUNC宏的源代码:[cpp] view plaincopy/**  * define a create function for a specifi

2015-03-05 19:52:28 385

转载 【cocos2d-x 3.0之三】新触摸机制的前奏——Lambda

在介绍3.0新的触摸机制之前,我们有必要先介绍一下3.0新引进的C++ 11的Lambda表达式。1. Lambda表达式首先,什么是Lambda表达式呢?Lambda表达式是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的Lambda抽象,是一个匿名函数,即没有函数名的函数。相信有数学背景的孩子,现在是不是感觉到Lambda这个读音很耳熟呢?嘿嘿

2015-03-05 19:45:20 329

转载 【cocos2d-x 3.0之二】事件回调函数的变化

从3.0开始,事件回调函数由原来的schedule_selector和menu_selector等变成CC_CALLBACK_0、CC_CALLBACK_1、CC_CALLBACK_2、CC_CALLBACK_3。下面先来介绍几个1. CC_CALLBACK_1[cpp] view plaincopyv2.2  MenuIte

2015-03-05 19:44:08 532

转载 【cocos2d-x 3.0之一】一些小变化

用了cocos2d-x 3.0版本,发现有一些小变化,用此篇来记录一下小变化,不断更新中。1. 从此不再见到以CC开头的类,因为CC被去掉了,并且定义的时候用auto:[cpp] view plaincopyv2.2            v3.0  CCDirector      Director          CCLaye

2015-03-05 19:42:12 332

转载 【C++11】新特性——引入nullptr

1. 引入nullptr的原因引入nullptr的原因,这个要从NULL说起。对于C和C++程序员来说,一定不会对NULL感到陌生。但是C和C++中的NULL却不等价。NULL表示指针不指向任何对象,但是问题在于,NULL不是关键字,而只是一个宏定义(macro)。1.1 NULL在C中的定义在C中,习惯将NULL定义为void*指针值0:[cpp] view

2015-03-05 19:35:10 317

转载 【C++11】新特性——auto的使用

C++11中引入的auto主要有两种用途:自动类型推断和返回值占位。auto在C++98中的标识临时变量的语义,由于使用极少且多余,在C++11中已被删除。前后两个标准的auto,完全是两个概念。1. 自动类型推断    auto自动类型推断,用于从初始化表达式中推断出变量的数据类型。通过auto的自动类型推断,可以大大简化我们的编程工作。下面是一些使用auto的例子。

2015-03-05 19:32:46 353

转载 C++之STL

STL就是Standard Template Library,标准模板库。这可能是一个历史上最令人兴奋的工具的最无聊的术语。从根本上说,STL是一些“容器”的集合,这些“容器”有list, vector,set,map等,STL也是算法和其它一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。是C++标准库的一个重要组成部分,它由Stepanov and Lee等人最

2015-03-05 19:21:38 327

转载 cocos2d-x 2.2.3 创建项目的方法

coco2d-x 2.2.3 创建工程不再有专门的批处理文件,而是改用了python脚本,这样修改的其中一个好处是:可以方便的一次性创建各个平台下的工程,不需要像以前一样分平台创建。但是使用起来感觉没有以前方便了,至少我刚开始用的时候是这么感觉的,于是网上查了下,参考了点资料,然后自己写了个批处理文件,感觉这样就方便多了。放在这里跟大家分享下。准备工作首先,你得下载pyth

2015-03-04 20:13:01 271

原创 cocos2d-x的实现类

下面,我们首先逐一介绍cocos2d-x对应上述基本概念的对象,以及他们之间的程序关联。CCDirector(导演类)CCDirector对象的作用类似于Windows编程中的主窗口对象(不同之处在于该对象并不可见),它负责创建、管理应用程序/游戏的主窗口,在特定的条件下显示某个场景。针对CCDirector的调用代码(下面这段代码是主程序启动时的标准步骤,在AppDelegate的a

2015-03-03 22:11:56 411

原创 cocos2d-x基本概念

场景(CCScene):我们假设一个只有两关的游戏:第一关(2个小鬼,1个小BOSS);第二关(5个小鬼,1个大BOSS)。通常情况下,我们会这样设计整个游戏的流程(workflow): 开场动画,可以有几个目的:简单介绍一下游戏操作\讲述故事背景\公司或者工作室动画LOGO进入主菜单后可以引导用户:开始新游戏\读取进度\设置游戏 声音,文字,游戏内容设置……\高分排名 通常都是列表,

2015-03-03 22:01:23 430

空空如也

空空如也

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

TA关注的人

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