自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (1)
  • 收藏
  • 关注

转载 iOS 自定义控件 progressView(环形进度条)

之前做项目的时候有用到环形进度条,先是在网上找了一下第三方控件,发现好用是好用,就是东西太多了,有点复杂,还不如自己写一个简单点适合自己用的。先把自定义控件的效果图贴出来。      其实我写的这个控件很简单。索性就直接把源码贴出来吧。.h文件的内容就是一些声明#import @interface ProgressVi

2015-01-13 23:05:42 29930 3

转载 关于iphone开发中的@property和@synthesize的一些见解

我的体会是@property和@synthesize有以下两个作用:1.作用一@property是在头文件.h中声明一个变量的setter和getter方法。@synthesize是在m文件中定义setter和getter方法的实现。2.作用二@property,在声明变量方法的时候可以附加定义该变量的属性。如retain,assign,readonly,nonautomi

2014-08-02 21:35:55 591

转载 Sprite精灵

精灵(Sprite)是游戏里面的角色,比如敌人,游戏里面运动的物体等等,所以精灵是游戏里面一个非常常见的概念,几乎无处不在。在Cocos2D-x里面精灵是用CCSprite类来进行表示的,它可以用一张图片或者一张图片的一块矩形部分来定义。我们可以通过下面的代码用一张图片资源创建一个精灵,然后把它添加到游戏中:CCSprite *b = CCSprite::create("cat.png")

2014-05-24 15:57:32 2008

转载 Cocos2d-x 2.0 按键加速处理深入分析

大家好,我们经常会玩赛车游戏,当我们按下一个按键时,如果只能匀速运动是令人烦燥的。在游戏中用到加速度,利用加速度对于物体进行更真实的控制是必不可少的技能。今天我们来学习一下Cocos2d-x中如何利用按键来处理速度的累加。     我们知道在WIN32编程中,一个键按下时所对应的窗口会收到WM_KEYDOWN消息,如果按下的键输入的是字符,窗口接着会收到WM_CHAR消息,而当按键抬起时对

2014-05-02 16:54:14 1169

转载 全面剖析Cocos2d游戏触摸机制 (下)

【触摸消息的分发】当我们触摸屏幕时触摸事件被CCTouchDispatcher类全盘接管,所以触摸消息也就由CCTouchDispatcher类来负责分发:分发触摸消息的四个方法,注意接管的四个方法和Cocoa Touch的触摸方法的第一个参数一样是:(NSSet *)touches.// 分发touchesBegan消息- (void)touchesBegan:(NS

2014-05-02 15:54:05 550

转载 全面剖析Cocos2d游戏触摸机制 (上)

全面剖析Cocos2d游戏触摸机制[注册触摸事件]1.先来看看层--CCLayer的声明部分:@interface CCLayer : CCNode {    BOOL isTouchEnabled_;    BOOL isAccelerometerEnabled_;}    i:可以看出CCLayer实现了重力感应协议以及标准触摸协议、目标触摸协议!(协议

2014-05-02 15:53:24 778

转载 Cocos2d-x 处理双击事件的两种方法

在cocos2d-x的开发过程中有些时候也是需要用到双击的事件处理,那么由于在cocos2d-x中没有实现对双击的事件的处理,那么我们就需要自己用代码实现。下面介绍两种方式实现双击事件的处理。(一)方法一第一种方法就是利用两次touch之间的时间间隔来判定是单击或者是双击,一般来说,双击,两次touch之间的时间间隔为250ms~300ms(毫秒)。所以利用这个

2014-03-02 22:05:33 640

转载 如何优化cocos2d程序的内存使用和程序大小:第二部分(完)

前言:从上周发布教程的微博反应情况来看,cocos2der们对于游戏的内存问题还是非常关心的。本文是上一篇博文的续,旨在教大家如何减少cocos2d程序的大小。 全文如下:减少你的程序的大小把纹理的颜色位深度减少到16位,不仅可以减少内存压力,还可以有效地减少程序的体积。但是,我们还有其它方法可以更进一步地减少程序的大小。 TexturePacker

2013-08-25 21:54:20 567

原创 如何优化cocos2d程序的内存使用和程序大小:第一部分

译者:在我完成第一个游戏项目的时候,我深切地意识到“使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰”。而我刚开始接触cocos2d的时候,社区里面的人们讨论了一个非常有意义的话题:“请简单地讲述你认为新手cocos2d程序员在他开始编码之前,最应该先知道,或者应该关注和注意的事项。”这个问题的答案很多,有人讲是“如何加载和保存游戏数据”,有人讲的是“如何

2013-08-25 21:39:47 764

转载 COM对象创建过程详细分析

1、   CoGetClassObject函数原型:HRESULT CoGetClassObject(const CLSID& clsid, DWORD dwClsContext, COSERVERINFO* pServerInfo, const IID& iid, (void **)ppv);参数说明:         clsid: 指定COM类厂的CLSID标识符;    

2013-07-22 11:42:08 1135

转载 已知前序和中序遍历恢复二叉树

[cpp] view plaincopy#include  using namespace std;  #define TREELEN  6  //数据结构定义  struct NODE  {      NODE* pLeft;         //左子树      NODE* pRight;        //右子树      ch

2013-07-17 14:51:53 641

转载 基于VC++的GDI常用坐标系统及应用

在Windows应用程序中,只要进行绘图,就要使用GDI坐标系统。Windows提供了几种映射方式,每一种映射都对应着一种坐标系。例如,绘制图形时,必须给出图形各个点在客户区的位置,其位置用x 和y两个坐标表示,x 表示横坐标,y表示纵坐标。在所有的GDI绘制函数中,这些坐标使用的是一种“逻辑单位”。当GDI函数将结果输出送到某个物理设备上时,Windows将逻辑坐标转换成设备坐标(如屏幕或打印机

2013-07-16 20:30:32 614

转载 深度解析VC中的消息传递机制

摘要:  Windows编程和Dos编程,一个很大的区别就是,Windows编程是事件驱动,消息传递的。所以,要学好Windows编程,必须对消息机制有一个清楚的认识,本文希望能够对消息的传递做一个全面的分析。  什么是消息?  消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向Windows发出

2013-06-15 10:36:08 634

转载 多线程同步与互斥

在进行多线程编程时,难免还要碰到两个问题,那就线程间的互斥与同步:线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另一个线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才被唤醒。线程互斥是指对于共享的进程系统资源,在各单个线程访问时的排它性。当有若干个线程都要使用某一共享资源时,任何时刻最多只允许一个线程去使用,其它要使用该资源的线程必须等待,直到占用资源者释放

2013-06-15 09:53:27 516

转载 C++箴言:接口继承和实现继承

(public) inheritance 这个表面上简单易懂的观念,一旦被近距离审视,就会被证明是由两个相互独立的部分组成的:inheritance of function interfaces(函数接口的继承)和 inheritance of function implementations(函数实现的继承)。这两种 inheritance 之间的差异正好符合本书 Introduction 中论

2013-04-25 23:20:46 464

转载 Shadow Map在DirectX9.0 SDK Sample 的实现方法

作者:李剑鹏Email:[email protected] GameRes游戏开发资源网http://www.gameres.com 授权发表一.前言这个教程主要面对DirectX9.0的初学者,文中代码说明部分以DirectX9.0c SDK(August2006)中的ShadowMap Sample 为例进行讲解。如果没有D3D矢量运算基础,HLSL,或是对D3D流

2013-01-02 14:38:44 854

转载 AGP内存,系统内存,显存的区别 .

三种内存AGP内存,显卡本地内存,系统内存,其中我们都知道显卡本地内存就是显存,系统内存就是咱那内存条,那这AGP内存是个啥玩意啊?其实是因为在以前显卡内存都很小,那时还是在显存是16M,32M为主流的时候,如果你运行一个需要很多纹理的3D程序,那么显存一会就不够用了,那该咋办呢?只好问系统内存借点用用了!这就是AGP内存的由来,在我们电脑BIOS中有个设置AGP Aperture的选项,这里就是

2012-12-20 14:31:03 546

转载 D3DPOOL(资源池)

[-]D3DPOOL资源池D3DPOOL_DEFAULTD3DPOOL_MANAGEDD3DPOOL_SYSTEMMEMD3DPOOL_SCRATCHD3DPOOL_FORCE_DWORDD3DPOOL(资源池)D3DPOOL定义了资源对应的内存类型,资源可以是texture surface, vertex buffer等,从内存的角度来看,资源有以下几种类型。

2012-12-20 14:25:12 431

转载 DirectX-渲染到纹理

作者:zdd出处:http://www.cnblogs.com/graphics/  兄弟们都知道什么叫纹理了,这里简单介绍一下,先看看现实生活中的例子吧,其实纹理的例子比比皆是,比如地板,墙面都是纹理。在图形学中,纹理主要是为了增强场景的真实感,如果你想绘制一个地面,简单一点可以直接使用一个矩形,稍微复杂一点可以用三角形网格,再复杂一点可以使用地面纹理,有了纹理以后真实感

2012-12-19 11:58:56 868

转载 Direct3d 设备丢失 (device lost) .

[-]什么时候设备丢失如何发现设备丢失发现设备丢失后4管理资源处理设备丢失人工制造设备丢失1.什么时候设备丢失 一个Direct3D设备, 有两种状态: 操作状态或丢失状态。操作状态: 是设备的正常状态, 设备按预期运行, 并且能present所有渲染效果丢失状态: 所有渲染操作悄然失败, IDirect3DDevice9::present返回错误码D3DE

2012-12-19 11:46:16 1606

转载 DrawPrimitiveUP 与 DrawPrimitive

在D3D中,一共有三种基本图元,分别是点、线和三角形。点是最简单的图元,由它可以构成一种叫点列(point list)的图元类型。线是由两个不重合的点构成的,一些不相连的线组成的集合就叫线列(line list),而一些首尾相连但不形成环路的线的集合就叫线带(line strips)。同理,单独的三角形集合就叫三角形列(triangle list),类似于线带的三角形集合就叫三角形带(triang

2012-12-18 23:22:46 4238

转载 阴影锥原理与展望—真实的游戏效果的实现

转自http://blog.donews.com/yyh/archive/2005/05/19/387143.aspx     作者  : 王浩前言:真实的游戏效果shadow volume 这个术语几乎是随着 DOOM3 的发布而成为FPS 玩家和图形学爱好者谈论的对象的。虽然这个游戏还没有上市,但是凭借 John Carmack 的传奇经历以及 DOOM3发布的一些让人惊讶的预

2012-12-16 15:35:18 1013

转载 Direct3D中的雾化效果

在Direct3D 中,雾化是通过将景物颜色与雾的颜色,以随物体到观察点距离增加而衰减的混合因子混合而实现的。       两种雾化方法:顶点雾化和像素雾化。       三种雾化公式:线性雾化,指数雾化,指数平方雾化。       两种雾化处理:基于深度的雾化处理和基于范围的雾化处理。基于深度是指两个点之间的深度(Z)差值,基于范围则是两点间的直线距离。Direct3D默认的是基于深

2012-12-03 17:25:53 552

转载 Perlin Noise(摘)

Many people have used random number generators in their programs to create unpredictability, make the motion and behavior of objects appear more natural, or generate textures. Random number generators

2012-09-25 21:49:18 1068

转载 HttpSession

虽然session机制在web应用程序中被采用已经很长时间了,但是仍然有很多人不清楚session机制的本质,以至不能正确的应用这一技术。本文将详细讨论session的工作机制并且对在Java web application中应用session 机制时常见的问题作出解答。目录:一、术语session二、HTTP协议与状态保持三、理解cookie机制四、理解session

2012-08-08 14:04:29 671

转载 java的锁机制

一段synchronized的代码被一个线程执行之前,他要先拿到执行这段代码的权限,在java里边就是拿到某个同步对象的锁(一个对象只有一把锁); 如果这个时候同步对象的锁被其他线程拿走了,他(这个线程)就只能等了(线程阻塞在锁池等待队列中)。 取到锁后,他就开始执行同步代码(被synchronized修饰的代码);线程执行完同步代码后马上就把锁还给同步对象,其他在锁池中等待的某个线程就可以拿到锁

2012-08-07 23:07:57 597

转载 正确的方法去拦截OnNewWindow2实现在同一个窗口显示_target的网页

[cpp] view plaincopyprint?// CMy5View message handlers #include   #include  #include   void CMy5View::OnNewWindow2(LPDISPATCH* ppDisp,BOOL* Cancel)   {      // TODO: Add your specialized

2012-07-16 21:51:39 5818 7

转载 VS2008项目配置

在介绍项目配置之前,先说明两点1.         项目配置中,最好不要使用相对路径,更不要使用绝对路径         应尽量使用宏来指定所有路径          请在以下地方查看VS2008中与路径相关的宏         a.C/C++->常规->附加包含目录         b.点击右边的按钮,会弹出一个对话框         c.点击右下角的宏按钮,就可

2012-06-12 17:15:00 650

转载 c可变参数

前言:      本文在很大程度上改编自网友kevintz的“C语言中可变参数的用法”一文,在行文之前先向这位前辈表示真诚的敬意和感谢。 一、什么是可变参数         我们在C语言编程中有时会遇到一些参数个数可变的函数,例如printf()函数,其函数原型为:    int   printf(   const   char*   format,   ...);

2012-05-15 22:17:58 306

转载 MFC 进程间通信

进程间通信有四种方法1.剪贴板a.创建个ClipBoard的对话框应用程序,加两EditBox和两个Button发送接收。b.具体代码:发送端代码:if(OpenClipboard()){CString str;HANDLE hClip;char *pBuf;EmptyClipboard();GetDlgItemText(IDC_EDIT_SEND,st

2012-05-13 22:02:02 490

转载 VC++中进程间相互通信的十一种方法

进程通常被定义为一个正在运行的程序的实例,它由两个部分组成:  一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方  另一个是地址空间,它包含所有的可执行模块或DLL模块的代码和数据。它还包含动态分配的空间。如线程堆栈和堆分配空间。每个进程被赋予它自己的虚拟地址空间,当进程中的一个线程正在运行时,该线程可以访问只属于它的进程的内存。属于其它进程的

2012-05-13 22:00:20 393

原创 算法导论学习笔记(20)——最大流

一,概念1)流网络:简单有向图,且有两个特别的顶点(源点s,汇点t)2)流的边标识为f(u,v)/c(u,v),流量/容量3)流的三个性质:1>容量限制 对于所有边 流量2>反对称性 f(u,v)=-f(v,u)3>流守恒性 正向流与反响流之和为零4)割:流网络G=(V,E)的割(S,T)将顶点V划分为S和T=V-S两部分,定义割的容量为C(S)割这条线上S中顶点到T中顶点

2012-05-07 22:02:57 3313

原创 算法导论学习笔记(19)——每对顶点间的最短路径(基于Floyd_Warshall算法)

Floyd-Warshall算法的运行时间为Θ(V3),它同样允许存在负权边,但假设不存在负权回路。该算法考虑的最优子结构与上述描述类似,即最短路径的子路径是最短路径。但是,它对中间路径的范围加以限制,使其增长与最短路径的最大边数的增长同步。令dij(k)=为从顶点i到顶点j、且满足所有中间顶点属于集合{1,2,…,k}的一条最短路径的权值,定义递归解:如果k=0,dij(k)=wij;如果k≥1

2012-05-07 20:49:10 1351

原创 算法导论学习笔记(18)——单源最短路径(Dijkstra算法实现)

Dijkstra算法的基本思想是:设G=(V,E)是一个带权有向图,把图中顶点集合V分成两组,第一组为已求出最短路径的顶点集合(用S表示,初始时S中只有一个源点,以后每求得一条最短路径v,···vk,就将vk加入到集合S中,直到全部顶点都加入到S中,就结束了),第二组为其余未确定最短路径的顶点集合(有U表示),按最短路径长度的递增顺序依次把第二组的顶点加入到S中,在加入的过程中,总保持从源点v到S

2012-05-05 21:37:04 1090

原创 算法导论学习笔记(17)——最小生成树

给定一个带权的无向连通图,如何选取一棵生成树,使树上所有边上权的总和为最小,这叫最小生成树.求最小生成树的算法(1) 克鲁斯卡尔算法图的存贮结构采用边集数组,且权值相等的边在数组中排列次序可以是任意的.该方法对于边相对比较多的不是很实用,浪费时间.(2) 普里姆算法图的存贮结构采用邻接矩阵.此方法是按各个顶点连通的步骤进行,需要用一个顶点集合,开始为空集,以后将以连通的顶点陆续

2012-05-05 10:53:39 640

原创 算法导论学习笔记(16)——图的基本算法

一、图的表示:有两种方法:(1)邻接矩阵:在非稀疏图中,这种表示法简单高效。比如图有n个节点,矩阵大小就是NxN的M,M[i,j] 可以用来表示节点i到节点j的权等等。这种表示法使用起来相当的灵活,缺点是不管图的信息如何,其空间代价都是NxN的,开销较大。(2)邻接表:这是专门为稀疏图所准备的,也使我最喜欢的表示方法,因为我总感觉这种表达方式尊重了图的信息,比较有感觉。首先,可以用一个

2012-05-04 20:59:08 574

转载 算法导论学习笔记(15)——用于不相交集合的数据结构

用于不相交集合的数据结构总结:这一章讲了并查集的相关概念,以及主要的MAKE-SET, UNION, FIND-SET操作,并给出了并查集的链表表示和森林表示方式。1.    不相交集合上的操作不相交集合数据结构保持一组不相交的动态集合,每个集合通过一个代表来标识,代表即集合中的某个成员。一些操作:MAKE-SET(x): 建立一个新的集合,其唯一成员为x。UN

2012-05-04 14:51:45 1825

转载 算法导论学习笔记(14)——斐波那契堆

斐波那契堆同二项堆一样,也是一种可合并堆。斐波那契堆的优势是:不涉及删除元素的操作仅需要O(1)的平摊运行时间(关于平摊分析的知识建议看《算法导论》第17章)。和二项堆一样,斐波那契堆由一组树构成。这种堆松散地基于二项堆,说松散是因为:如果不对斐波那契堆做任何DECREASE-KEY 或 DELETE 操作,则堆中每棵树就和二项树一样;但是如果执行这两种操作,在一些状态下必须要破坏二项树的特征,比

2012-05-04 11:27:16 3887

原创 算法导论学习笔记(13)——二项堆

一颗二项堆由一组二项树组成,二项树Bk是一种递归定义的有序树,B[k]是由两棵B[k-1]二项树组成,其中一颗树是另外一颗树的子树。下面(b)是B0 - B4的二项树:(a)表示二项树Bk的递归定义,三角形表示有根的子树(c)以另一种方式来看二项树Bk显然二项树具有如下的性质:1. 对于树B[k]该树含有2^k个节点;2.  树的高度为k;3. 在深度为

2012-05-03 23:13:34 1036 1

转载 算法导论学习笔记(12)——B树

前言:        动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree。前三者是典型的二叉查找树结构,其查找的时间复杂度O(log2N)与树的深度相关,那么降低树的深度自然会提高查找效率。    但是咱们有面对这样一个实际问题:就是大规模数据

2012-05-02 23:28:24 787

texturepacker309

图像处理软件,可以转换图片像素格式,如RGBA8888->RGBA4444

2014-08-05

空空如也

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

TA关注的人

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