自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蔡明勇

程序人生 随波逐流

  • 博客(24)
  • 问答 (1)
  • 收藏
  • 关注

原创 【Objective-C编程开发】关于子类重写父类初始化方法的争论

写出本篇文章实属不是我的本意,只因今天在相关技术群上有两个人争得耳红眼赤.今天趁着有空写出这个基础性内容,希望能帮到有些新手的疑惑。观点A:认为在子类重写的init中没有必要进行self =[super init]父类的初始化、每个子类可以不依靠父类单独进行实例化子类,这样也不会影响到他对父类除了私有属性私有方法外的其他内容的调用。观点B:一定要在子类重写init中进行父类初始化成功的判断

2015-08-09 13:19:25 930

原创 【Obective-C编程开发】Objective-C之BOOL一清二楚

无论我们是在游戏开发或者应用开发,布尔类型是不可或缺的数据类型,我们知道布尔类型一般表现为真值或者假值,但是在不同的编程语言,布尔类型却有不同的表现。C语言:实际上,C语言并不具备布尔类型,但是一般定义0为假值,非0值是真值, 所以int类型与布尔类型可谓难兄难弟,可以互相转换;而在java语言:int类型与布尔类型却是不能互相转换,存储的值只有true或者false值;最后看看Objective

2015-08-08 16:20:12 689

原创 switch case in protected scope 异常解决

阳光明媚、为何一大早就给我switch报错。异常提示: switch case in protected scope ,当你在switch的case项中只有一行代码的时候,这样做是完全OK的。如果当你想在Case中写下多行代码的时候。这个时候编译器就不淡定了。它会报switch case in protected scope错误。至此分享一下关于switch case in

2015-08-07 09:31:53 744

原创 【Cocos2d入门教程七】三分钟看懂Cocos2d坐标系

1.OpenGL坐标系Cocos2d-x使用的是OpenGL坐标系,原点在屏幕的左下角,x轴向右,y轴向上,也称为笛卡尔坐标系2.标准屏幕坐标系屏幕坐标默认原点是在左上角,x轴向右,y轴向下。安卓、IOS的屏幕触摸事件传入的位置信息使用的是该坐标。因此在cocos2d中对触摸事件做出响应前需要把触摸点转化为GL坐标,这里Cocos2d-x已经帮我们做好转换了。3.世界坐标系

2015-08-06 14:13:04 626

原创 【Cocos2d入门教程六】Cocos2d-x事件篇之触摸

Cocos游戏当中产生一个事件时,可以有多个对象在监听该事件,所以有优先级(Priority).优先级越高(Priority值越小),事件响应越靠前。关系图:新事件分发机制:在2.x 版本事件处理时,将要触发的事件交给代理(delegate)处理,再通过实现代理里面的onTouchBegan等方法接收事件,最后完成事件的响应。而在新的事件分发机制(3.x)中,只需通过创建一

2015-08-06 12:36:27 834

原创 【Cocos2d入门教程五】Cocos2d-x动作篇

1. 即时动作  放置–Place  隐藏– Hide  显示– Show  可见切换–ToggleVisibility 2.延时动作  移动到–CCMoveTo  移动– CCMoveBy  跳跃到–CCJumpTo   跳跃–CCJumpBy     贝塞尔–CCBezierBy    放大到–CCScaleTo   设置放大倍数,是浮点型。

2015-08-06 11:53:47 732

原创 【Cocos2d入门教程四】Cocos2d-x菜单篇

游戏世界多姿多彩,无论多靓丽的游戏,多耐玩的游戏,在与游戏用户交互上的往往是菜单。 上一章我们已经大概了解了导演、节点、层、精灵。这一章以菜单为主题。菜单(Menu)包含以下内容:1.精灵菜单项(MenuItemSprite)2.图片菜单项(MenuItemImage)3.文字菜单项(MenuItemFont)4.标签菜单项(MenuItemLabel)

2015-08-06 11:41:13 747

原创 【Cocos2d入门教程三】HelloWorld之一目了然

什么程序都是从HelloWorld先开始。同样Cocos2d-x我们先从HelloWorld进行下手、下面是HelloWorld的运行完成图:建立好的Cocos游戏项目中会有两个比较常用接触的文件夹。分别为Classes与resource。Classes存取代码文件,resource存取资源文件,下面为完整的项目架构:我们先来看下最基本的AppDelegat

2015-08-06 10:55:27 803

原创 【Cocos2d入门教程二】Cocos2d-x基础篇

上一章已经学习了环境的搭建。这一章对基础概念进行掌握。内容大概有:1.导演2.场景 3.层4.精灵1.导演(Director)导演存在的主要作用:环境设定(帧率 初始化openGl和渲染器)场景管理执行主循环游戏就是个死循环 不断不断的渲染  就跟视频没两样 一帧一帧的绘制出来  话说提一下一帧为1/60秒  也就是说coco里一秒渲染60次

2015-08-05 17:54:59 860

原创 【Objective-C编程】 Foundataion框架的详解

之前有提到关于Cocos即不是一种语言,也不是一种开发工具。接下来为大家揭晓谜底,它是创建Mac OS X和IOS程序的原生面向对象API,为这两者应用提供了编程环境。我们通常称为“Cocoa框架”,事实上Cocoa本身是一个框架的集合,它包含了众多子框架,其中最重要的要数“Foundation”和“UIKit”。前者是框架的基础,和界面无关,其中包含了大量常用的API;后者是基础的UI类库,

2015-08-05 15:48:55 728

原创 【Objective-C编程】import、include及@Class的孽缘

今天仔细总结了import、include及@Class的联系与区别。一、#import和#include在Oc中如果#include两次的话会报错:因为#include相当于拷贝头文件中的声明内容,所以会报重复定义的错误但是使用两次#import的话,不会报错,Oc的编译器很聪明很智能 ,他会做一次判断,如果已经导入一次就不导入了,所以他可以解决重复导入的问题

2015-08-04 22:05:09 574

原创 【Objective-C编程】浅析Objective-C的继承与复合

OOP关于类和对象包含两个主要方面,继承和复合(composition)。继承可以定义一个具有父类所有功能的新类。复合中,对象可以引用其它对象。1. 继承(is-a关系)   如    @interface YourObject:NSObject        {               …………               …………

2015-08-04 19:52:48 608

原创 【Objective-C编程】深入浅出字符串NSString

1.NSString创建NSString提供了许多创建和初始化新字符串的方法。下面这个是创建常量字符串的。 它是编译到可执行文件中的NSString的实例,它不会在内存中消失。NSString *hello = @"hello"; // 声明NSString *append = [hello stringByAppendingString:@"world!"]; // 追加NSStri

2015-08-03 16:51:39 490

原创 【Objective-C编程】 Must explicitly describe intended ownership of an object array parameter异常报错解决方案

在做Oc的一个OOP的画多种图形例子的时候。Xcode无端报Must explicitly describe intended ownership of an object array parameter”异常信息,检查了几遍代码还是编译器报错,找了很久才知道原因,现在将这个错误分享出来给大家。报错的关键代码:错误的翻译:必须显式地描述目标对象的所有权。个人理解大概就是

2015-08-03 15:56:46 1528

原创 【Objective-C编程】Objective-C的基本数据类型

objective-C是扩充C的面向对象编程语言。之前一直在疑问oc跟Cocoa是什么关系,打个比喻可能直观一点,Cocoa是厂房,那么Oc就是厂房里的机器 ,程序员要做的就是用机器在厂房这个环境里进行制作,生产产品,我们要生产的就是app。Cocoa这个厂房环境下有两个框架分别为Foundation和Application Kit Objective-C基本数据类型的所占长度:

2015-08-02 21:28:12 642

原创 【Cocos2d实战】最后一战01:基本环境和需求分析

在分析游戏还是先声明五r需求和游戏内容的基本分析在开发一个手机游戏之前,我们要首先分析一个游戏的基本特点,包括游戏的基本角色和属性,以及游戏的基本功能,游戏的基本规则,将整个游戏的基本流程画出来。然后在对我们游戏的场景各个进行分析,找出我们游戏中的难点和重点,对其分解。游戏的部分效果图如下:游戏的基本流程如下:游戏角色1.英雄2.怪物

2015-08-02 11:11:29 747

原创 【Cocos2d入门教程十三】 浅析Cocos2d下3.x与2.x屏幕截图的区别

关于好多人都在发帖说不知屏幕截图如何截。网上的一大堆博客都是在说2.x的,今天阳光明媚,就对3.x和2.x两者的使用方法就行浅谈。3.x版本的屏幕截图实现:在3.2 alpha0版本,utils::captureScreen()方法被加入用于保存屏幕截图。相对于2.x中使用截图相对起来比较轻松就能直接实现。void captureScreen(const std::function&

2015-08-02 10:28:47 428

原创 【Cocos2d入门教程十二】浅析Cocos2d下的粒子系统

粒子系统之前有两种类型 ,不过现在只有一种ParticleSystemQuad粒子系统的两种模式     重力模式   半径模式创建的两种方式1.采用plist创建使用自带的粒子创建

2015-08-02 09:55:07 390

原创 【Cocos2d开发】 论Cocos2d-x+JS/Lua

貌似有人很多人在纠结在Cocos2d-x上对JSBind或者是LuaBind的选择.有人说Cocos2d团队不断的偏向Cocos2d-js .JS在官网上更新的频繁的脚步不断的加快。未来的模式上肯定是Cocos2d-x+Js模式为大势所驱。也有人说说是quick-lua包括整个团队在2014年就被Cocos团队收购进去了。所以Lua作为以后的热更新绑定也是绝有可能的。以下为我的个人看法:现

2015-08-01 21:55:43 1930

原创 【Cocos2d入门教程十】浅析Cocos2d内存管理

如果要说Cocos2d内存管理就不得不说到底层C++以及OC那套内存管理机制。在C++中,动态内存分配是一把双刃剑,一方面,直接访问内存地址提高了应用程序的性能,与使用内存的灵活性;另一方面,由于程序没有正确地分配与释放造成的例如野指针,重复释放,内存泄漏等问题又严重影响着应用程序的稳定性;目前为止C++标准都没有给出真正的内存管理方案。说到这里可能有人会不知道什么是内存泄露,这里就顺带提一下

2015-08-01 21:04:39 465

原创 【Cocos2d入门教程十一】浅析Cocoss2d下的音频引擎及封装音频类

Cocos2d-x提供了一个音频CocosDenshion引擎,CocosDenshion引擎可以独立于Cocos2d-x单独使用,CocosDenshion引擎本质上封装了OpenAL音频处理库。具体使用的API是SimpleAudioEngine。在大多数平台上,cocos2d-x可以调用不同的SDK API来播放背景音乐和音效。CocosDenshion音频引擎只能在同一时间只能播放一首

2015-08-01 20:29:13 427

原创 【Cocos2d入门教程八】浅析Cocoss2d下的多点触控

新事件分发机制:在2.x 版本事件处理时,将要触发的事件交给委托代理(delegate)处理,再通过实现代理里面的onTouchBegan等方法接收事件,最后完成事件的响应。而在新的事件分发机制中,只需通过创建一个事件监听器-用来实现各种触发后的逻辑,然后添加到事件分发器_eventDispatcher,所有事件监听器有这个分发器统一管理,即可完成事件响应。事件监听器有以下几种:触

2015-08-01 17:22:07 679

原创 【Cocos2d入门教程九】浅析Cocos2d下的加速计事件

在2.x中处理事件需要用到委托代理(delegate),相信学过2.x的触摸事件的同学,都知道创建和移除的流程十分繁琐。而在3.x中由于加入了C++11的特性,而对事件的分发机制通过事件分发器EventDispatcher 来进行统一的管理。事件分发器EventDispatcher,用于统一管理事件监听器的所有事件的分发。为Node节点的属性,通过导演类的单例获得事件监听器

2015-08-01 16:44:25 863

原创 【数据结构与算法】浅谈数据结构与算法

一直学习着 却没有好好的想过数据结构与算法的重要性,直接前阵子刚刚遇到。准备开始自己的数据结构与算法的学习路程,并且分享下自己的所闻所问。希望给带有相同疑问的朋友给点思路。本人觉得如果想做一个专业的开发人员 个人觉得有三个条件看缺一不可:1.数据结构与算法2.熟练掌握开发的语言3.熟知开发的方向三个条件当中最重要的一个也是最难的一个就是第一点 数据结构与算法

2015-08-01 15:27:32 872

空空如也

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

TA关注的人

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