KevinVan4
码龄14年
求更新 关注
提问 私信
  • 博客:10,865
    10,865
    总访问量
  • 19
    原创
  • 0
    粉丝
  • 0
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
加入CSDN时间: 2012-12-16
博客简介:

KevinVan4的专栏

查看详细资料
个人成就
  • 获得1次点赞
  • 内容获得2次评论
  • 获得1次收藏
  • 博客总排名309,490名
  • 原力等级
    原力等级
    0
    原力分
    0
    本月获得
    0
创作历程
  • 20篇
    2013年
TA的专栏
  • C++
    10篇
  • cocos
  • cocos2d-x
    7篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

创作活动更多

编程达人挑战赛·第12期

作为写代码的你,是否也渴望被更多人看到?技术人员普遍有一个共性——明明技术很强,却没人知道你做了什么;花了很多时间踩坑,却没人因你少走弯路;脑子里有一堆干货,但却不懂如何有效地输出。 在如今写代码的人越来越多的时代,能够清晰表达自己思路与技术的人却少之又少。 因此,我们发起了这个【编程达人挑战赛】——帮助你将代码变成作品,将技术转化为真正的价值,同时激励更多的人坚持写作与分享。 注:活动细则介绍请看此贴:[https://bbs.csdn.net/topics/619791811](https://bbs.csdn.net/topics/619791811)。

908人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

指针数组&数组指针

(1)int *ptr;//指针所指向的类型是int    (2)char *ptr;//指针所指向的的类型是char    (3)int **ptr;//指针所指向的的类型是int*(也就是一个int * 型指针)    (4)int(*ptr)[3];//指针所指向的的类型是int()[3] //二维指针的声明1. 指针数组:一个数组里存放的都是同一个类型的指针——一个数组
原创
博文更新于 2013.01.15 ·
352 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

cocos2d-x 触屏事件详解

游戏跟视频最大的区别就是互动,玩家可以操控游戏中的角色,现在的移动设备几乎人手一台,基本上全部都是基于触屏操作的,今天就来学习一下cocos2d-x是怎么实现对触屏操作的处理的。1.首先来了解一下相关的几个类、处理触屏事件时操作和执行的流程CCTouch:它封装了触摸点,可以通过locationInView函数返回一个CCPoint。CCTouchDelegate:它是触摸事件委托,就
转载
博文更新于 2013.01.17 ·
605 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

七.cocos2d-x内存管理二

在前面的介绍之中提及过工厂方法,可以看一下下面这个例子:     CCObject *Func()    {CCObject *ret = new CCObject();return ret;    }当调用语句过后,对ret对象的引用在函数返回的时候已经结束,不过却是没有释放对ret的引用,会造成内存泄漏。但是如果在函数返回之前就released就会触发对象的
原创
博文更新于 2013.01.15 ·
530 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

六.cocos2d-x内存管理一

移动设备上的硬件资源十分有限,内存尤为宝贵,开发者必须十分慎重利用内存,避免不必要的消耗,更加不能发生内存泄漏!C++作为一种比较底层的语言,设计不办函任何只能管理内存机,因此出现两个问题:    1.  一个对象在使用完毕之后必须被回收,但由于对象所有权在不同程序片段间传递或共享,使得确定回首的实际十分困难。    2. 郭雨林散的对象分配回首可能导致堆中的内存碎片化,降低内
原创
博文更新于 2013.01.15 ·
853 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

五.Cocos2d-x代码特点

一.命名空间与类名称     Cocos2d-x拥有一个包含了其他头文件“cocos2d.h”,只要包含这个头文件,就可以使用引擎的全部功能。      在游戏中,可以使用引擎提供的另一个宏USING_NS_CC来引用cocos2d命名空间,例如:          #define USING_NS_CC using namespace cocos2d二.构造函数
原创
博文更新于 2013.01.15 ·
911 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

四.cocos2d-x中的动画与动作

1.动作(Action)作用于游戏元素,可以使游戏元素运动起来,例如:移动、旋转、闪烁、消失等。通过CCAction类实现。    其中,动作又分为持续动作(延时动作)和瞬时动作,分别通过CCActionInterval类以及CCActionInstant类实现。    在这里主要介绍一下,持续动作。ocos2d-x提供的基本延时类动作都提供了ActionTo和ActionBy
原创
博文更新于 2013.01.15 ·
769 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

三.cocos2d-x的基本概念

对于一般游戏而言,大多数都会遵循这如下图所示这个流程:下面主要根据上图,介绍一下基本概念:1.场景(scene):游戏元素的集合(上图中的节点),也可以将场景视为层的组合。通过CCScene类实现2.流程控制(flow control):游戏场景之间的切换3.层(layer):是场景之下的游戏元素,层与层之间按照顺序叠放。层通过CCLayer实现4.精灵(sprite)
原创
博文更新于 2013.01.15 ·
534 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

二.Cocos2d-x创建HelloWorld工程

配置好Cocos2d-x之后,接下来就可以创建工程。这里主要创建一个简单的HelloWorld工程。1.打开VS2010,输入名称,并选择目录。2.点击“Next”,并消去“Box2D”的勾勾,点击“Finish”。3.编译运行,发现出错——找不到头文件。可将引擎下的coco2dx以及CocosDenshion拷贝到HelloWorld文件夹下面
原创
博文更新于 2013.01.15 ·
482 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

一.Cocos2d-x环境配置

Cocos2d-x 是一个支持多平台的 2D 手机游戏引擎,使用 C++ 开发。这里主要介绍一下,Cocos2d-x的配置。详情请访问其官方网站:http://www.cocos2d-x.org/    1.下载和安装      我选择的是cocos2d-2.0-x-2.0.4版本。下载地址:http://www.cocos2d-x.org/projects/cocos2d-x/wik
原创
博文更新于 2013.01.15 ·
428 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

const 作用

使用const的好处在于它允许指定一种语意上的约束------某种对象不能被修改--------编译器具体来实施这种约束。一、const用于定义常量。    例如:const int N = 100;const int M = 200;       这样程序中只要用到 N、M就分别代表为整型100、200,N、M为一常量,在程序中不可改变。      用const定义常量不仅能方便
原创
博文更新于 2013.01.15 ·
503 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

sizeof VS strlen

一、sizeof      sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。         它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。         由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配
原创
博文更新于 2013.01.15 ·
381 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

拷贝构造函数(深拷贝,浅拷贝)

对于普通类型的对象来说,它们之间的复制是很简单的,例如:           int a=88;           int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。#include using namespace std;class CExample {   private:
原创
博文更新于 2013.01.15 ·
343 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

析构函数剖析三——虚析构函数

析构函数的作用是在对象撤销之前做必要的“清理现场”的工作。当派生类的对象从内存中撤销时一般先调用派生类的析构函数,然后再调用基类的析构函数。    但是,如果用new运算符建立了临时对象,若基类中有析构函数,并且定义了一个指向该基类的指针变量(即基类指针指向子类对象)。在程序用带指针参数的delete运算符撤销对象时,会发生一个情况: 系统会只执行基类的析构函数,而不执行派生类的析构函数。
原创
博文更新于 2013.01.15 ·
497 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

析构函数剖析二

建议:      A. 不要对局部对象显式地调用析构函数,在创建该局部对象的代码块的 } 处,析构函数会自动被调用。这是语言所保证的;自动发生。没有办法阻止它。而两次调用同一个对象的析构函数,调用两次意味着第二次会试图清理已经被清理过了的,根本不再存在的数据!这是件会导致运行时错误的问题,并且在编译的时候不会告诉你!      但是也会有一些时候,我们想要将一个局部对象在被创建的代码块 }
原创
博文更新于 2013.01.15 ·
425 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

析构函数剖析一

析构函数(destructor) 与构造函数相反,当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。      显式的调用析构函数是一件非常危险的事情,我们自己所谓的显式调用析构函数,实际上只是调用了一个成员函数,并没有真正意
原创
博文更新于 2013.01.15 ·
441 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

显式类型转换

将一种类型转换为另一种类型,转换后的变量,它的内部数据存储方式也随之发生改变,有四个显示的类型转换函数,reinterpret_cast,const_cast,static_cast,dynamic_cast.前面三个是在编译期间实现转换的,最后一个是在运行时实现转换,还可返回转换成功与否标志。    double d=3.2;    int i=d;//隐式转换,i=3    dou
原创
博文更新于 2013.01.15 ·
522 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

虚函数VS纯虚函数

1.作用      定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。      定义一个函数为纯虚函数,才代表函数没有被实现。定义他是为了实现一个接口,起到一个规范的作用,规范继承这个。类的程序员必须实现这个函数。2.关于实例化一个类:有纯虚函数的类是不可能生成类对象的,如果没有纯虚函数则可以。比如:      c
原创
博文更新于 2013.01.15 ·
494 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ifstream&ofstream

ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;    在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器(  向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout2、析取器(>>)
原创
博文更新于 2013.01.15 ·
386 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

友元函数

友元函数(friend function)1. 什么是友元函数?    一个类的私有数据成员通常只能由类的函数成员来访问,而友元函数可以访问类的私有数据成员,也能访问其保护成员2. 友元函数的用处体现在哪里?    a.使用友元函数可提高性能,如:用友元函数重载操作符和生成迭代器类   b.用友元函数可以访问两个或多个类的私有数据,较其它方法使人们更容易理解程序的逻辑关系3
原创
博文更新于 2013.01.15 ·
553 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

指针和堆的内存分配

先来介绍一下指针: 指针一种类型,理论上来说它包含其他变量的地址,因此有的书上也叫它:地址变量。既然指针是一个类型,是类型就有大小,在达内的服务器上或者普通的PC机上,都是4个字节大小,里边只是存储了一个变量的地址而已。不管什么类型的指针,char * ,int * ,int (*) ,string * ,float * ,都是说明了本指针所指向的地址空间是什么类型而已,了解了这个基本上所有的问题
原创
博文更新于 2013.01.15 ·
857 阅读 ·
0 点赞 ·
2 评论 ·
0 收藏
加载更多