C++
某彦君
emmMmmmmmm
展开
-
C++虚函数这玩意儿的理解
虚函数联系到多态,多态联系到继承。所以本文中都是在继承层次上做文章。没了继承,什么都没得谈。下面是对C++的虚函数这玩意儿的理解。一, 什么是虚函数(如果不知道虚函数为何物,但有急切的想知道,那你就应该从这里开始)简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形转载 2013-04-10 10:24:15 · 507 阅读 · 0 评论 -
判断点是否在多边形内的算法
如果判断点是否在凸多边形内,则有多种方法,方法简单,计算速度也快,直接使用物理引擎做判断也行但实际问题中遇到的多边形不一定是凸多边形,它可能是凹边行或者复合多边形判断一个点在多边形内或多边形外,射线法是个不错的选择射线法,把多边形理解为一个有围墙的院子,一个人从院外越过一道墙,他就进了大院,如果他再越过一道墙,就出了大院。无论大院的形状如何奇特,只要从院外越过奇数道围墙,他就在原创 2015-07-02 11:09:02 · 6851 阅读 · 1 评论 -
判断两条线段是否相交(三种算法)
算法1: [cpp] view plaincopy///----------alg 1------------ struct Point { double x, y; }; bool between(double a, double X0, double X1) {转载 2015-07-02 17:49:38 · 12091 阅读 · 0 评论 -
cocos2d-x,Shader的用法:精灵变灰
GL Shader脚本代码gray.vshattribute vec4 a_position;attribute vec2 a_texCoord;attribute vec4 a_color; varying vec4 v_fragmentColor;varying vec2 v_texCoord; void main() { gl_Position原创 2015-06-09 14:54:56 · 1487 阅读 · 0 评论 -
cocos2d-x TiledMap获取tiled属性:tiledID、旋转以及翻转信息
针对地图TiledMap工具地形刷出的图块进行属性获取的方法这块也是找了半天,最后通过TMXLayer类源码查询获得结果,在此记录下工具操作:1、按x,y键进行tiled对应的x,y轴翻转2、按z键进行tiled旋转(每次90)代码中获取地图块信息实现方法如下://获取地图层0 auto ground1Layer = m_pMap->getL原创 2015-06-04 16:55:56 · 3792 阅读 · 0 评论 -
系统编译时间的获取
在程序打包测试,有时候会需要当前程序编译的时间来标识版本或者其他ANSIC标准定义了以下6种可供C语言使用的预定义宏: __LINE__ 在源代码中插入当前源代码行号 __FILE__ 在源代码中插入当前源代码文件名 __DATE__原创 2015-04-27 15:02:47 · 1691 阅读 · 0 评论 -
NDK与Cygwin配置
1、Android 开发环境搭建Android开发环境搭建不是重点,相信看此文章的很多人都已经搭建成功,这里随便概述性的说说。下载 JDK下载 Eclipse下载 Android SDK启动Eclipse , 安装 ADT2、下载安装Android NDK我使用的NDK版本为r5Google 出的最新NDK 为 r6 下载转载 2014-01-18 16:36:20 · 581 阅读 · 0 评论 -
cocos2dx 常见的49中动作详解
bool HelloWorld::init(){ ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } CCSprite * sp= CCSprite::create("Icon.png");转载 2014-01-18 13:30:42 · 632 阅读 · 0 评论 -
cocos2d-x win,anroid打包
第一步:下载cygwin并安装,至于如何安装cygwin就不多说了。网上这类资料实在是太多了。需要注意的是一定要安装gcc g++ gdb make这些工具。第二步:下载NDK到这个页面http://developer.android.com/tools/sdk/ndk/index.html 下载需要的版本(最好是最新的)解压缩至任意一目录下。第二步:下载cocos2d-x转载 2014-01-18 15:28:22 · 714 阅读 · 0 评论 -
cocos2d-x 通过JNI实现c/c++和Android的java层函数互调
本文主要实现两个功能:(1)通过Android sdk的API得到应用程序的包名(PackageName),然后传递给c++层函数。(2)通过c++函数调用Android的java层函数,显示一个对话框,点击按钮退出程序。1. 首先来简单学习一下JNI的相关知识,我这篇文章中简单实现了怎么在Android Java层调用c++函数。要想使用JNI,必须得包含头文件,android是使用转载 2014-01-26 15:35:20 · 860 阅读 · 0 评论 -
C++判断string是不是数字|C++获取数组长度
#include #include using namespace std;// 判断字符串是不是数字bool isNum(string str){ stringstream sin(str); double d; char c; if(!(sin >> d)) return false; if (sin >> c)转载 2014-01-21 13:28:16 · 2437 阅读 · 0 评论 -
C++数据类型转换
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://whuhutu.blogbus.com/logs/1819202.html int i = 100;long l = 2001;float f=300.2;double d=12345.119;char username[]="lanshuimei";char temp[200];转载 2013-04-28 11:43:34 · 1725 阅读 · 0 评论 -
c++的字符串char与string相互转化,以及string的,切割,替换字符,字符串相关的函数整理
字符串的函数整理,初学,记录整理下了1,char可以用一下的方法初始化const char* char1 = "123";const char* char2 = "456";const char* char3 = "";2,const char*它转化为string的方string s1(char1);3,string它转化为原创 2013-04-28 11:29:27 · 778 阅读 · 0 评论 -
c++里的#ifndef,#define以及那#endif
以#开头的都是预编译指令,就是在正式编译之前,编译器做一些预处理的工作#if 条件语句程序段1 //如果条件语句成立,那么就编译程序段1 #endif程序段2//如果条件不语句成立,那么就编译程序段2 #ifndef x//先测试x是否被宏定义过 #define 程序段1 //如果x没有被宏定义过,那么就编译程序段1 #endif 程序段2 //如果x已原创 2013-04-10 10:34:44 · 677 阅读 · 0 评论 -
C++共用体类型数据的特点
使用共用体变量的目的是希望用同一个内存段存放几种不同类型的数据。但请注意: 在每一瞬时只能存放其中一种,而不是同时存放几种。能够访问的是共用体变量中最后一次被赋值的成员,在对一个新的成员赋值后原有的成员就失去作用。共用体变量的地址和它的各成员的地址都是同一地址。不能对共用体变量名赋值;不能企图引用变量名来得到一个值;不能在定义共用体变量时对它初始化;不能用共用体变量名作为函数参数。例7.7转载 2013-04-10 11:05:41 · 1240 阅读 · 0 评论 -
摄像机平滑移动
摄像机移动大概的思路:/* 场景新位置 = 场景当前位置 *(1-smooth) + 猪脚位置*smooth 每一帧 都调用这个 公式 修正 场景的位置即可 smooth 是0 -1 的数字 用于 控制场景移动的 光滑程度 */Unity3d 中得摄像机移动很不错,实现在:Vector3::Smooth原创 2015-07-10 18:26:13 · 2759 阅读 · 0 评论