- 博客(39)
- 收藏
- 关注
原创 开启重力感应
CCAccelerometerDelegate //重力感应//在做 摇一摇的 时候或重力球游戏时用到重载函数void didAccelerate(CCAcceleration*velue);class CCAcceleration{public:double x;double y;double z;double timetam;}
2016-04-29 14:16:08 288
原创 按返回键 提示是否退出
安卓机有效setKeypadEnabled(true);重载俩个虚函数做 回应 //物理键void KeyBackClicked();//点击返回响应void KeyMenuClicked();//菜单可加入 一个模态对话框
2016-04-29 14:10:17 387
原创 cocos2d移植安卓时 修改是否为横 竖
注意点:android::screenOrientation="portrait"为竖android::screenOrientation="landscope"为横
2016-04-29 14:02:44 223
原创 今天练习了一下HTTP操作
CCScene* HttpClients::scene(){ CCScene *scene = CCScene::create(); HttpClients*lay = HttpClients::create(); scene->addChild(lay); return scene;}bool HttpClients::init(){ CCLayer::init();#i
2016-04-28 14:47:11 397
原创 已知圆心,半径,角度,求圆上的点坐标
圆点坐标:(x0,y0) 半径:r 角度:a0 则圆上任一点为:(x1,y1) x1 = x0 + r * cos(ao * 3.14 /180 ) y1 = y0 + r * sin(ao * 3.14 /180 )
2016-04-27 15:56:52 3301
原创 Cocos2d-x 整体描述
Cocos2d-x 整体描述和传统的游戏引擎一样,cocos2d-x作为一个2d的游戏引擎,其也有以下几大概念组成:导演(CCDiretor):在cocos2d-x引擎中,CCDirector类是整个游戏的组织和控制核心,游戏的运行规则,游戏内的CCScene(场景)、布景(CCLayer)、角色(CCSprite)等的运动,均由CCDirector管理,其在游戏中起着指定
2016-04-24 16:58:45 237
原创 整体架构CCCamera 摄像机
在cocos2d-x中,每个节点(CCNode)都需要用到,即当节点发生旋转、缩放和位置变化等时,都需要覆盖CCCamera,然后这个节点通过CCCamera重新渲染。类结构:其主要函数如下:char * description (void) //返回当前摄像机的描述void restore (void) //重置摄像机,使摄像机回到默认位置vo
2016-04-24 16:57:52 397
原创 关于CCEase
这类行为的作用就是改变另一行为的速度,基类是CCEaseAction,继承自CCActionInterval。CCEaseIn 由慢至快CCEaseOut 由快至慢CCEaseInOut 由快至慢再由慢至快CCEaseSineIn 由快至慢CCEaseSineOut 由慢至快CCEaseSineInOut 由快至慢再由慢至快CCE
2016-04-22 17:41:31 374
转载 防止忘记
粒子系统指的是一个使用大量很小的精灵或者其他的一些绘制对象模拟一些模糊效果。使用传统的绘制技术很难实现。它们经常被用到一些混乱系统,自然现象以及一些化学反应动画效果中。 二、点阵vs矩形在之前版本的cocos2dx中,有两种类型的粒子系统:矩形和点阵粒子系统:1)CCParticleSystemQuad2)CCParticleSystemPointC
2016-04-22 17:22:00 255
转载 经常不用可见 回忆
Action是CCNode对象的一种顺序。这些动作经常改变对象的一些属性,比如位置,旋转,缩放等。如果这些属性在一段时间内被改变了,他们是CCIntervalAction动作们,否则他们就是CCInstantAction动作。例如,CCMoveBy在一段时间内改变位置属性,因此,这是CCIntervalAction的子类。你可以运行 TestCpp->Actions测试看一下这个动作的视觉
2016-04-22 17:18:31 206
转载 防止不记得
一、介绍 效果是一种特殊种类的行为。它不是修改常规的属性,比如透明度,位置,旋转或者变形,而是修改一种新的属性,网格属性。网格属性就像是一个个交叉形成的一系列的矩形。任何CCNode对象(Layer,Scene,Sprite等等)都具有这种特殊的属性,你可以通过移动他们的顶点来变换这些网格。有两种类型的网格:平铺的网格和非平铺的网格。他们两者的区别是平铺的网
2016-04-22 17:05:30 206
原创 防止忘记求角度
double len_y = pos.y - start_pos.y;double len_x = pos.x - start_pos.x;double tan_yx = tan_yx = abs(len_y)/abs(len_x);float angle = 0;if(len_y > 0 && len_x { angle = atan(tan_yx)*180/M_PI - 9
2016-04-21 23:46:34 204
原创 ccpToAngle
使用ccpToAngle函数将向量转换为弧度(反正切),接下来将这个弧度用CC_RADIANS_TO_DEGREES转换成角度游戏应用
2016-04-18 18:37:26 692
原创 cocoNode节点函数注释
可以看到CCNode 几乎是游戏中处理的大部分类的父类,其主要有以下函数:virtual int getZOrder (void) //获取节点的顺序virtual const CCPoint & getPosition (void) //获取节点的位置virtual void setPosition (const CCPoint &var) //设置节点的位
2016-04-17 12:58:55 566
原创 简单封装一下 win内核线程池 以后直接继承 不用复写
#pragma once#include #include class MyThreadPoll{public: MyThreadPoll(); virtual~MyThreadPoll(); void InitThreadAndEnviron(unsigned int minNum = 1, unsigned int maxNum = 500); void Clean
2016-04-13 13:12:13 414
原创 WIN内核线程池函数
线程池(本章节中例子都是用 VS2010 编译调试的)线程池编写必须在 Windows Vista 操作系统(以及以上版本的操作系统)下,且 C++ 编译器版本至少是 VS2008 线程池的功能以异步的方式来调用一个函数每隔一段时间调用一个函数当内核对象触发的时候调用一个函数当异步 I/O 请求完成的时候调用一个函数注意当一个进程初始化的时候,它
2016-04-13 12:44:22 1992 2
原创 XML 撰写
int Write(){TiXmlDocument doc ;TiXmlDeclaration *declare =new TiXmlDeclaration("1.0" , "","");doc.LinkEndChild(declare);doc.LinkEndChild(new TiXmlComment("群英集团人力资源表"));TiXm
2016-04-11 00:45:47 275
原创 C++中解析XML tinyXML2
xml version="1.0"?> scene name="Depth"> node type="camera"> eye>0 10 10eye> front>0 0 -1front> refUp>0 1 0refUp> fov>90fov> node> no
2016-04-11 00:39:44 377
原创 模版数组 冒泡
template bool BubbleSort(T * pInput, int nLen) { int i = 0; int j = 0; bool bChange = false; T tTemp; if (!pInput) return false; for (i = 0; i < nLen
2016-04-10 23:42:02 207
原创 模版冒泡
template struct Node { T m_Data; Node * m_pNext; }; template bool BubbleSort(Node * & pHead) { Node * pCurNode = NULL; Node * pTemp = NULL; Node * pNext = NUL
2016-04-10 23:38:44 225
原创 模版数组
template bool InsertSort(T * pInput, int nLen) { int i = 0; int j = 0; T tTemp; if (!pInput) return false; for (i = 1; i < nLen; i++) { tTem
2016-04-10 23:32:16 240
原创 模版插入
#include using namespace std; template struct Node { T m_Data; Node * m_pNext; }; //插入排序 template bool InsertSort(Node * & pHead) { Node * pCurNode = NULL; No
2016-04-10 23:30:18 230
原创 模版排序
templatetypename T> struct Node { T m_Data; Node * m_pNext; }; templatetypename T> bool SelectSort(Node * & pHead) { Node * pCurNode = NULL; Node * pTemp
2016-04-10 22:52:39 303
原创 模版快拍
template struct Node { T m_Data; Node * m_pNext; }; template void ListQuickSort(Node * pHead, Node * pEnd/*尾结点可以为空*/) { T Key; T Tmp; Node * pLow = NULL;
2016-04-10 22:49:19 241
原创 mbstowcs()/wcstombs() 函数 宽字符转多字符互转
std::string ws2s(const std::wstring& ws) { std::string curLocale = setlocale(LC_ALL, NULL); // curLocale = "C"; setlocale(LC_ALL, "chs"); const wchar_t* _Source = ws.c_str()
2016-04-10 20:25:12 1995
原创 线程池
今天 按照老师的要求写了一下线程池 对多线程 的理解 又加深了一步只要运用了 几个函数InterlockedIncrement(&pThis->_ThreadNum);//线程互斥加1 计数 对线程的 数量监控InterlockedDecrement(&pThis->_ThreadNum);//减1InterlockedIncrement(&pThis->_RunT
2016-04-10 18:54:56 206
原创 函数CreateSemaphore和ReleaseSemaphore
函数CreateSemaphore和ReleaseSemaphore声明如下:WINBASEAPI__outHANDLEWINAPICreateSemaphoreA( __in_opt LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, __in LONG lInitialCount,
2016-04-10 14:40:02 2133
原创 C\C++字符操作
1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串strncmp(p, p1, n) 比较指定长
2016-04-10 14:17:27 232
原创 UserDefault
//销毁CCUserdefault CCUserDefault::purgeSharedUserDefault(); //清除临时文件 remove(CCUserDefault::getXMLFilePath().c_str()); 通过键值保存,很常见,容易理解。 void setBoolForKey(const char* pKe
2016-04-09 01:38:07 235
原创 Particle 离子系统
bool Text::init(){ TBase::init(); //particle CCSize winSize = CCDirector::sharedDirector()->getWinSize(); //CCParticleExplosion *particle = CCParticleExplosion::create();//星点 //CCParticleFirewor
2016-04-09 01:04:30 346
原创 3D效果
bool Text::init(){ TBase::init(); CCSize winSize = CCDirector::sharedDirector()->getWinSize(); CCSprite *spr = CCSprite::create("HelloWorld.png"); spr->setPosition(ccp(winSize.width/2,winSize.hei
2016-04-09 00:21:45 452
转载 VLC player
1.先下载VLC player, http://www.videolan.org/vlc/, 安装的时候要安装开发库(SDK)2.用VC 6.0/2003/2005/2008/2010 IDE均可开发自己的测试程序3.创建一个控制台程序,当然创建一个窗口程序更好,由于只是为了关注于如何使用VLC SDK,所以都无所谓的4.在工程中设置好vlc的 include和lib路径
2016-04-08 22:41:55 523
转载 常用 数学类宏
1.数学类cocos2d-x 里使用最多的数学类型是CCPoint,一个点,本质上也是一个向量,对于向量和向量之间有很多的数学操作要做,oh我知道要干什么,也许我知道怎么求一个值但是不知道怎么求得高效(或者不知道),怎么办我能偷懒吗?那当然可以。这其实并不是一个懒的标准,因为有一些方法写多了也可能确实稍微有那么点麻烦,所以自然cocos2d提供了一套ccp系列来帮助我们完成很多的工作,也显
2016-04-08 17:48:05 410
原创 CCAnimateCache
CCAnimateCache能够加载一个描述一批节点的xml/plist文件,包括帧名和他们的矩形区域。这个借口非常容易使用。[cpp] view plain copyCCAnimationCache *cache = CCAnimationCache::sharedAnimationCache(); // 缓存在cocos2dx中一直是单例模式
2016-04-08 17:44:42 192
原创 ccpNormalize 函数理解
CCPoint ccpNormalize(const CCPoint& v){ return ccp(v.x*(1.0f/sqrtf(v.x*v.x+v.y*v.y)),v.y*(1.0f/sqrtf(v.x*v.x+v.y*v.y)) );}//其实就是一个 三角函数类似
2016-04-07 23:13:31 342
原创 CCProgressTimer
CCProgressTimer::create( 精灵对象);setType( 进度条样式); //设置进度条样式, 提供两种可选参数, kCCProgressTimerTypeBar( 条形计时器)和kCCProgressTimerTypeRadial( 扇形计时器)setPercentage( float); //设置当前值, 在0-100之间, 一般情况下, 我们默认设置为0
2016-04-07 22:12:32 222
原创 cocos2d 声音引擎
//预加载 SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic("music_logo.mp3"); //播放背景音乐 SimpleAudioEngine::sharedEngine()->playBackgroundMusic("music_logo.mp3", true); //暂停播放
2016-04-07 13:02:28 404
原创 cocos2d基本动作函数
CCPoint p=ccp(size.width/2+100, size.height/2); //放置 其实就相当于setposition CCPlace *ac1=CCPlace::create(p); //隐藏 CCHide *ac2=CCHide::create(); //显示 CCShow *ac3=CCShow::create();
2016-04-06 18:28:06 475
原创 解决QT 编译后脱离编译器无法运行的问题
添加环境变量path存放目录\QT5.1\QT5.1\mingw491_32\bin; 存放目录\Qt5.1\Tools\QtCreator\bin;
2016-04-01 12:10:11 385
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人