自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

转载 C++——虚继承(4)

C++中虚拟继承的概念为了解决从不同途径继承来的同名的数据成员在内存中有不同的拷贝造成数据不一致问题,将共同基类设置为虚基类。这时从不同的路径继承过来的同名数据成员在内存中就只有一个拷贝,同一个函数名也只有一个映射。这样不仅就解决了二义性问题,也节省了内存,避免了数据不一致的问题。class 派生类名:virtual 继承方式  基类名virtual是关键字,声明该基类为派生类的虚

2016-07-26 00:44:44 426

原创 C++——C++函数调用机制(3)

C++函数调用机制C++函数调用机制:主要通过堆栈调用来实现 栈是一种后进先出的数据结构 就像子弹夹一样 先放进去的子弹在最底层  后放进去的在上层 在扣动扳机的时候 后面放进去的子弹先飞出去c++的函数调用过程主要是要做好调用初始化和善后的处理过程 :步骤:1.分配被调用函数所需的栈空间----代码的执行需要相应空间2.保护调用函数的运行状态和

2016-07-26 00:32:44 648 1

原创 C++——C++内存区域(2)

C++内存区域           C++内存区域分为 代码区 全局数据区 堆区  栈区  文字常量区     1.代码区:各个函数代码块 存放二进制代码      2.全局数据区:存放全局变量和静态变量      3.堆区:存放动态数据(通过new,malloc等手工分配的内存)      4.栈区:局部变量      5.文字常量区:存放常量字符串

2016-07-26 00:15:43 333

原创 C++——C和C++,面向对象三大特性,程序开发过程(1)

1.C和C++C的特点:1.语言灵活,紧凑,32个保留关键字2.可以访问内存地址,进行位操作,便于底层开发3.运行效率高4.可移植性好C的缺点:1.代码重用性差2.很弱类型检查机制,不能于编译时期发现尽可能多问题3.当工程过大时不利于开发和维护基于c的缺点,所以诞生了C++:c++是c的超集,拥有c的优点,同时添加了面向对象编程的

2016-07-26 00:00:05 395

原创 计算机网络——数据链路层(4)

我学习的方向和数据链路层也涉及很少 so...数据链路层使用的信道主要有以下两种类型:1.点对点信道。这种信道使用一对一的点对点通信方式。2.广播信道。这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发(1) 封装成帧(2) 透明传输(3) 差错控制

2016-07-24 23:54:30 450

原创 计算机网络——物理层(3)

我所学习的方向物理层涉及很少 所以只是写一点我了解过的东西物理层主要任务:确定与传输媒体的一些接口的特性1.机械特性2.电气特性3.功能特性4.过程特性n1924 年,奈奎斯特(Nyquist)就推导出了著名的奈氏准则。他给出了在假定的理想条件下,为了避免码间串扰,码元的传输速率的上限值。n如果信道的频带越宽,也就是能够通过的信号高频分量越多,那

2016-07-24 23:51:48 306

原创 计算机网络--三种网络层次模型(2)

1.OSI参考模型2.TCP/IP四层模型3.TCP/IP五层模型(1)物理层(Physical Layer)物理层是OSI参考模型的最低层,它利用传输介质为数据链路层提供物理连接。它主要关心的是通过物理链路从一个节点向另一个节点传送比特流,物理链路可能是铜线、卫星、微波或其他的通讯媒介。它关心的问题有:多少伏电压代表1?多少伏电

2016-07-24 23:50:04 6558

原创 计算机网络——计算机网络概述(1)

1.1计算机网络在信息时代的作用21世纪重要特征:           网络化,信息化,数字化 网络主要指的是“三网”:            电信网络,计算机网络,电视网络 其中发展最快,作用最大的是 计算机网络 什么是计算机网络:   计算机网络是指独立的计算机和周边设备通过通信设备连接起来,在软件和相关协议的支持下实现彼此间资源共享和数据      通

2016-07-24 23:20:31 491

原创 cocos2dx.3.x之重要类分析(5)——Sprite

Sprite可以通过一个图像或一个图像的矩形裁剪部分创建Sprite为了优化Sprite渲染,请遵循以下最佳用法:所有Sprite放入同一个SpriteSheet 所有Sprite使用相同的渲染混合函数(BlendFunc)使得渲染器(Renderer)自动批量处理("batch")Sprite (将会在一次OpenGL调用内绘制完成)为了获得额外5%~10的渲染优化效果,

2016-07-23 15:12:44 685

原创 cocos2dx.3.x之重要类分析(4)——Layer

Layer继承自Node游戏中图层的层叠使用可以让游戏有很好的效果 如背景层 NPC层 等等Layer类是Node类的一个子类,它实现了触屏事件代理(TouchEventsDelegate)协议。 它可以实现Node类的所有功能,并且它还添加了以下这些新功能:它可以接收iPhone触屏事件它可以接收加速度传感器输入 class CC_DLL

2016-07-23 14:57:39 2639

原创 cocos2dx.3.x之重要类分析(3)——Scene

Scene继承自Node类cocos2dx游戏的一切元素都要添加在一个场景上面才能运行 比如 层 精灵 菜单等 而游戏流程中只是在展示一个一个的场景游戏中当然不止一个场景 所以在导演类的管理下 各个场景 轮换运行 但是同一时刻只能运行一个场景3.0的scene类还集成了物理引擎的功能锚点默认在屏幕的中心除开继承自 ref和node的函数以外 

2016-07-23 14:47:26 428

原创 cocos2dx.3.x之重要类分析(2)——Node

Node 继承了RefNode类包含了许多的简单功能 特别是update函数还包含了 设置缩放 设置坐标 设置拉伸 扭曲 获取大小 设置可见 设置Z轴 设置动画 等等 基本上一切关于操作对象自身的函数都是基于Node类还包含了 坐标转换的相关函数节点是场景图的基本元素。场景图的基本元素必须是节点对象或者是节点对象的子类。 一些常用的节点对象:Scene,La

2016-07-23 14:37:08 456

原创 cocos2dx.3.x之重要类分析(1)——Ref

Refref类是cocos2dx引擎的基类 许多类都继承于它 那么为什么呢? 我们先看看源码class CC_DLL Ref{public:        void retain();    void release();    Ref* autorelease();    unsigned int getReferenceCount() const;

2016-07-23 14:26:27 1806

转载 unity3d中的坐标系

一 World Space(世界坐标):我们在场景中添加物体(如:Cube),他们都是以世界坐标显示在场景中的。transform.position可以获得该位置坐标。1. 代码获取的transform.position都是一致的无论是3d还是2d,ugui/ngui,父子关系,transform.position都是以场景中心(0,0)的位置开始计算,单位长度也都是一样的。

2016-07-08 16:28:01 639

原创 cocos2dx——lua

lua是一个非常厉害的东西!lua最强大的优势在于 不用重新编译项目就可以修改游戏逻辑 大大缩减了开发进程 首先 要想与cocos2dx游戏开发中使用lua 必须解决的问题就是c++和lua的通信问题 c++和lua的通信是通过 堆栈  和 全局表 实现的我们先来看看整体通信过程:假若我们lua文件中有此语句: helloLua = "myFirstLua"

2016-06-15 23:35:38 500

转载 粒子编辑器的使用

使用方法particle-editor编辑器无需安装,下载解压后即可使用,它的编辑界面如下:菜单栏的 Samples 下为用户提供了一些常用的粒子特效,如烟花、火、流星等,你可根据需要创建不同的粒子群。属性讲解编辑器的属性:IsBackgroundMove 编辑器背景图片是否滚动,如果你觉得它动来动去的很烦人,你可以把它设置为FalseIsSaveTextureImageData 是

2016-06-12 15:05:37 1875

转载 texturepacker

么是TexturePacker?>TexturePacker这个词从字面来说就是Texture(纹理) + Packer(打包)。它是一款把若干资源图片拼接为一张大图的工具。它由一位叫做Andreas Loew的老外开发。他的推特帐号是@CodeAndWeb为什么需要TexturePacker?>回答这个问题之前,说说题外话。如果你是游戏程序员,你应该知道openGL载

2016-06-12 13:59:58 355

转载 游戏中图片格式的选取

本文主要包括以下几方面内容:1、基本概念矢量图与位图有损压缩与无损压缩2、实际应用什么时候应该使用PNG什么时候应该使用JPG总结3、思考与实践什么样的设计更适合Web页面?我们还可以做些什么?4、附录-Photoshop中各种参数的含义及设置技巧1、基本概念要了解图片格式的特性,首先得从一些基本概念开始。这部分内容读起来可能会比较枯燥,但如果你

2016-06-12 13:49:11 2418 1

转载 cocos2dx内存管理

Cocos2d-x 3.1 内存管理机制Cocos2d-x使用的内存管理方式是引用计数,引用计数是一种很有效的机制,通过给每个对象维护一个引用计数器,记录该对象当前被引用的次数。当对象增加一次引用时,计数器加1;而对象失去一次引用时,计数器减1;当引用计数为0时,标志着该对象的生命周期结束,自动触发对象的回收释放。引用计数的重要规则是每一个程序片段必须负责任地维护引用计数,在需要维持对象生

2016-06-05 22:47:25 329

转载 cocos2dx中的设计模式

1.二段构建模式大家都知道在c++中我们一般在构造函数中为对象分配内存空间然后初始化成员变量,比如我们调用了new某个东西,那么在堆上会先为对象分配内存空间,然后调用构造函数,在构造函数中完成一些初始化的工作。而二段构建模式就是将内存空间的分配和初始化分开来完成,然后调用一个静态方法来返回这个对象。就拿cocos2dx中的Sprite类来说吧,当我们调用Sprite::create()的时候内

2016-06-01 23:11:35 735

转载 三种缓存类介绍

在介绍三个缓存时,我们要先理清一个问题:什么是纹理?通俗的解释呢,纹理就是图片的意思啦。当一张图片被加载到内存后,它是以纹理的形式存在的。从这里可以看出,纹理其实就是一块内存!这块内存中存放的是按照指定的像素格式填充的图片像素信息。下面进入正题:1、TextureCacheTextureCache纹理缓存是最底层也是最有效的纹理缓存。它到底有什么用呢?我先描述一个现象吧:假设游戏中

2016-06-01 22:54:19 2727

转载 cocos2dx跨平台

AppDelegate 作为跨平台程序入口,在这之上做了另一层的封装,封装了不同平台的不同实现。比如我们通常认为一个程序是由 main 函数开始运行,那我们就去找寻,我们看到了在 proj.linux 目录下存在 main.cpp 文件。在main.cpp 中 CCApplication::sharedApplication()–>run(); 这一句看起,这一句标志着, cocos2d-x 程序

2016-06-01 22:23:17 427

原创 cocos2dx完整运行过程_win32

main函数作为所有C语言程序的入口 cocos2dx也不例外 在win32文件夹下我们可以看到 main.cpp这个文件 其中代码如下:#include "main.h"#include "AppDelegate.h"#include "cocos2d.h"USING_NS_CC;int APIENTRY _tWinMain(HINSTANCE hIn

2016-06-01 21:55:19 885

转载 UNREFERENCED_PARAMETER作用

作用:告诉编译器,已经使用了该变量,不必检测警告!在VC编译器下,如果您用最高级别进行编译,编译器就会很苛刻地指出您的非常细小的警告。当你生命了一个变量,而没有使用时,编译器就会报警告:“warning C4100: ''XXXX'' : unreferenced formal parameter.” 所以,为了让编译器不必检测你的警告,就使用UNREFERENCED_PA

2016-06-01 21:05:47 395

转载 DNS

dns (域名系统) 锁定本词条由“科普中国”百科科学词条编写与应用工作项目 审核 。DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运

2016-06-01 11:27:01 284

原创 计算机网络——万维网

万维网概述万维网是 一个 大规模的 联机式 的信息储藏所  分布式超媒体系统  是对超文本系统的扩充超文本超文本指的是包含指向其他文本链接的文本万维网以c/s模式工作 客户向服务器发送请求 服务器向客户发回万维网文档万维网使用http协议 无状态 无连接 应用层协议 面向事务http协议使用tcp协议 面向连接 可靠统一资源定位符URL因

2016-05-30 21:05:10 1751

转载 cocos2dx 3.x粒子系统

在粒子效果中,通常存在一个对所有粒子进行统一调度的引擎,称作粒子系统(partical system),它负责粒子的产生,随时间改变粒子的状态,以及最后回收不再需要的粒子。如果按照粒子系统的维数来区分,粒子系统可以分为二维粒子系统与三维粒子系统两种。 Cocos2d-x为我们提供的粒子系统由ParticleSystem类实现。与其他的粒子引擎一样,ParticleSystem实现了对粒子的

2016-05-29 15:14:38 2050

转载 Cocos2d-x中使用音频CocosDenshion引擎介绍与音频文件的预处理

Cocos2d-x提供了一个音频CocosDenshion引擎,CocosDenshion引擎可以独立于Cocos2d-x单独使用,CocosDenshion引擎本质上封装了OpenAL音频处理库。具体使用的API是SimpleAudioEngine。SimpleAudioEngine有几个常用的函数:void preloadBackgroundMusic (const char *psz

2016-05-29 14:27:48 336

转载 C++const总结

const只是在编译时期保证一个常量不可以被改变 在运行时期不会保证变量不可变  可以通过地址去改变 在运行时期 变量地址和常量地址 都是一样的地址 被定义为const的常量 编译器会直接替换他 这一点和#define是一样的 ps:const char*s ="acdefg" 这句代码 中的*s是不可以被改变的 原因是"acdefg"位于内存的常量区 而不是因为限定了 const 不信的

2016-05-23 20:01:37 305

原创 几种排序算法总结

1.直接插入排序 思路:例如54321这样一个序列我们将A[1]默认为有序区(我们将A[0]作为暂存单元)  那么在排序过程中我们从第二个元素开始依次插入有序区 若待插元素小于前一个元素 就将前面的元素依次后移 直到找到合适位置void InsertSort(int A[],int length)//用0号单元暂存待排元素{   for(int i=2;i{   

2016-05-22 19:42:41 267

原创 u3d中如何读取txt文件中的信息

例如以下信息 我们将其存在一个txt文件里面1001,小瓶血药,icon-potion1,Drug,50,0,50,601002,大瓶血药,icon-potion1,Drug,100,0,70,1001003,蓝药,icon-potion3,Drug,0,100,60,80思路:先将信息全部读入 再根据换行号"\n"拆分得到一行数据  再根据逗号拆分得到单个数据 然后为

2016-05-19 19:18:39 1390

转载 二维数组的查找

有一下一个二维数组1 2 8 9 2 4 9 124 7 10 136 8 11 15此数组从左向右 从上到下是一个递增的过程 我们在查找的过程中可以划分区域查找 若某数大于要查找的数 则下一个查找区域应该在它上方或者是左方  某数小于要查找的数 则下一个要查找的区域应该在他的下方或者是右方  那么我们可以看到这样一种过程若要于此数组中查找7

2016-05-19 15:14:37 292

转载 c++常见面试题解析

1.定义一个空的类不含任何成员变量和函数,对其求sizeof(),结果是多少呢?若于这个空类添加一个构造函数和析构函数结果又是多少呢?若把析构函数标记为虚函数呢?class Empty{};class Object{public:Object();~Object();};class  VObject{public:

2016-05-19 14:14:44 317

原创 c++中的多态性

在我们学习c++的过程中我们经常会遇到这样一个词语———多态性那么,什么是多态性呢?1.多态就是一个接口的多种实现2.允许将子类指针赋予父类指针,以让父类可以执行一个或者多个子类的特有功能.classA{public:    A(){}    void foo()    {        cout"Thisis

2016-05-19 13:27:39 721

原创 u3d游戏开发中如何设置鼠标于不同位置点击设置不同鼠标图标

在游戏开发中我们经常会遇到当点击npc或者其他非环境物体时 我们希望鼠标图标会有不一样的表现 用到的api:1.鼠标图标变换api:Cursor.SetCursor(Texture2D texture2d,Vector2 hotspot,CurosrMode);参数解释:1.这个就是你要设置的鼠标图标的texture 注意格式哦 是texture2d格式的2.hot

2016-05-18 20:02:45 1500

原创 u3d点击穿透

在我们做寻路的过程中与npc进行交互的时候经常会出现在点击ui界面的时候 会造成点击穿透(也就是说在点击ui界面的时候我们下方的寻路功能也会被触发,也就是说我们只想点击ui上的button却对其他的点击事件也进行了触发)解决方案;添加 UnityEngine.EventSystems;在我们判断点击的地方加上这样一句代码;EventSyste

2016-05-18 14:25:26 504

原创 数据结构——二叉树学习

对于二叉树的学习重要把握二叉树最多2个节点(左右节点)的特性 以及前中后层序遍历即可 #includeusing namespace std;template struct BiNode{DataType data;BiNode * lchild,* rchild;};template class BiTree{public:

2016-03-06 13:48:37 715

原创 数据结构——链队列学习

#include using namespace std;const int MaxSize = 100;template struct  Node{   public:    DataType data;    Node* next;//节点后继指针};template class LinkQueue{public:

2016-03-04 16:09:44 295

原创 数据结构——循环队列的学习

循环队列需要队首和队尾两个标志位 其中 front 标志位 位于 队头前一个位置 rear 指向最后一个元素位置  当 front == rear 此时队列空 当 (rear+1)%MaxSize = front 时此时队列满 这是牺牲了一个单元空间的效果 避免假溢出  #include using namespace std;const int MaxSize

2016-03-04 15:52:18 362

原创 数据结构——链栈的学习

就是将栈的思想和链表思想结合 #include using namespace std;const int MaxSize = 100;template struct  Node{   public:    DataType data;    Node* next;//节点后继指针};template class Link

2016-03-04 15:09:02 386

空空如也

空空如也

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

TA关注的人

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