- 博客(53)
- 资源 (4)
- 收藏
- 关注
原创 鼠标与精灵的碰撞检测
1.代码bool HelloWorld::ccTouchBegan (CCTouch *pTouch, CCEvent *pEvent){ CCRect rect(pmonsterSprite->getTextureRect()); CCPoint offsetPoint(pmonsterSprite->getPosition()); rect.origin.setPoint(of
2012-12-21 21:55:58
1575
原创 cocos2d读取xml文件
1.代码//HXmlParse.h#pragma once#include "cocos2d.h"#include "CCSAXParser.h"#include "CCObject.h"#include "CCDictionary.h"using namespace cocos2d;class HXmlParse : public CCObject,public CCSAXD
2012-12-21 01:05:53
3867
原创 plist文件读取并动画
1.读入plist文件CCSpriteFrameCache *cache=CCSpriteFrameCache::sharedSpriteFrameCache();cache->addSpriteFramesWithFile("000.pv.plist");CCSprite *sprite=CCSprite::createWithSpriteFrame(cache->spriteFrame
2012-12-19 21:17:35
3382
转载 VS2010快捷键
Ctrl+E,D ----格式化全部代码Ctrl+E,F ----格式化选中的代码CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译CTRL + O 打开文件CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口 F4 显示属性窗口SHIFT + F4显示项目属性窗口CTRL + SHIFT + E显
2012-06-06 09:55:51
563
原创 数值算法
运用数值算法之前必须包含头文件1.加工运算后产生结果对序列进行某种运算T accumulate( InputIterator beg, InputIterator end, T initValue)T accumulate( InputIterator beg, InputIterator end, T initValue, BinaryFunc op)对于序列:a1, a2,
2012-05-13 15:27:55
486
原创 已序区间算法
针对已序区间执行的算法,执行前提是源区间必须在某个排序准则下已序。1.搜寻元素检查某个元素是否存在bool binary_search( ForwardIterator beg, ForwardIterator end, const T& value)//判断已序区间[beg, end)中是否包含"和value等值"的元素。存在返回true。bool binary_sear
2012-05-09 18:19:58
859
原创 排序算法
1.对所有元素排序void sort( RandomAccessIterator beg, RandomAccessIterator end)//使用operatorvoid sort( RandomAccessIterator beg, RandomAccessiterator end, BinaryPredicate op)//使用op(elem1,elem2)排序准则void s
2012-05-05 14:32:34
389
原创 变序性算法
变序性算法改变元素的次序,但不改变元素值。这些算法不能用于关联式容器。1.逆转元素次序void reverse( BidirectionIterator sourceBeg, BidirectionIterator sourceEnd)//将区间[beg, end)内的元素全部逆序。OutputIterator reverse_copy( BidirectionIterator s
2012-05-02 14:58:49
526
原创 移除性算法
根据元素值或某一准则,在一个区间内移除某些元素。这些算法并不能改变元素的数量,它们只是以逻辑上的思考,将原本置于后面的"不移除元素"向前移动,覆盖那些被移除元素而已。它们都返回新区间的逻辑终点(也就是最后一个”不移除元素"的下一个位置)1.移除某些特定元素移除某序列内的元素ForwardIterator remove( ForwardIterator beg, ForwardIte
2012-05-02 14:51:42
548
原创 变动性算法
1.复制函数OutputIterator copy( InputIterator sourceBeg, OutputIterator sourceEnd, OutputIterator destBeg)//将源区间[sourceBeg, sourceEnd)中的所有元素复制到以destBeg为起点的目标区间去。BidirectionalIterator1 copy_backward(
2012-05-01 17:03:14
428
原创 非变动性算法
1.元素计数countcount_if示例1:根据不同的准则对元素进行计数。#include //自定义头文件using namespace std;bool isEven(int elem){ return elem % 2 ==0;}int main(){ vector coll; INSERT_ELEMENTS(coll,1,9); int
2012-04-25 15:02:15
429
原创 for_each
for_each( InputIterator beg, InputInterator end, UnaryProc op)对区间[beg, end)中的每一个元素调用:op(elem);op的任何返回值都会被忽略复杂度:线性。范例1:使用仿函数来改变每一个元素内容。#include using namespace std;templateclass AddVa
2012-04-25 14:17:51
364
原创 STL算法概述
1.头文件#include其他常用头文件:#include;#include2.概览STL算法采用覆盖模式而非安插模式。尾词_if表判断,尾词_copy表复制STL分类:非变动性算法(P324)变动性算法(P326)移除性算法(P327)-不可用于关联性容器变序性算法(P327)-不可用于关联性容器排序算法(P328)-不可用于关联性容器(例如:set,map等
2012-04-25 14:12:57
349
原创 STL仿函数functor
1.仿函数的妙处(P127)示例://一般函数void fo(){ statements}//仿函数class FunctionObjectType{public: void operator() (){ statements }};仿函数比一般函数更灵巧。(可以拥有状态(state))每个仿函数都有其型别。导致:容器型别也会因为仿函数的不同而不同。执
2012-04-18 22:21:12
851
原创 Iterator Categories
1.分类迭代器有有5种:input只能一次一个向前读取元素,典型的为:istreamoutput与input对应,典型的为:ostreamforward(前向)具有input的所有功能和output的大部分功能(即output没有'!="运算符,而forward是有"!="运算符的)。Bidirectional(双向)在forwa
2012-04-15 15:35:39
355
原创 typename
typename有2个用处:1.标识嵌套依赖类型。2.在声明 template parameters(模板参数),与class作用相同。 作用1:例如:template // this is valid C++void print2nd(const C& container){ if (container.size() >= 2) { typename C::c
2012-04-14 10:30:59
550
原创 maps和multimaps
1、对于和如果准则不同,准则本身也会被赋值(assigned)或交换(swapped)。2、在中,所有的元素的key都被视为常数。元素的实质型别是pair(确保不会因为变更元素的value而破坏已排好的元素次序)。注:如果你一定要改变元素的key,只有一条路:以一个"value相同"的新元素替换旧元素。(即删除旧元素,插入一个新元素,只是旧和新元素的value值相同。)map提供一个种
2012-04-12 16:40:15
1374
原创 OpenGL中的屏幕坐标和世界坐标的转换
GLint viewport[4]; GLdouble modelview[16]; GLdouble projection[16]; GLfloat winX, winY, winZ; GLdouble posX, posY, posZ; glPushMatrix(); // 变换要绘图函数里的顺序一样,否则坐标转换会产生错误 glScal
2012-03-19 18:25:15
9818
转载 vc中unicode项目向多字节字符集项目移植
http://wenku.baidu.com/view/e1ba06649b6648d7c1c7466f.html 浅谈文字编码和Unicode1: 首先更改项目属性为多字节字符集.2: 对于所有 L"字符串", 去掉L, 或改为=> _T("字符串") ps1: _T是个自动替换的宏, 可以根据编译条件的不同, 替换成不同的东西. ps2:若想使用_
2012-03-17 17:30:11
1786
原创 编译output-example.c
/* * Libavformat API example: Output a media file in any supported * libavformat format. The default codecs are used. * * Copyright (c) 2003 Fabrice Bellard * * Permission is hereby granted, fre
2012-03-05 11:42:53
2843
转载 ts流文件
http://my.unix-center.net/~Simon_fu/?p=208 数字电视学习笔记TS流与PS流的区别在于TS流的包结构是固定长度的,而PS流的包结构是可变长度。PS包与TS包在结构上的这种差异,导致了它们对传输误码具有不同的抵抗能力,因而应用的环境也有所不同。TS码流由于采用了固定长度的包结构,当传输误码破坏了某一TS包的同步信息时,接收机可在固定的
2012-02-23 15:08:29
2101
原创 ffmpeg的简单例子
http://www.ffmpeg.com.cn/index.php/Output_example.c ffmpeg项目中很典型的一个例程http://www.rosoo.net/a/201110/15191.html 音视频文件码率与大小计算http://blog.youkuaiyun.com/derryzhang/article/details/5133083 视频知识基础:什么是T
2012-02-20 15:35:06
1701
原创 FFmpeg在ubuntu下的安装
需要安装yasm编译器。http://yasm.tortall.net/Download.html yam下载地址。见http://wenku.baidu.com/view/8a6b9fef0975f46526d3e107.html 介绍ffmpeg的安装。(其中SVN上的源码为2011-1-19,官方已经不再对SVN进行更新,建议使用git)http://www.linuxeden.
2012-02-16 09:34:39
3990
原创 第5章 STL
对应页数:P73~P142STL有3个主要的组件:容器Containers、迭代器Iterators和算法Algorithms 5.2容器序列式容器(vector,deque,list)关联式容器(set,multiset,map,multimap)。5.3迭代器可以进行的操作:*,++,==,!=,=。begin()和end()形成一个半开区间(hal
2012-02-11 16:38:00
434
转载 在Visual Studio 2010中配置VC++目录
VS 2010在“工具->选项->项目和解决方案->VC++ 目录”的功能已经被否决,不再提供设置,如下图:Studio 2010中配置VC++目录" name="image_operate_19001295597286724" alt="在Visual Studio 2010中配置VC++目录" src="http://s4.sinaimg.cn/middle/72824f68t9a5682
2012-02-11 14:11:29
2189
原创 使用CGAL中出现的错误
【1】CGAL 的debug 是忽略mpfr-vc100-mt-gd.lib,gmp-vc100-mt-gd.lib 但是release 是忽略mpfr-vc100-mt.lib, gmp-vc100-mt.lib依赖项都是:libgmp-10.lib and libmpfr-4.lib【2】off文件末尾需要一个换行(否则读入出错)【3】问:为什么MFC中添加会编译
2012-01-13 12:02:22
2846
2
原创 使用UNICODE集应该注意的若干问题
strlen------------lstrlenLPCTSTR strTmp : lstrlen( LPCTSTR lpString );字符串前应该使用_T
2011-10-23 11:58:14
431
原创 C语言小问题
VS中调试模式下使用system("pause")来暂停屏幕。system函数使用时须添加头文件#include。[C] struct的初始化,拷贝及指针成员的使用技巧
2011-06-02 20:48:00
360
原创 对C的某些细节的探讨之sizeof
<br />一、sizeof的概念<br /> sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 <br />二、sizeof的使用方法<br /> 1、用于数据类型 <br /> sizeof使用形式:sizeof(type) <br /> 数据类型必须用括号括住。如sizeof(int)。 <br /> 2、用于变量 <br
2011-05-07 22:34:00
352
原创 有用的链接
http://blog.youkuaiyun.com/slmeng2002/category/680547.aspx MangosMangos服务器框架 http://www.chinaitpower.com/2005September/2005-09-13/2073
2010-06-09 09:09:00
358
转载 网络游戏的位置同步
有关位置同步的方案实际上已经比较成熟,网上也有比较多的资料可供参考。在《带宽限制下的视觉实体属性传播》一文中,作者也简单提到了位置同步方案的构造过程,但涉及到细节的地方没有深入,这里专门针对这一主题做些回顾。 最直接的同步方案就是客户端在每次发生位置改变时都向服务器报告 ,服务器再转发给周围的其他玩家,其他客户端将对应的游戏实体移动到新的位置上。 但是这样存在一个问题,每个玩家的位置都是自己先开始移动,一段时间之后才在其他玩家的客户端上表现出来。如果只是希望每个客户端上看到的游戏对象都同时开始移动,那可
2010-06-02 10:57:00
390
原创 类似于QQ游戏百万人同时在线的服务器架构实现
<br />QQ游戏于前几日终于突破了百万人同时在线的关口,向着更为远大的目标迈进,这让其它众多传统的棋牌休闲游戏平台黯然失色,相比之下,联众似乎已经根本不是QQ的对手,因为QQ除了这100万的游戏在线人数外,它还拥有3亿多的注册量(当然很多是重复注册的)以及QQ聊天软件900万的同时在线率,我们已经可以预见未来由QQ构建起来的强大棋牌休闲游戏帝国。<br /> 那么,在技术上,QQ游戏到底是如何实现百万人同时在线并保持游戏高效率的呢?<br /> 事实上,针对于任何单一的网络服务器程序,其可承受的同时
2010-06-02 10:54:00
403
原创 Visual C++线程同步技术剖析 (转载)
使线程同步 在程序中使用多线程时,一般很少有多个线程能在其生命期内进行完全独立的操作。更多的情况是一些线程进行某些处理操作,而其他的线程必须对其处理结果进行了解。正常情况下对这种处理结果的了解应当在其处理任务完成后进行。 如果不采取适当的措施,其他线程往往会在线程处理任务结束前就去访问处理结果,这就很有可能得到有关处理结果的错误了解。例如,多个线程同时访问同一个全局变量,如果都是读取操作,
2010-05-26 16:39:00
293
转载 Windows线程函数概述
Windows提供了多组支持多线程的应用程序接口(API)函数。许多读者已经对Windows提供的多线程函数有一定程度的了解,但是对于那些不熟悉这些的读者,本章提供了这些函数的概述。记住,Windows提供了许多其他的基于多线程的函数,这些函数需要您自己去探索。为了使用Windows的多线程函数,必须在程序中包含。3.4.1 线程的创建和终止Windows API提供了Create
2010-05-26 16:14:00
509
原创 IOCP的使用
#include#include#include#pragma comment(lib,"ws2_32.lib")#define PORT 5150#define DATA_BUFFSIZE 8192//关键项typedef struct { OVERLAPPED Overlapped; WSABUF DataBuf; CHAR Buff
2010-05-23 11:59:00
783
Virtual Assist X
2010-04-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人