
c++
文章平均质量分 66
microsoftwin32
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
(*(void(*)())0) ()讲解
(*(void(*)())0) () 等同 ((void(*)())0) () ----原因函数是一种function-to-pointer的方式,&fun, fun, *fun ,**fun都是一样硬件地址跳到0处(*(void(*)())0) (); 预备知识float (*h)();表示h是一个指向返回值float类型的函数的指针(floa转载 2014-10-15 11:16:08 · 705 阅读 · 0 评论 -
cocos2d-x按钮CCControlButton的用法
转载请注明,原文地址: http://blog.youkuaiyun.com/musicvs/article/details/82429631. 按钮创建[cpp] view plaincopyprint?/* 正常状态下的按钮图片 */ CCScale9Sprite* btnNormal = CCScale9转载 2013-10-14 14:00:08 · 1739 阅读 · 0 评论 -
Cocos-2d 详解CCTouchDispatche类和触摸注册原理
[cpp] view plaincopyprint?-(void) registerWithTouchDispatcher { [[CCTouchDispatcher sharedDispatcher] addStandardDelegate:self priority:0]; } -(void) registerWithTouchDispatcher { [[C转载 2013-10-14 17:38:17 · 764 阅读 · 0 评论 -
cclayer的触摸处理(ccTouch)
要使用ccLayer,必要要处理它的触摸响应。否则就少了必要的交互。关于ccLayer的触摸有两种类型。1) 单点触摸2) 多点触摸下面分别总结一下:1) 单点触摸要使用单点触摸,必须要重写以下几个接口: virtual void onEnter();//必须 virtual void onExit();//必须 virtual bool ccTouchBega转载 2013-10-14 17:33:14 · 1431 阅读 · 0 评论 -
【cocos2d-x】利用CCScrollView, 实现帮助界面
Cocos2d-x 2.0.1里面 集成了一些以前需要自己添加的控件,极大的方便作为开发者的我们。 今天给大家带来一个用CCScrollView 实现的帮主页面。 最终结果是这样的: 首先CCScrollView 在 Cocosd-x 的扩展库里面,要是使用的话,需要添加命名空间 using namespace cocos2d::extension;转载 2013-10-14 13:18:23 · 788 阅读 · 0 评论 -
cocos2d-x的一些宏定义
NS_CC_BEGIN cocos2d命名空间开始NS_CC_END cocos2d命名空间结束USING_NS_CC 声明cocos2d命名空间CC_SYNTHESIZE_READONLY(varType, varName, funName) 声明一个成员变量以及get##funName函数,没有set函数。代码如下:1 protected: varType varName;转载 2013-09-29 15:18:53 · 1579 阅读 · 0 评论 -
Cocos2d-X内存管理研究
Cocos2d-X内存管理研究本人原创,转载请注明出处-特兹卡特的百度空间http://hi.baidu.com/tzkt623/item/651ca7d7a0aff6e055347f67 半夜没事干,研究内核,作为我cocos2d-x的第一篇教程.cocos2dx是一个树形结构的引擎,具体结构我暂时不分析,这里只讲内存管理.网上的分析都是说个纯理论,我深入代码转载 2013-09-27 13:45:10 · 1058 阅读 · 0 评论 -
Cocos2d-x内存管理研究
Cocos2d-x内存管理研究 本人原创,转载请注明出处-特兹卡特的百度空间http://hi.baidu.com/tzkt623/item/46a26805adf7e938a3332a04 上一篇我们讲了内核是如何将指针加入管理类进行管理.这次我将分析一下内核是如何自动释放指针的. 不过在这之前,我们要先引入另一个类.Cocos2d-x的核心类之一CCDirecto转载 2013-09-27 13:48:15 · 1146 阅读 · 0 评论 -
cocos2d-x学习笔记-触屏事件详解
游戏跟视频最大的区别就是互动,玩家可以操控游戏中的角色,现在的移动设备几乎人手一台,基本上全部都是基于触屏操作的,今天就来学习一下cocos2d-x是怎么实现对触屏操作的处理的。1.首先来了解一下相关的几个类、处理触屏事件时操作和执行的流程CCTouch:它封装了触摸点,可以通过locationInView函数返回一个CCPoint。CCTouchDelegate:它是触摸事件委托,就转载 2013-10-11 09:18:31 · 696 阅读 · 0 评论 -
cocos2d-x Button控件总结
CCMenu这是一个抽象的东西,容纳菜单项CCMenuItem的容器CCMenuItem继承图:Button::ButtonTest(void){ //设置字体大小 CCMenuItemFont::setFontSize( 30 ); //根据名字设置字体 CCMenuItemFont::setFontName("Courier New"); //设置转载 2013-09-25 09:09:07 · 1030 阅读 · 0 评论 -
Cocos2d-x利用CCSpriteBatchNode提高渲染效率
猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢!原文地址: http://www.cocos2dev.com/?p=331以前写过一个游戏中的天气系统,今天有人说我的天气系统有点卡,不是很好用。我看下了他的代码,发现他改了我的代码,把CCSpriteBatchNode删除了,直接用addChild,每个sprite都是重新读取的贴图。转载 2013-09-24 13:28:29 · 699 阅读 · 0 评论 -
Cocos2D-x中关于do{}while(0)和CC_BREAK_IF的用法
看过cocos2d-x 自带demo的朋友相信很多人都会发现demo中用了很多do{}while(0)和CC_BREAK_IF宏.他们是做什么用的呢? 其实这个是c++中的一个技巧. 我们时常会调用某个函数来创建一个对象,但由于内存不足或其他异常情况发生时对象可能会创建失败,创建失败我们就要结束当前程序转到错误处理地方去处理错误或释放已生成的对象。 1 int转载 2013-09-24 13:57:38 · 4401 阅读 · 0 评论 -
函数指针的强制类型转换
指针应该都是4个字节,指向32位的地址.可以寻访4GB的内存.如果是64位就再说.所以对函数指针来说这个应该就有了很大的好处.因为指针大家都是4个字节不论是什么种类的函数,它肯定都是4字节.这样赋值就没问题.在这里你也可以将指针直接看成是一个整数.这样会更明白些.而对于另外一个问题.函数参数和返回值,则完全由函数的定义来决定.嗯.这样就可以有很大的自由空间.来段代码. 1#includei转载 2013-10-15 15:04:37 · 1187 阅读 · 0 评论 -
深入理解 Cocos2d-x 内存管理 转
如果 Cocos2d-x 内存管理浅说 做为初步认识,而 Cocos2d-x 内存管理的一种实现做为进阶使用,那么本文将详细的分析一下 Cocos2d-x 的内存管理的设计实现和原理。知其然,知其所以然 ~或者说:嗯,它这么做,一定是有原因的,体会设计者的用意,感同身受,如果是你,将会如何设计!~~我觉得 最好的学习方式是以自己的语言组织,说与别人听 ~ 这样对自己:更容易发现平时容易忽略转载 2013-10-15 10:53:28 · 646 阅读 · 0 评论 -
Cocos2d-x学习(三):触屏事件(单点触屏)
layerclassbuttonfile测试目录(?)[+]Layer接收触屏消息自定义可以接收触屏消息的Sprite触屏传递顺序cocos2d-x中的触屏事件分为多点触屏和单点触屏,而多点触屏用到的地方并不是很多,所以先主要记录一下单点触屏的用法和基本原理。一般经常用到的触屏的情况有两种:一种是Layer统一接收触屏消息,然后由程序根据需要分发给不转载 2013-10-17 10:06:32 · 686 阅读 · 0 评论 -
函数指针
函数指针一、普通的函数指针一旦函数被编译并载入计算机中执行,它就会占用一块内存,这块内存有一个地址,因此函数也有地址。 1. 定义一个函数指针示例代码如下:void (*funcPtr)();这个例子将funcPtr定义为一个指向函数的指针,这个函数没有参数,返回值为空。注:*funcPtr 两侧的括号是必须的,如果去掉括号,转载 2014-10-15 11:13:33 · 726 阅读 · 0 评论 -
颜色混合opengl
分类: opengl2007-07-20 15:32 4966人阅读 评论(11) 收藏 举报dstblendbuffer测试混合是什么呢?混合就是把两种颜色混在一起。具体一点,就是把某一像素位置原来的颜色和将要画上去的颜色,通过某种方式混在一起,从而实现特殊的效果。假设我们需要绘制这样一个场景:透过红色的玻璃去看绿色的物体,那么可以先绘制绿色的物体,再绘制红色玻璃。在绘制转载 2014-08-22 20:09:26 · 600 阅读 · 0 评论 -
函数指针模板参数
同样,函数指针型模板参数的意义在于:在变与不变之间取得最优实现。通常函数指针的作用是实现回调(callback),即由调用方将所需要操作包装成某个函数f0,并将指向此函数的指针&f0作为参数传递给函数f1。函数f1在运行时回调所指函数f0,从而实现调用方所期待操作。f0就是一个回调函数。将回调函数指针作为被调用函数的参数时,实现的是动态回调,只有在运行时才能确定是回调哪个函数。如果并不需要动态回调转载 2014-07-05 16:21:02 · 3403 阅读 · 0 评论 -
C++中的函数指针和函数对象总结
篇一、函数指针函数指针:是指向函数的指针变量,在C编译时,每一个函数都有一个入口地址,那么这个指向这个函数的函数指针便指向这个地址。函数指针的用途是很大的,主要有两个作用:用作调用函数和做函数的参数。函数指针的声明方法:数据类型标志符 (指针变量名) (形参列表);一般函数的声明为: int func ( int x );而一个函数指针的声明方法为:int (*转载 2014-07-05 17:28:34 · 478 阅读 · 0 评论 -
函数指针与模板
#include "stdafx.h" #include using namespace std; templatetypename T> class A { private: typedef int (T::*delegateFun)(int); // 将T类中的函数设置未typedef转载 2014-07-05 16:22:50 · 651 阅读 · 0 评论 -
C++11 关键字auto
在那些情况下要申明类型定义变量类型函数返回值,函数参数表达式返回变量类型auto关键字原理在定义变量的时候必须申明类型,c++是强语言类型,在编译阶段需要知道类型,这样的好处是程序效率更高,而动态语言不需要类型申明的需要自推导变量类型。使用了auto是不是c++效率会变慢?完全不是,因为在编译阶段编译器已经帮程序员推导好了变量的类型。前提条件是编译器可以根据当前的程序的状态转载 2014-07-16 16:31:20 · 584 阅读 · 0 评论 -
修改cocos2d-x提供build_native.sh经验
原文地址:http://hsienwei.blogspot.com/2013/05/cocos2d-xbuildnativesh.html 需要翻墙修改cocos2d-x提供build_native.sh經驗在cocos2d-x專案中要編譯native code時會用到build_native.sh來做編譯這個Bash腳本會使用NDK的ndk-bu转载 2014-04-08 15:59:08 · 5037 阅读 · 0 评论 -
cocos2d-x学习笔记16:记录存储1:CCUserDefault
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://4137613.blog.51cto.com/4127613/770754 一、简述CCUserDefalt作为NSUserDefalt类的cocos2d-x实现版本,承担了cocos2d-x引擎的记录实现功能。他的接口非常简单。bo转载 2013-11-06 16:38:56 · 577 阅读 · 0 评论 -
设计模式 工厂方法模式 C++实现
工厂方法模式(Factory Method)是另一种生产对象的方式,它把对象的创建封装在一个方法中,子类可以改变工厂方法的生产行为生产不同的对象。工厂方法所属的类不一定是工厂类(抽象工厂或者生成器),它可能是一个普通类、一个框架类,或者是一个自由函数。GOOD:修正了简单工厂模式中不遵守开放-封闭原则。工厂方法模式把选择判断移到了客户端去实现,如果想添加新功能就不用修改原来的类,直接修改客户端转载 2013-11-01 15:52:36 · 460 阅读 · 0 评论 -
CCDictionary(转)
#ifndef __CCDICTIONARY_H__#define __CCDICTIONARY_H__//需要哈希表的支持#include "support/data_support/uthash.h"#include "CCObject.h"#include "CCArray.h"#include "CCString.h"//Cocos2d命名空间NS_CC_B转载 2013-10-22 13:17:10 · 902 阅读 · 0 评论 -
全面剖析Cocos2d游戏触摸机制 (上)
http://hi.baidu.com/hzacxy123/blog/item/6528e2f9c8514c959e51468f.html全面剖析Cocos2d游戏触摸机制[注册触摸事件]1.先来看看层--CCLayer的声明部分:@interface CCLayer : CCNode { BOOL isTouchEnabled_; BOOL isA转载 2013-10-17 11:31:13 · 619 阅读 · 0 评论 -
vs2012 + cocos2d-x 2.1.5 + win7开发环境搭建步骤
先要让vs具备cocos2d-x项目的模板,以此可以创建新的项目(1-5步),然后把相关的源码库文件和动态连接库都拷贝到自己的项目中,以使项目可以正常运行(6-7步)。1,打开vs,设置TestCpp为启动项,调试模式改成 Release ,启动TestCpp 本地调试器,编译时间会有些长;2,TestCpp启动成功之后,双击cocos-x2.1.5目录里的build-win32.bat文件,等命转载 2013-09-23 15:46:53 · 2196 阅读 · 0 评论 -
COM 之 VARIANT_BOOL
Windows 中BOOL变量常见的好几种类型:小写的bool,大写的BOOL ,还有VARIANT_BOOL 。 小写的bool 的是C++ 标准定义的布尔类型, 各个编译器处理的方式不同,Visual C++ 把bool 定为一个字节。小写的true 和 false 也都是C++ 标准定义的关键字。 大写的BOOL 是Windows 里面定义的布尔类型,实质上int, 在 wind转载 2013-09-16 09:53:36 · 833 阅读 · 0 评论 -
Alpha值
Alpha值http://www.cnblogs.com/graphics/archive/2012/08/27/2654828.htmlAlpha混合是为了实现透明效果,透明到什么程度是由alpha值决定的,对于一个32位的ARGB格式的颜色来说,它的组成部分如下: 我们可以看到,最高位的一个byte表示alpha值,它并不代表实际的颜色,它是控制颜色的百分比。范围是0x00 -转载 2013-09-06 16:00:08 · 13837 阅读 · 0 评论 -
float和double类型的内存分布和比较方法
float和double类型的内存分布和比较方法 2009-10-20 14:11:33| 分类:C++ | 标签:|字号大中小 订阅C/C++的浮点数据类型有float和double两种。类型float大小为4字节,即32位,内存中的存储方式如下: 符号位(1 bit) 指数(8 bit) 尾数(23 bit) 类型doubl转载 2013-07-31 17:08:07 · 540 阅读 · 0 评论 -
WM_CTLCOLOR消息
WM_CTLCOLOR消息用来完成对EDIT, STATIC, BUTTON等控件设置背景和字体颜色, 其用法如下:1.首先在自己需要设置界面的对话框上点击右键-->建立类向导-->加入WM_CTLCOLOR消息-->自动生成OnCtlColor()函数, 此函数可以对本对话框的控件的界面外观做修饰, 用法如下:将类向导产生的函数做如下修改: HBRUSH CDialogColor::转载 2013-07-24 10:53:41 · 687 阅读 · 0 评论 -
如何修改对话框的背景色
1、如何改变对话框的背景颜色方法一:调用CWinApp类的成员函数SetDialogBkColor来实现。---- 其中函数的第一个参数指定了背景颜色,第二个参数指定了文本颜色。下面的例子是将应用程序对话框设置为蓝色背景和红色文本,步骤如下:---- ① 新建一个基于Dialog的MFC AppWizard应用程序ExampleDlg。---- ② 在CExampl转载 2013-07-24 10:49:27 · 2634 阅读 · 0 评论 -
zlib
选用的第三方库是很出名的zlib,官方网站为 www.zlib.net。 zlib提供了两个很傻瓜的接口: int ZEXPORT compress OF((Bytef *dest, uLongf *destLen, const Bytef *sourc转载 2013-07-19 10:48:13 · 2843 阅读 · 1 评论 -
compress 与 uncompress
#include using namespace std;#include "zlib.h"#define MaxBufferSize 1024*10int main(){ int i; FILE* File_src; FILE* File_tmp; FILE* File_dest; unsigned long len_src; unsigned l转载 2013-07-19 12:55:49 · 722 阅读 · 0 评论 -
fopen函数
C语言函数fopen函数简介函数功能:打开一个文件函数原型:FILE * fopen(const char * path,const char * mode);相关函数:open,fclose,fopen_s[1],_wfopen所需库:stdio.h>返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno转载 2013-07-19 09:37:51 · 3923 阅读 · 0 评论 -
在MFC中如何自定义消息及相应事件(VC6.0及VS2005)
在MFC中如何自定义消息及相应事件(VC6.0及VS2005) 2012-01-01 16:42:18| 分类:VS2005&VC++ | 标签:自定义消息 message |字号大中小 订阅首先是VS2005这个开发环境:自定义消息的步骤如下:(1)建立Single Document的MFC Application,工程名为:MyMessag转载 2013-05-14 20:55:02 · 4345 阅读 · 0 评论 -
CString类常用方法----Left(),Mid(),Right()……
CString类常用方法----Left(),Mid(),Right()……CString Left( int nCount ) const; //从左边1开始获取前 nCount 个字符CString Mid( int nFirst ) const; //从左边第 nCount+1 个字符开转载 2013-05-14 20:52:47 · 1064 阅读 · 0 评论 -
重载、覆盖与隐藏的区别
学习过C++基础课程的人,对重载函数的概念相对熟悉一些,但是对覆盖和隐藏就相对陌生了,在编程技术的学习上,你会发现一个规律,很多知识点你都知道,但是一旦用起来,就常常出错,为什么呢?笔者一直都在探索这个问题。。 重载函数有哪些特性呢? 《高质量C++/C编程指南》已经清晰的列出了重载函数的特性: (1)相同的范围(在同一个类中); (2)函数名字相同转载 2012-11-10 20:12:47 · 308 阅读 · 0 评论 -
单向链表的反转是一个经常被问到的一个面试题,也是一个非常基础的问题。比如一个链表是这样的: 1->2->3->4->5 通过反转后成为5->4->3->2->1。
最容易想到的方法遍历一遍链表,利用一个辅助指针,存储遍历过程中当前指针指向的下一个元素,然后将当前节点元素的指针反转后,利用已经存储的指针往后面继续遍历。源代码如下:还添加了一个删除结点的操作。#includeusing namespace std;typedef int ItemType;typedef struct ListNode{ ItemType item;原创 2012-05-11 13:09:41 · 1437 阅读 · 0 评论 -
百度语言翻译机
//写得很勉强 我是初学者 希望大家多多指教!//用链表保存数据//.h文件#ifndef LIST_H_#define LIST_H_#includeusing std::string;typedef string ItemType;class List{public: List(); ~List(); List(const List&aLi原创 2012-05-05 11:36:55 · 499 阅读 · 0 评论