自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小嘟永远的大嘟

不积跬步,无以至千里(好记性不如烂笔头)

  • 博客(38)
  • 资源 (7)
  • 收藏
  • 关注

原创 CFileDialog自动追加扩展名

第二个参数为nullptr时,则用户必须要输入文件扩展名,否则GetFileExt等方法将返回一个空字符串: CString strFilterBwdp = _T("bwdp文件(bwdp)|*.bwdp|"); CString strFilterPjte = _T("pjte文件(pjte)|*.pjte|"); CString strFileFilter = strFilterBwdp + strFilterPjte; CFileDialog fileDlg(FALSE, NULL, prj

2022-05-07 17:16:33 512

原创 tif高程坐标转换

std::string strSourceRaster = CT2A(strSrcRaster); std::string strDestRaster = CT2A(strDesRaster); OGRSpatialReferenceH destSR = OSRNewSpatialReference(NULL); CString strEPSG2 = strEPSG; strEPSG2.MakeLower(); strEPSG2.Replace(L"epsg...

2021-10-27 14:26:51 1074

原创 tif转shp文件

std::string imgPath = CT2A(strTifPath);//tif文件路径 strShpTemp += CFileToolKit::GetFileLogicName(strShpPath); std::string tempShpPath = CT2A(strShpTemp); GDALDataset * pInDataset = (GDALDataset *)GDALOpen(imgPath.c_str(), GA_ReadOnly); if ...

2021-10-27 14:24:11 3394 2

原创 GDAL坐标转换

通过EPSG码转换OGRSpatialReferenceH srcSptRef = OSRNewSpatialReference(nullptr);OSRImportFromEPSG(srcSptRef, nSrcEPSG);OGRSpatialReferenceH dstSptRef = OSRNewSpatialReference(nullptr);OSRImportFromEPSG(dstSptRef, nDstEPSG);OGRCoordinateTransformat

2021-10-27 10:46:02 758

原创 C++读取Access数据库

首先要确认本机是否安装微软的 _ConnectionPtr pAccConnect; _CommandPtr pAccCmd; try { if (FAILED(pAccConnect.CreateInstance(_uuidof(Connection)))) { return false; } // 没有密码的数据库即使加上密码选项连接也不报错,所以如果通过连接来判读就无法识别无密码的数据库 std::string strConnect = "";

2021-07-16 15:10:39 2352

原创 读取图片文件到内存流

void CoordinateAlignDlg::ReadToMemory(const CString& strFilePath, IStream*& pStream){ // 将文件读到流内存中// TCHAR achErrInfo[512] = { 0 }; HANDLE hFile = ::CreateFile(strFilePath, GENERI...

2019-11-21 17:22:00 567

原创 Error 1 error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup

今天,用VS2008编译一个C++语言的程序,修改完所有错误后,出现了如下的错误:MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol_WinMain@16 referenced in function ___tmainCRTStartup在网上搜了一下,做如下修改:Project -> x

2016-10-18 21:04:23 772

原创 区分指向对象的常指针和常对象的指针

一个C++程序来区分指向对象的常指针和常对象的指针#include using namespace std;class Time{public: Time(int); Time(int,int,int,int); ~Time(); void get_time(); void set_time(int,int,int); void show_time() const;

2016-10-12 11:48:04 1857

原创 自增(++)和自减(--)运算符

在C和C++中,常用的表达式中使用自增和自减运算符,他们的作用都是使变量的值增1或减1,如:++i(在使用i之前,先使i的值加1,如果i的原值为3,则执行j=++i后,j的值为2)--i(在使用i之前,先使i的值减1,如果i的原值为3,则执行j=--i后,j的值为4)i++(在使用i之后,i的值加1,如果i的原值为3,则执行j=i++后,j的值为3,i的值变为4)i--(在使用i之

2016-09-28 12:01:19 2281

原创 符号常量和常变量的区别

符号常量在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。符号常量在使用之前必须先定义,其一般形式为:#define 标识符 常量其中#define 也是一条预处理命令(预处理命令都以"#"开头),称为宏定义命令,其功能是把该标识符定义为其后的常量值。一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值。习惯上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。

2016-09-27 16:40:16 12364

转载 C++析构函为什么要用虚函数以及其作用

注:本文转载自博客园lizezheng的博文,首先感谢作者的整理。转载地址。1.为什么基类的析构函数是虚函数?在实现多态时,当用基类操作派生类,在析构时防止只析构基类而不析构派生类的状况发生。a.第一段代码#includeusing namespace std;class ClxBase{public: ClxBase() {}; ~ClxBa

2016-08-17 10:22:03 545

原创 error C2143: 语法错误 : 缺少“;”(在“using”的前面)

如上图错误,当出现这个错一般情况下是你定义的某个类的.h文件里缺少分号class  类名{public:};就是这里的分号缺少。

2016-08-12 11:54:11 3238 1

原创 Android开发工具下载网站

网上发现了一个几乎收集所有Android开发工具的网站

2016-07-16 11:03:37 341

原创 解决‘tools.jar’ seems to be not in android studio classpath 问题

这几天突然想安装个Android studio玩下,但是安装之后出现很多问题,如  tools.jar’ seems to be not in android studio classpath ,please ensure Java_home points to JDK rather than JRE 。出现这问题的时候一般都是没有tools .jar这个东西。首先去查看下你的Andr

2016-07-16 10:19:36 2381 1

原创 解决The environment variable JAVA_HOME does not point to a valid JVM installation 问题

安装Android Studio和JDK之后,打开Android Studio 提示The environment variable JAVA_HOME does not point to a valid JVM installation这是需要查看下你的环境变量JAVA_HOME配置信息时候正确,如本机的路径C:\Program Files\Java\jdk1.8.0_91,需要注意

2016-07-16 09:45:47 51880 7

原创 Cocos2d-x 3.x 配置安卓环境以及移植安卓

安卓环境配置首先配置之前我们需要下载相应的四个文件Java JDK   下载地址NDK :下载:https://yunpan.cn/cBwI3Gydbuqbv (提取码:47ad)根据电脑系统位数选择下载64位和32位的。SDK :下载:https://yunpan.cn/cBwIRanwuepdf (提取码:1ec9)下载的压缩包名称为adt-bu

2016-07-11 15:49:03 646

原创 Cannot resolve the import org. Cocos2dx. Lib 错误解决方法

如果出现如下错误,英文版的 Cannot resolve the import org. Cocos2dx. Lib 。。。。解决方法:首先右击Project->属性->Android->Library->add如下图点击Add后出现下图,操作如图:确定后如图:最后点击确定,然后Project->Clear,就OK了。

2016-07-11 14:29:53 716

原创 cocos2d-x 移植安卓错误解决

D:\Android\android-adt\android-sdk\tools\ant\build.xml:892: The following erroroccurred while executing this line:D:\Android\android-adt\android-sdk\tools\ant\build.xml:894: The following erroro

2016-07-11 14:11:18 487

原创 Cocos2d-x 3.x项目设置Android里的横竖屏显示

解决方法:在Cocos2d-x中默认设置的屏幕类型是横屏,如果我们项目需要竖屏的话那么就需要将其切换为竖屏,首先在我们项目里找到AndroidManifest.xml文件直接点开,如下图 android:screenOrientation="landscape"这表示将屏幕设置成了横屏,将它改成下面这句: android:screenOrientation="por

2016-07-07 15:58:13 527

原创 Cocos2d-x 3.x项目导Eclipse出现 The import org.cocos2dx.lib cannot be resolved错误

方法一、也可以导入libcocos2dx1.右键Import(导入)项目,选择libcocos2dx所在路径,“E:\cocos2d-x-3.10\cocos\platform\android\java”(这是我的路径3.10版本)2.libcocos2dx导入之后右键->"Properties(属性)"->"Android"->"Library"->"Add"会自动显示刚才添加的libc

2016-07-07 15:46:36 1683

原创 Cocos2d-x 中开关按钮切换

在之前我们介绍过菜单的类有哪些,以及部分菜单的使用方法,在这里我们学习下开关菜单的使用。主要实现MenuItemToggle菜单多种状态切换以及状态对应的功能实现。菜单中又包含了菜单项,菜单项类是MenuItem,每个菜单项都有三个基本状态:正常、选中、禁止。菜单分类是按照菜单项进行分类的。MenuItem的子类有MenuItemLabel(文本)MenuItemSprite(

2016-05-12 17:41:03 1465

原创 Cocos2d-x 中文显示的方法

在Cocos2d-x中显示中文的方法很多种,其根本原因是我们程序文件的编码问题,也就是UTF-8编码的问题,用最简单的方法就是把你的程序文本通过另存为UTF-8编码即可,但除了这种方法还有其他的很多方法,下面介绍下用过的集中方法:第一种方法就是通过程序代码实现改变UTF8编码来显示中文如下代码://参数传递中文即可char* RunAction::FontToUTF8(const c

2016-05-12 16:27:51 933

原创 cocos2d-x 特效(网格动作)

Cocos2d-x 提供了很多特效,这些特效事实上属于间隔动作。特效类GridAction类也称为网格动作。GridAction类有两个主要子类Grid3DAction和TiledGridAction。// 常见的22种特效// CCShaky3D//作用:创建一个3d晃动的特效// 参数1:晃动的范围// 参数2:是否有z轴晃动// 参数3

2016-04-28 11:43:00 838

原创 cocos2d-x 3.x DrawNode的使用

一、绘图的方式有两种:    ① 使用OpenGL的绘图原语DrawPrimitives。    ② 使用DrawNode。但是在3.3版本以后 DrawNode :添加了和 DrawPrimitives 一样的功能,同时 DrawPrimitives 标识为弃用。二、值得注意的是DrawNode由于在一个单独的批处理中绘制了所以元素,因此它绘制点、

2016-04-15 14:11:34 2340

原创 cocos2d-x 3.x pageView的使用

我们要做的效果和捕鱼达人关卡选择效果是一样的,我们先看下做好的效果:实现滑动并不难,在这里我们需要用到pageView类,它跟我们在前面一篇写的进度条LoadingBar类一样都是属于CocosGUI里的控件工具类,所以在用他们之前必须先包含头文件和命名空间。首先看头文件#ifndef _MYGAME_H_#define _MYGAME_H_#include "co

2016-04-08 22:38:51 3423

原创 cocos2d-x 3.0菜单的使用

菜单中又包含了菜单项,菜单项类是MenuItem,每个菜单项都有三个基本状态:正常、选中、禁止。菜单分类是按照菜单项进行分类的。MenuItem的子类有MenuItemLabel(文本)MenuItemSprite(精灵)MenuItemToggle(开关)其中MenuItemLabel类有两个子类MenuItemAtlasFont和MenuItemFont;Men

2016-04-08 13:11:10 717

原创 cocos2d-x 文本标签的用法

Cocos2d-x中标签类,标签类主要有三种:LabelTTF、LabelAtlas、LabelBMFont,此外,3.x推出新的标签类。1、LabelTTF是使用系统中的字体,它是最简单的标签类,它是继承Node类,具有Node类的基本属性。  LabelTTF的其中一个create函数如下:static LabelTTF * create(const std::string

2016-04-08 12:45:23 456

原创 Cocos2d-x LoadingBar(进度条)的使用

如果在cocos2d-x项目中要实现游戏加载进度条变化、人物血条的变化以及怪物血条的变化你又不想自己写关于进度条的类时,可以直接使用cocos2d-x里自带的进度条类。首先LoadingBar是继承自Widget类,具体的可以参考官网API文档。在这里我介绍下LoadingBar的简单使用的方法:第一步:在要用LoadingBar时要先包含头文件以及命名空间,不然会报找不到UI控件所在

2016-03-28 13:40:41 6816

原创 cocos2dx中回调函数局部变量无效(cocos2d-x学习笔记)

在项目里我想让主角出场播放一闪一闪的动画,播放完了之后恢复原来的主角颜色,代码如下:想省事不想有定义一个单独回调函数,又要头文件声明,cpp文件定义,我就把回调函数直接写了,而且我的m_rRGB也直接定义局不变。void Role::startAction(){auto m_rRGB = m_rSprite->getColor();auto blink = Blink::c

2016-03-14 18:43:57 1238

原创 cocos2d-x的回调函数

我们知道在cocos2d-x中指定回调函数时都使用 *selector 的形式,比如我们要知道定时器schedule的回调函数,则使用schedule_selector,要指定按钮相关的回调则使用callfunc_selector等。那么我们看下常用的selector有哪些,如下:typedef void (Ref::*SEL_CallFunc)();typedef void (R

2016-03-12 14:58:45 914

原创 cocos2d-x 以主角为中心移动地图(学习笔记)

在游戏中我们往往想让英雄跟随地图走动而不超出地图边界//得到屏幕大小Size visibleSize = Director::getInstance()->getVisibleSize();//得到地图方块的数量Size mapTiledNum = m_gGameMap->getMapSize();//得到方块的大小Size tiledSize = m_gGameMap

2016-03-12 11:04:32 1604

原创 cocos2d-x使用地图编辑器的类(cocos2d-x学习)

cocos2d-x支持使用Tiled地图编辑器创建TMX格式的地图官网下载地址下载完成之后,直接安装完成。怎么使用地图编辑器,参考官网文档。一、现在怎么把Tiled地图加载到cocos2d-x的场景中在.h文件添加一下成员变量private:Sprite* m_rSprite TMXTiledMap* m_gGameMap; //void i

2016-03-12 10:02:54 902

原创 cocos2d-x 3.x 创建动画

首先创建动画步骤一般有3步:1、创建一组SpriteFrame对象,每张动画图片为一个SpriteFrame对象。2、用这组SpriteFrame对象创建一个Animation对象,该对象包含了动画所需的一些配置信息,比如每帧动画间隔时间、动画是播放一次还是永久播放。。。。。3、利用Animation对象创建一个Animate对象,精灵直接调用runAction方法即可执行Animat

2016-03-11 16:37:55 376

原创 TexturePacker打包后的文件在cocos2d-x加载和使用

通过TexturePacker打包图片文件后会产生两个文件,一个XXX.plist和XXX.png文件。第一步将图片加载到精灵帧缓存池SpriteFrameCache*  frameCache = SpriteFrameCache::getInstance() ->addSpriteFrameWithFile("XXX.plist","XXX.png");第二部用小图片的名字即可创建精

2016-03-11 16:15:24 594

转载 cocos2d-x学习文章

http://www.cnblogs.com/sevenyuan/category/492010.html

2016-03-05 16:39:56 278

转载 cocos2dx基础——滚动视图CCScrollView(TP:68D951F8)

http://shahdza.blog.51cto.com/2410787/1544983

2016-03-05 16:21:07 411

转载 斗地主智能(AI)出牌算法

http://www.360doc.com/content/11/0108/09/2617151_84917660.shtml

2016-02-18 14:01:31 11052

原创 cocos2d-x 3.x 弧度转角度(学习笔记)

关于弧度转角度问题注:在cocos2d-x 中顺时针方向为正方向。通过例子来说明:/*getAngle()方法是得到向量Vec2(9.0,-9.0f)与X轴的夹角弧度floatrotateAngle =CC_RADIANS_TO_DEGREES(angle1*(-1));//将得到的弧度转换成角度*/         floatangle1 =Vec2(9.0f

2016-01-18 09:20:43 3313

注册表清理工具Trial-Reset.rar

Trial-Reset是一款注册表清理工具,该工具的主要功能是移除系统内商业软件以及免费软件程序保护壳所产生的试用信息及垃圾。

2019-05-20

C++源码实现 23种设计模式解析

经过了的才是自己的,Scott Mayer 在其巨著《Eff ec ti ve C++》 就曾经说过:C++老手和C++新手的区别就是前者手背上有很多伤疤。是的在软件开发和设 计的过程中,失败、错误是最好的老师,当然在系统开发中,失败和错误则是噩梦的开端和 结束,因为你很难有改正错误的机会。因此,尽量让自己多几道疤痕是对的。

2019-04-11

StarUML安装包

StarUML是一款开放源码的UML开发工具,是由韩国公司主导开发出来的产品,可以直接到StarUML网站下载。可以用来创建UML类图。StarUML(简称SU),是一种创建UML类图,生成类图和其他类型的统一建模语言(UML)图表的工具。StarUML是一个开源项目之一发展快、灵活、可扩展性强(zj).

2017-11-24

Cocos2d-x 三消游戏源码

Cocos2d-x 三消游戏源码分享,供大家学习,版本基于Cocos2d-x 3.8,已测试到手机等都没问题,贴图资源一起共享。

2016-08-18

Cocos2d-x 2048游戏源码

Cocos2d-x 2048游戏源码分享,本源码是基于Cocos2d-x 3.8版本,里面有详细的源码注释及详解。

2016-08-18

Cocos2d-x 3.x Android环境配置

文档里有详细的cocos2d-x 3.x的 环境配置布置,以及配置需要的SDK、NDK、ANT的私密地址供大家下载。

2016-07-04

空空如也

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

TA关注的人

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