- 博客(54)
- 资源 (1)
- 收藏
- 关注
原创 vs2013 未能正确加载visual c++ project system package
除了标题以外,还会出现如“此版本的 Visual Studio 无法打开下列项目。项目类型无法安装或此版本的 ... ”这些应该都是由于windows更新了,但vs没更新导致。解决方法:点击vs右上角的小三角旗子,然后你会发现visual studio 20XX Update X可用,点击更新下载更新程序,然后更新即可。别去试什么修改vcproj文件或者什么命令行乱七八糟的了。
2016-09-19 00:37:41
13501
1
原创 C++可变模板参数中&&和&的使用
templatevoid tbLog(T& t){ cout << t << endl;}//void tbLog()templatevoid tbLog(T& t, Args&&... args){ cout << t; tbLog(args...);}此段代码用了&&,所以使用tbLog( 2, “xx”, 1.f, " ", 444); 是可以的te
2016-09-02 11:41:00
6826
4
原创 Linux Mac 备忘
sh文件出现不可执行: 转(http://bluedest.iteye.com/blog/1674963)在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。 分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。
2016-06-20 01:52:19
501
原创 Build Boost 遇到错误
http://stackoverflow.com/questions/27649921/trouble-installing-boost-when-running-the-bootstrap-bat-file-through-the-command
2016-05-19 23:50:14
1105
原创 基于tilemap,生成2D平面的三角形组成的navigation mesh
最近在tilemap上搞地图,进展到AI寻路的问题,然后就想到AStar,AStar需要一个关键的数据结构就是导航格,于是一直在思考如何在tilemap上形成导航网格,有人可能会联想到直接用tilemap上的tile进行导航,但是我个人包括很多开发者觉得这样做不仅不灵活,而且会带来很多后续问题。于是联想到了现在更多采用的navigation mesh。 如何在tilemap上生成navi
2016-03-31 12:37:48
2845
原创 svn tips
由于路由器ip改变使用svn switch 改变svn路径:使用 svn switch --relocated from[path] to[path]
2016-01-02 14:37:32
441
原创 2D横版地图碰撞实现
1. 看过很多横版游戏关卡代码例子,关于边界检测,很多就给一个大的长方形,然后根据这个长方形的长宽去判断边界。最近想让边界呈多边形形状,而且有做世界地图的想法,让角色在大地图上自由移动,很明显一个长方形就无法满足自己的需求了。2. 我的想法:0)构建地图,用线段去构建各种形状的游戏中的玩家可碰撞的物体,得到一个线段集合。1)X方向:在玩家当前位置的点,向前拉一条一定长度(这个根
2015-10-23 18:40:16
3030
2
转载 enable_share_from_this功能介绍
http://www.2cto.com/kf/201212/175430.html这个类很有意思,让一个被shared_ptr管理生命周期的类能够在自己的成员函数内部访问shared_ptr。有点绕。举个例子,下面的代码在函数f内部通过this构造了shared_ptr对象,然后打印x_的值。[cpp] class B { public: B
2014-11-19 16:10:36
513
原创 这几天写的连连看的思路和算法总结
以下代码可以直接复制到vs中运行// LLK_Console.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include #include #include using namespace std;typedef enum{ ntU
2014-03-26 18:01:46
3627
原创 windows RPC 编程总结
idl文件ildTest1.idl:import "oaidl.idl";import "ocidl.idl";[ uuid(A112A4B2-3CA5-475c-B9C0-8684DBEBED52), version(1.0)]interface hw // The interface is named hw{ // A function that takes a
2014-03-13 17:26:45
4687
原创 svn管理cocos2dx代码注意事项
windows上建立cocos2dx的repository时,在导入cocos2dx文件夹时,一定要把 “Include ignored files” 勾选上,如果不勾选,则.a文件是被排除在外的,那么在mac上check out这个文件夹,在build工程时候则会导致库文件不存在而链接发生错误。
2014-02-25 10:06:07
3033
1
原创 mac上xcode链接不上windows上的svn
是由于证书不受信任导致的,可以打开命令行,然后运行: svn ls https://192.168.0.1:443/svn/yourproject, 提示出现后再输入p即可。这里我遇到的问题还有使用主机名去访问svn是无法连上的,最终用了ip+端口号的形式才使路径正确。
2014-02-24 23:46:13
3598
原创 cocostudio编辑器的一些总结
最近一直在尝试性的使用cocostudio,发现确实是个不错的编辑器,虽然可能此编辑器还不是很成熟,但是对于我这样的新手,还是比较够用的。 里面的UI编辑器,动画编辑器和场景编辑器都用了下,基本流程就是在UI编辑器和动画编辑中编辑好UI和动画,然后在加入场景编辑器中,coding时只需要一行代码就能可以把场景加载进来(当然,一些UI的位置变化以及其他诸如按钮事件之类的,还是需要代码去设置
2014-02-24 11:52:10
3124
1
原创 C++传递对象函数指针作为参数
#include "stdafx.h"#include #include using namespace std;int fun1(char arg1){ cout<<arg1<<endl; return 1;}void funWithArgFun1(char arg1, int(*pFun)(char)){ pFun(arg1);}class A{publ
2014-01-24 14:02:59
4032
原创 正则表达式备忘录
// boost_regex_test.cpp : Defines the entry point for the console application.//#include "stdafx.h"#pragma comment(lib, "libboost_regex-vc90-mt-gd-1_43.lib")#include "boost/regex/v4/regex.hpp"
2014-01-22 17:46:08
783
原创 xcode上Cocos2dx练习的一些总结
在晚上找了个Cocos2dx+lua实现的一个横版格斗游戏,工程源代码齐全,下下来以后直接可以编译安装到真机上运行。后来希望自己在cocos2dx自带的helloCpp上一步步按照样子添加东西并且修改一些需要修改的问题(如适配iPhone5/iPhone5s的4英寸分辨率),首先修改分辨率没花多少时间就弄好了。但是后来集成lua(游戏中机器人的AI使用Lua)却花了很多很多时间(因为以前几乎没
2014-01-12 04:37:45
3802
原创 自己的透视投影坐标变换(perspective projection)的推导过程理解
以前对于投影变化部分都是直接填参数使用API获取投影矩阵,没有深入的去理解其中的原理,而最近的3D图形编程学习到了有关“拾取”和“视截体剔除(frustum culling)”的部分,需要逆向推导,在网上找代码copy下来运行成功后需要去理解源代码。dx的doc一直看总觉得写的很烂,而网上一堆关于投影变换的文章都讲的不是很含糊就是太罗嗦太难理解(至少对我来说是这样),以下是自己的一些理解,至少觉得
2014-01-05 01:59:35
4134
原创 xcode在真机调试的时候出现"The identity used to sign the executable is no longer valid"
换了新mac,使用在同学那边拿到证书和provisioning文件,在真机调试的时候出现了如标题一样的错误。开始以为是因为证书和provisioning文件都需要重新搞过,然后才发现是因为在xcode中的Build Settings中没有设置好
2014-01-05 01:54:26
71772
8
原创 xcode编译cocos2dx工程时新建resource下文件夹未加入工程导致资源未部署到模拟器和真机上
如题,还是因为刚刚开始用xcode开发不熟悉的原因,走了很多弯路 ...起初是为了适应ios各种设备的分辨率而新增了一个iphonehd的文件夹,可是因为只在finder里面进行了添加,并没有在工程目录中进行添加,导致app在选择这个目录的时候一直都会因为无法找到资源而创建资源相关的对象失败(我这里第一个资源对象是tile地图)。
2014-01-03 00:33:21
3560
原创 Cocos2dx在helloCpp加入Cocosdenshion时出现了 Undefined symbols for architecture i386
初始用xcode进行开发,简单的问题很容易难倒自己,就比如想要在sample程序的helloCpp一点一点的加东西来学习,可是当发现要加入CocosDenshion的时候,一直出现这个错误.找了很久,最后发现simpleGame这个sample是有声音,就比较了一下工程设置,发现在target下的Compile Source和 Link Binary With Libraries和helloC
2013-12-20 00:29:08
3159
2
原创 关于WSARecv在IOCP使用中程序崩溃的问题
最近使用IOCP在搞一个服务器端程序,发现在release编出来的版本运行的时候,由于接收数据过快,出现程序崩溃,尽管release生成调试信息,但堆栈处于不可调试的状态。而debug情况下不出现这种情况。后来在网上,找了两天,试了两天。终于找到方法。 原因是:WSARecv中的Overlap参数不能设置成局部变量,而由于我是在一个函数中定义了一个Overlap局部变量,当WSARecv
2013-06-07 12:31:29
1961
原创 USB键盘进不了bios
前天因为要进bios设置集显的开启,发现usb键盘在开机启动以后不供电,进不了bios,网上很多都说要弄个P/S键盘去bios设置usb开机开启,可是身边没有这东西,很郁闷。后来不知道为什么自己有个想法,就把机器内存拔了,然后再开机,usb键盘又可以使用,然后进bios,设置好,搞定。很诡异的是,用拔内存的方法,第一次开机usb键盘是有效的,但第二次开始还是不行,说实话我不明白是什么(所以一定
2013-05-20 09:49:26
15322
3
原创 3D编程的一些总结
以下是这段时间自己的一些理解,想法和总结:渲染UI以及其他字体方式:在3D场景渲染完成以后,关闭z缓存,投影方式由原来的透视投影变为正交投影(在代码中表现为使用不同的投影矩阵进行顶点计算),然后开始渲染2D图像(比如UI,字体等),由于z缓存已经关闭,所以渲染2D的时候需要使用类似画家算法的方法按顺序把2D图像渲染到backbuffer中。还有值得注意的是,一般UI和字体的viewMatr
2013-01-31 15:40:35
756
原创 C#启动命令行进程,重定向标准输出流、標準輸入流和标准错误流
在命令行可使用的命令,可以使用C#代码启动,并可以重定向该命令执行所得的标准输出流、標準輸入流和标准錯誤流。具體類似代碼如下: private List GetP4CommandLineStandardOutput(string strArgs, IP4StandardOutputReceiver outputReciever){ ProcessStartInfo procInfo =
2013-01-18 17:27:12
5514
原创 c#线程,线程刷新主界面
初次使用,參考網上的,直接使用的最簡單的方式~創建線程和開始線程TreadClass inThreadClass = new TreadClass();//可以在构造函数里面传递参数Thread inThread = new Thread(new ThreadStart(inThreadClass. ThreadProc));inThread.IsBackground = true
2013-01-18 17:10:32
2724
原创 c#中TreeView和ListView的一些用法
TreeView TreeNode的Tag可以用来存储一个对象的引用(类似vc里面的SetData方法),可以用来存储相对于这个node的自己所需要的数据添加首個節點使用TreeView.Nodes添加 在TreeView上增加右鍵菜單:添加一個ConetxMenuStrip控件;在控件中增加MouseDown Events;然後在方法中添加代碼:priva
2013-01-18 17:06:34
5940
翻译 Direct3D 9/Programming Guide/Getting Started/Lights and Materials
友情提示:本人第一次嘗試翻譯,圖形學也涉獵粗淺,有些專業名詞和通用名詞也許使用不當,請謹慎參考。水平有限,若有錯誤,不吝賜教。恢復正體(traditional han),從我做起 ~ Lightand Materials ( Direct3D 9)光照和材质光照用于照亮场景中的物体。当Direct3D光照被启用的情况下,Direct3D通过以下三点来计算每个物体的顶
2013-01-06 15:47:51
885
原创 perforce(p4.exe)的一些操作
最近工作需要针对p4.exe这个控制台程序做一些提高工作效率的工具,所以也就需要通过调用p4.exe提供一些接口,自己总结了一下其实大部分情况下是进行对p4.exe执行的命令行的输出进行字符串解析,然后获取需要的信息(如revision,changlist等),进行处理。下面接口包括登录,获取一个文件最近版本,获取一个文件的上一个版本以及获取一个changelist中某个文件,C#自己刚刚开始
2012-12-31 12:12:56
2113
2
原创 C#对excel一些基本操作
代码一般可以直接copy使用,也许会在工程里面未引用,未引用的要自己添加引用(office com接口引用方式:右键工程→addreference→com页→Microsoft Excel xx.0 Object Library)。以下代码仅仅打开,给某个单元格设置颜色,然后关闭。using System;using System.Collections.Generic;using S
2012-12-31 12:00:00
638
原创 ADO连接SQL Server其他模式
与信任模式区别不大,ADO连接SQL Server主要有以下注意:1. 网络模式连接字符串示例:hr = pConnection->Open("Provider=SQLOLEDB;Data Source=127.0.0.1,61982;Network Library=DBMSSOCN;Initial Catalog=MyTestConnection;Uid=Test1;Pwd=123"
2012-12-24 18:28:35
1546
原创 ADO连接本机本地SQLSERVER数据库[基本]
#include "stdafx.h"#include int _tmain(int argc, _TCHAR* argv[]){ _ConnectionPtr m_pConnection; _RecordsetPtr m_pRecordset;// _CommandPtr m_pCommand;// _ParameterPtr m_pParameter; ::CoIn
2012-12-21 17:35:02
3276
1
原创 error LNK2005: _DllMain@12 已经在 中定义
今天上午在把曾经写的一个规则dll改成扩展dll时,一直报这个错误原因找了很久,最后才发现是因为规则dll在调用对话框时使用了宏AFX_MANAGE_STATE(AfxGetStaticModuleState()); 而拓展dll不能使用此宏,所以查了很久没有找出来,最后在一篇文章中看到了答案: http://connect.microsoft.com/VisualStudio/feedbac
2012-10-19 11:14:59
1317
原创 strcpy, strcmp, strcat, strstr, strlen的实现
有时候突然让自己写这些代码,却写不出来或者写不正确或者写的有缺陷,这真心让自己覺得非常搓!所以花了點時間重新自己實現一遍!!!!!!错误处理仅仅检查输入指针空则抛出异常,自己測試過,但也許還是會有bug。以下代码仅供自己参考,若要非常非常准确代码,请君自行百度之 ~ //src长度大于dest长度会导致程序崩溃char* re_strcpy(char* dest, const c
2012-10-18 16:06:27
1152
原创 MFC MDI 工程禁用win7任务栏(taskbar)多视图缩略图(preview)功能
最近项目中使用bcg开发的MFC程序,因为win7下MDI多视图下在任务栏中会出现多个视图,而由此会引发界面bug(我这里主要是在视图中的控件会闪烁),找了很久希望可以禁用win7的任务栏多视图预览功能,也重写了很多方法(花了N多的时间,最后用英文单词一个一个单词的拆分搜索,在stackoverflow上找到有人提问),最后发现,只要在app类的InitInstance方法中在mainframe创
2012-09-13 17:02:58
4789
12
原创 MFC的一些
1. 控制控件的滾動條(例如CListCtrl,CTreeCtrl等)讓控件調用SendMessage(WM_VSCROLL, SB_TOP, NULL);以上是使滾動條滾到到上端2. 控制與使用剪切板 if(OpenClipboard()) { std::string strCpySource;//要複製的內容,注意這裡是使用的ansi字符,非寬字符
2012-09-09 18:39:23
1075
原创 关于std::sort中的比较函数使用时的严格弱排序(strict weak order)
在對容器進行std::sort算法排序時,算法所使用的仿函數或者普通函數必須保證符合嚴格若排序(strict weak order),否則,算法會報錯,從而終止程序。引用wikipedia中的說明:A strict weak ordering has the following properties. For all x and y in S,For all x, it i
2012-09-09 18:26:30
3200
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人