自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(182)
  • 问答 (3)
  • 收藏
  • 关注

转载 FrameSize、WinSize、VisibleSize、VisibleOrigin概念理解

FrameSize就是屏幕的实际分辨率,这是不变的,比如我用的盖世三的手机分辨率为1280x720,这就是盖世三的FrameSize。 注意这个FrameSize很容易理解成屏幕的长宽多少,其实不是,分辨率和实际的长宽没有必然联系。 比如: 盖世3的尺寸(长宽)为4.8寸,分辨率为1

2016-10-31 10:16:03 3343

原创 C++ 虚函数 详解 及实现

C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过

2016-10-30 10:18:18 7843

原创 cocos2dx 碰撞检测 总结

之前所用到的碰撞检测均为cocos提供的方法。1、点与矩形碰撞auto rec = tubeOn1->getBoundingbox();// 得要矩形区域bool collision = rec.containsPoint(p);//p这个点是否在矩形区域内,返回一个bool型的值2、矩形与矩形的碰撞auto rec1 = bird->getBoundingbox();// 得

2016-10-26 18:01:18 6542 1

原创 《保卫萝卜》项目实践(2)

接着上次的总结。传送门 http://blog.csdn.net/zhanghow/article/details/52892406五、layout  与  pageview 总结layout为布局视图,可以在上面排铺精灵,按钮但要注意设置位置坐标以防止遮盖。layout 的content size()则是限制了内部的布局pageview为翻页视图,其内部必须为layout即有多少

2016-10-25 20:57:36 1432 3

原创 cocos2dx ios平台发布&&发布广告

&iOS平台发布(①创建发布证书②申请应用占位③Xocde打包提交)创建发布证书,大体上分为4步:1.生成本地密钥是在MAC上“钥匙串”程序。点击“钥匙串访问”->证书管理->从证书颁发机构请求证书    选择自己的邮箱或者是随便写个邮箱地址,然后选择存储磁盘位置,存储,完成。2.生成应用ID则需要到官网上申请。(提示首先要有一个Apple ID,可到官网注册)&发布广

2016-10-25 20:29:41 635

原创 OC 继承(2)

对象的实例变量默认的访问权限是protected,所以主函数终不能直接访问到实例变量实例方法默认访问权限是:public— (void) setX: (int)_x—(int)x;对象.实例变量    => 并没有直接访问protected成员,而是通过get set 函数来访问protected成员对实例变量a,b自动生成set、get方法的定义@property 

2016-10-22 15:20:27 250

原创 OC 内存引用计数 内存管理机制

内存引用计数:用于管理对象内存的‘使用次数’  (注意:是对内存的引用计数)注意: 否指向同一块地址空间只有当内存的引用计数为0时,内存自动释放release:仅仅让通过指针让内存的引用计数-1assign: 基本数据类型 retain:浅拷贝,但是引用计数会+1   @property(retain)  -(void)setP:(point*)_p{  p=[_p retai

2016-10-22 15:19:23 471

原创 OC 变量类型 数组 字典 等容器

// NSNumber 对象   由于数组不能存储基本数据类型,所以就用到NSNumber对象void NSnumberTest(){    //1.NSNumber初始化    //类方法:自动放入autoreleasepool中    NSNumber * num1=[NSNumber numberWithInt:100];    NSLog(@"num1=%@",num1

2016-10-22 15:18:41 433

原创 OC内存管理

OC内存管理property中各属性函数原型:1️⃣assign: -(void)setP:(point*)_p{   p=_p ;}2️⃣retain: -(void)setP:(point*)_p{ if(p!=_p){[p release];  p=[_p retain];   } }3️⃣copy:  -(void)setP:(poi

2016-10-22 15:17:27 260

原创 OC 继承

1️⃣OC中一个类只有一个父类2️⃣根类NSobject3️⃣所有继承为虚继承4️⃣实例变量访问权限:protect5️⃣ 实例方法访问权限:public6️⃣方法均为虚方法执行正确的方法:在当前类中查找此方法,找到执行,找不到去父类中继续查找,直到根类,根类也没有,程序报错给子类中添加新的方法:与C++中完全一样覆盖(重写):和C++完全一样给

2016-10-22 15:16:54 244

原创 OC 内存分配

内存分配与初始化:内存分配与初始化是分开的Foo * foo=[[foo alloc]init];  //  内存开辟初始化(构造函数):1️⃣名字以init开头2️⃣返回一个对象 (函数链)3️⃣先执行父类的初始化方法(先初始化继承自父类的成员)4️⃣需要检查父类初始化的返回值5️⃣正确处理初始化中的错误(参数的判断)id  //  任意类型的对象-(in

2016-10-22 15:16:05 627

原创 OC 文件操作 持久化

2016.9.6  OC  第八天 文件操作相对路径、绝对路径两种相对路径:相对于某个参照物的位置绝对位置:固定位置~用户根目录   .  当前目录     ..当前目录的上一级目录NSCoding协议:数据持久化  N框架提供对文件、路径操作的类创建文件、判断文件是否存在、拷贝、删除写入文件必须保证文件存在(不会自动创建文件)文

2016-10-22 15:15:07 314

原创 OC 协议&&分类

2016.9.5  OC  第七天 协议&&分类OC没有多继承,为了完成多继承的效果,使用分类和协议协议并不是一个真正的类,协议中只有方法,不能有实例变量方法只有定义,没有实现。协议:正式协议:自定义,通过关键字@protocol创建的协议两个关键字修饰方法:@optional:其修饰的方法可实现,也可不实现   @required:必须要实现其修饰的方法(如果没有

2016-10-22 15:14:11 915

原创 ios 控件

代码实现控件:    //实例一个窗口对象    self.window=[[UIWindow alloc]init];    //自己建的视图控制器    MainViewController * mvc=[[MainViewController alloc]init];    //将自己建的视图控制器添加到系统视图    self.window.rootViewCont

2016-10-22 15:13:22 259

原创 UIWindow :窗口 (UIView) UIView: 视图

[[UIScreen mainScreen] bounds]//  获取当前设备的屏幕大小如果类关联xib;需要使用initwithNibName:方法来初始化对象如果类不关联xib;需要使用init:方法来初始化对象UIWindow :窗口  用来展示视图(UIView)UIView: 视图  用来提供可视化,存放可见控件,提供用户交互的响应因为直接给窗口

2016-10-22 15:12:28 362

原创 《保卫萝卜》项目实践心得

1️⃣如何一张1280*740 RGB4448的图片所占内存大小图片大小必须为2^n,不足的往大的靠,如上就是占用2048*1024Byte再乘上色素乘色深 即(4*3+8)将其转化为M 即除以(8*1024*1024)       8byte=1B   1204B=1KB    1024KB=1M   即2048*1024*(4*3+8)/(8*1024*1024)=

2016-10-22 15:09:37 3145 10

原创 ios 安卓 打包 (mac&&window) 含 Quick 打包

iOS 需在设置EnableBitecode 为NO,选择手机系统版本, 然后在Xcode中添加开发者账号,即手机的AppleID,确保手机解锁状态,点击运行项目,就会在你的手机上安装项目运行。==》真机调试Android就比较麻烦了1️⃣命令行打包首先需要三个资源 :在安装cocos引擎包后,提示设置这三项路径的时候添进去(记得把句尾的空格去掉)最后一个a

2016-10-22 15:07:00 1046

原创 Tiled瓦片地图的使用

Tiled软件使用的注意事项:1️⃣文件的导入。图层文件的导入不能有中文名字,最好是先把需要的资源文件导入到工程的Resource文件夹中,让后到这个文件夹中导入Tiled软件,进行瓦片地图的绘制。2️⃣文件的导出。在保存的时候就可以直接保存到工程的Resource文件夹中,随后在工程中添加,即导出成功。导出后可以查看.tmx文件,可以尝试着读懂导出的.tmx文件。以上步骤完成后就可以

2016-10-22 15:05:18 2018

原创 指针与数组 malloc free const关键字

2016.7.25任何类型的一维、二维、三维指针占用空间大小相同  4个字节(32位操作系统) 8个字节(64位)指针与数组    //数组:表示一段连续的内存空间,用来存储多个相同类型的值。    //  *******1.数组名的值是数组首元素的地址(即数组名是指向数组首元素的指针)    int array[5]={1,2,3,4,5};    pri

2016-10-22 15:01:18 670

原创 C 控制流

3大控制结构“(1)顺序结构(一句一句顺序执行)(2)选择结构(判断条件是否成立,若成立,操作一,否则操作二)if、if if if 、if  else、if  else if  else if  else、switch根据表达式选择不同的操作模块执行if:如果条件成立,执行if语句块,如果条件不成立,程序自动忽略if语句块if if if  如果条件成立,执行if语句

2016-10-22 15:00:11 347

原创 C++ 浅拷贝 const static 关键字

浅拷贝:可以把一个对象赋值给另外一个对象,对象的每个成员的值,将一一对应拷贝到新的对象。const 定义常量,值不能被修改,声明时必须对其初始化常量指针:地址可以改变,不能改变指向变量的值指针常量:可以改变指向,可以改变变量的值const 修饰函数(修饰哪,哪不能变)const int func(const Point &p) const;1⃣️int fu

2016-10-22 14:57:52 301

原创 C 指向数组的指针,与存储指针的数组

指向数组的指针,与存储指针的数组首先看int *p[4],“[]”的优先级别高,所以它首先是个大小为4的数组,即p[4];剩下的“int *”作为补充说明,即说明该数组的每一个元素为指向一个整型类型的指针。int *p[4]的存储结构如下:(存储方格横向排列或竖向排列没区别,只要按内存地址顺序排列就行,此处只是为画图方便)    再看int (*q)[4]。

2016-10-22 14:57:02 1833

原创 C++ 作用域与生命周期 静态static

1⃣️静态局部变量   作用域不变,生命周期延长至程序运行结束2⃣️静态全局变量    作用域变小,不能extern引用,生命周期不变类中的静态成员:成员函数,成员变量都是使用对象来进行调用,也有些数据成员和成员函数属于整个类,称这些成员为类的静态成员(这些成员不属于对象,创建对象时不会为静态成员开辟空间)静态成员整个类只有一份空间(静态空间)Emploee::pay(50);

2016-10-22 14:56:13 3456

原创 C++ 赋值运输符重载

赋值运输符重载浅拷贝问题:1⃣️原对象指针指向的堆空间内存泄漏                      2⃣️两个指针指向同一块空间,修改一个对象内容,另一个也跟着发生改变                      3⃣️因为两个对象指向同一块空间,所以对象结束,会造成内存二次删除(程序崩溃)深拷贝:1⃣️避免自赋值//   a=b2⃣️释放旧空间3⃣️开辟新

2016-10-22 14:54:39 461

原创 C++ 继承

注意:派生类中访问基类成员权限跟该成员在基类的声明有关,其继承方式只是将该派生类封装起来,与外部的访问有关系。继承:一个类自动拥有另一个类的所有成员父类(基类)    子类(派生类)子类自动拥有父类所有成员(不包括构造函数、析构函数、赋值运算符重载)子类中包含两部分成员:1部分从父类继承得到,一部分是子类拓展虽然发生继承,父类中私有成员在子类中不能直接访问,可以通过公有成员函数

2016-10-22 14:54:01 481

原创 C++ 操作符重载

操作符重载定义:操作自定义类型的数据(例如两个点)注意:1⃣️只能重载已经存在的运算符           2⃣️操作数的数目必须和原始定义一致           3⃣️至少有一个操作数为自定义类型           4⃣️重载后优先级不变operator:重载的符号是什么// 重载 +   (友元、成员函数均可)friend Point operato

2016-10-22 14:52:52 319

原创 四种经典排序 冒泡,快排,插入,选择 C++实现

2016.8.23 C++

2016-10-22 14:52:10 1247

原创 C++ 链表

链表定义:物理单元存取不连续的数据结构,数据元素之间通过‘指针’进行连接(链表中每一个元素->节点)节点组成;1⃣️数据 2⃣️指针(因为元素间不连续,通过指针进行连接)注意:没有下表符重载,可以在任意位置操作,从头结点遍历到尾节点1⃣️单向链表2⃣️双向链表3⃣️循环链表#include #include #include typedef struct

2016-10-22 14:50:32 236

原创 C++ 标准模板库 容器 vector list Deque set map

标准模板库容器:1、顺序容器1⃣️vector(向量):可以随机访问任何一个元素(下标操作符系统默认重载)添加、删除元素在末尾2⃣️Deque(队列):可以随机访问任何一个元素(下标操作符系统默认重载)添加删除元素在头部和尾部都可以进行3⃣️List(链表):顺序访问(没有下标操作符重载),任意位置添加删除元素vector:头部添加删除元素与元素个数成正比,尾部添加删除元素

2016-10-22 14:49:44 566

原创 多继承 菱形继承

多继承:一个类有两个或两个以上的父类,称之为多继承。注意:1⃣️多个父类构造函数的调用顺序 // 与继承顺序相同  2⃣️如何辨别多个父类中同名函数        (如果多个父类中出现同名函数,子类中没有重写此函数,通过子对象调用此函数,出现二义性)解决办法:1.重写此函数  3⃣️菱形继承问题办法:虚继承(直接从爷爷类继承成员) son & operato

2016-10-22 14:48:54 395

原创 C++ 多态 虚函数 纯虚函数 动态、静态转换

多态:由父类指针统一操作子类对象多态优点:由父类指针管理子类,可以照顾到未来代码(维护)。比如说添加一个新的子类,只需要重写函数,不必修改源代码虚函数 :父类指针、引用调用正确的被覆盖的函数,此时成员函数需要声明成虚函数注意:如果父类中的成员函数是虚函数,那么子类中重写这个函数默认为虚函数父类指针、引用调用函数:1、查看基类中函数是否为虚函数2、不是的话调用父类成员函数,是的话查看

2016-10-22 14:47:44 822

原创 C++ 子类对象当父类对象使用

子类对象当父类对象使用1⃣️把子类对象直接赋值给父类对象(等号左边是父类对象,等号右边是子类对象)子类对象赋值给父类对象,仅仅把继承自父类部分成员函数赋值给父类对象赋值完成后等号左边依然是一个父类对象 Derived d; Base b; b=d;//把子类对象d当成父类对象来使用(父类对象不能赋值给子类对象,也就是说父类对象不能当成子类对象使用)2⃣️父类的引用指

2016-10-22 14:45:59 8389

原创 GUI2 进度条LoadingBar 滑块 Slider

GUI  九宫格  loadingBar slider九宫格九宫格是利用一张很小的图片来绘制大区域图片却不失真的技术。绘制时会遵循下面的规则: a. 保持4个角部分不变形b. 单向拉伸4条边(即在4个角两两之间的边,比如上边,只做横向拉伸)c. 双向拉伸中间部分(即九宫格的中间部分,横向,纵向同时拉伸,PS:拉伸比例不一定相同)loadingBar进度条1️⃣设置背

2016-10-10 21:10:45 779

原创 cocos场景跳转与坐标系

cocos 第二天场景跳转与坐标系场景跳转场景的跳转基本上是在对按钮的绑定事件中实现的1️⃣ 压栈(push)与出栈(pop)    auto scene = MyScene::creatMyScene(); // 对将要进入场景的声明    Director::getInstance()->pushScene(scene);出栈就不需要指明类了,从哪里来到

2016-10-10 21:09:17 598

原创 cocos 绘制图形与时间调度器

cocos 三  绘制图形与调用回调函数     time1--;    char  str[100];    //auto label1 = (Label* )this->getChildByTag(100);    sprintf(str,"Time:%d",time1);     //  设置变化Label的值    label->setString(str);绘制图

2016-10-10 21:00:33 342

原创 cocos 动画 触摸事件

动画与触摸动画动画分为两部分  animation   与 animate  将动画类比为连环画,则 animation相当于造书的过程而 animate则为快速翻书的动作 通常会再添加一个repeateForever的动作,确保动画一直继续下去1️⃣animation 首先创建精灵帧缓存,然后将许多图片合成一张大图片与plist文件,加入缓存中   // 创建获取精灵帧缓

2016-10-10 20:59:17 553

原创 cocos 屏幕适配 Http网络 粒子系统

屏幕适配CC_CALLBACK_N ()  //  N指的是未指定参数(palcehoder 通常为Ref*   EventType 即不用传递的参数)closeItem->setCallback(CC_CALLBACK_1(HelloWorld::menuCloseCallback, this,2));可变参数放未指定函数后void HelloWorld::menuCloseCa

2016-10-10 20:58:22 265

原创 cocos文件持久化

cocos 文件持久化  访问json文件格式rapidjson::Document doc;    doc.Parse(data.c_str());    doc["hello”][0].AddMember("name", "zhnaghow", doc.GetAllocator());//hello为属性名  [0]为hello内第一个大括号包含的内容json文件格式:

2016-10-10 20:57:12 794

原创 cocos Box2D物理引擎

Box2Dnew&&delete使用new会调用构造函数使用delete会调用析构函数malloc&&free c的库函数,仅仅用来申请内存空间构造:先构造父类后构造本身析构:先析构本身后析构父类1.属性框:显示物理攻击,防御值,生命值  要求:显示当前卡牌的属性Box2D物理世界世界表示一个范围,实际上也是一个刚体,需要设置边界,即

2016-10-10 20:56:32 748

原创 cocos2d-x3.0 GUI Button PageView Layout ListView ScrollView Image Checkbox editBox

cocos2d-x3.0  GUI    Button   PageView Layout  ListView  ScrollView Image Checkbox   editBox  #pragma mark 页面视图cocos2d::ui::Layout * UItest:: createLayout(int index){    auto ly = cocos2d::ui::L

2016-09-26 19:02:28 912 1

空空如也

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

TA关注的人

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