自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小邓笔记

本博客暂停更新,新博客地址:http://www.objcer.com

  • 博客(172)
  • 资源 (13)
  • 收藏
  • 关注

原创 Cocos2d-x 实现模态对话框

模态对话框(其本身是一个Layer)是指只有该对话框能够响应触摸操作,而其它层不能响应此触摸操作。模态对话框一般在场景中的最上层。模态对话框会有两种触摸代理,一种是对话框该层本身,还有一种是CCMenu。cocos2d-x使用优先级来管理触摸代理,优先级数越小,响应优先级越高。对于同一个触摸,如果有优先级数字更小的代理响应了,则优先级数字更大代理不再响应此触摸。要想拦截模态对话框下的层

2013-09-07 21:14:42 3805

原创 Cocos2d-x 实现技能冷却效果

CD动画,也就是技能冷却。下面先看看 http://blog.csdn.net/z104207/article/details/8059098 中对技能冷却的介绍和实现!介绍:技能冷却的效果跟魔兽世界中的技能冷却类似,功能如下:技能图标点击时会有按下效果,抬起后开始冷却计时,冷却计时技术后该图标才可以再次进行点击。实现:三层实现:最下方是CCMenuItemImage

2013-09-06 21:15:15 5233

原创 Defender Game 游戏实践(1) 游戏基本实现

在网上看到 郑州|boy 这个博客,里面有几篇文章,记录了其用cocos2d-x这个游戏引擎编写的一个游戏,十分不错,所以这段时间,依样画葫芦,依次学习一下。由于博主开发的平台是在win32,而且屏幕分辨率也是800*480。我的目标是:按照博主的代码思路,将这个游戏在iphone这个平台下进行适配。我的开发环境:xcode4.6.3 ; cocos2d-x 2.1.4。本人会根据博主

2013-09-06 19:51:28 3094

原创 iOS 使用UIBezierPath类实现随手画画板

在上一篇文章中我介绍了 UIBezierPath类 介绍 ,下面这篇文章介绍一下如何通过这个类实现一个简单的随手画画板的简单demo,功能包括:划线(可以调整线条粗细,颜色),撤销笔画,回撤笔画,清除画布,橡皮擦。当然也可以扩展功能下面简单讲解一下实现的过程:

2013-09-06 17:21:16 5582 6

转载 Cocos2d-x 设计模式 (9):委托和委托设计模式

前言:前一篇文章讨论了cocos2d-x里面的中介者模式,但是,由于概念把握上面的偏差,我把GoF的中介者模式搞混淆了。幸好有读者给我提出了这个问题,我在上一篇文章中也补充说明了。虽然我谈到的应用场景跟中介者模式有点类似,但是,经典的模式就是模式,我不能随便篡改,更不能张冠李戴。所以,这篇文章我将谈到的是委托模式(delegation pattern),而不是GoF里面的代理模式(Prox

2013-09-06 12:23:05 2141

转载 Cocos2d-x 设计模式 (8):中介者模式

前言:上上周写了关于cocos2d-x里面的观察者模式,文章最后提到一个应用场景:“你的GameScene里面有两个layer,一个gameLayer,它包含了游戏中的对象,比如玩家、敌人等。另一个层是HudLayer,它包含了游戏中显示分数、生命值等信息。如何让这两个层相互通信。”关于这两个层之间如何通信的问题,读者Llllong和我畅快淋漓地讨论了一番,详细的内容可以参考那篇文

2013-09-06 12:22:13 1928

转载 Cocos2d-x 设计模式 (7):组合模式

在开始挖掘cocos2d-x里面的组合模式之前,我武断地下个结论:“几乎所有与GUI相关的框架设计都应用了组合设计模式”。(PS:大家注意我的用词,是“几乎所有”,给自己留条后路,哈哈)1、应用场景Cocoa编程框架APPKit和UIKit都应用了组合模式,各种各样的View及其派生类组成了一棵树状结构的层级视图,而这里面就应用了组合模式。当然,Cocos2D-x里面的No

2013-09-06 12:19:14 1619

转载 Cocos2d-x 设计模式 (6):观察者模式

1、应用场景前面在介绍单例模式的时候,提到了一个类CCNotificationCenter,它除了应用单例模式以外,还应用了观察者模式。CCNotificationCenter类是观察者模式中的目标对象,而CCNotificationObserver则是观察者。一个目标对象可以注册多个观察者,当目标对象的状态改变的时候,可以通知观察者对象作出相应的响应。这是标准的观察者模式的实现,

2013-09-06 12:17:57 1970

转载 Cocos2d-x 设计模式 (5):防御式编程模式

声明:防御式编程是提高程序代码质量的一种手段,它不能算是真正意义上的模式。但是,这里,我还是要给它冠之以“模式”二字。原因有2:1.cocos2d-x的框架源代码大量采用了防御式编程技术,用来确保框架的代码质量和稳定性。2.标题党,引起大家对于防御式编程的重视。特别是当大家给cocos2d-x贡献源代码的时候,更应该要注意保证代码质量。因为,王哲大大在review很多人给c

2013-09-06 12:17:14 1714

转载 Cocos2d-x 设计模式 (4):外观模式

1.应用场景Cocos2d-x里面有一个非常明显的地方使用了外观模式,它就是SimpleAudioEngine。因为它为CocosDenshion这个子系统的一组接口提供了一个一致的界面,同时定义了一个高层接口,方便客户使用该子系统。对于大多数用户来讲,游戏中操作声音,无非就是播放背景音乐和音效。CocosDenshion这个子系统封装了OpenAL,屏蔽了OpenAL操作声音的低

2013-09-06 12:13:13 1421

转载 Cocos2d-x 设计模式 (3):管理者模式

想必读者一看这个题目又要纳闷了,神马又是“管理者模式”啊?管理者(Manager)就是专门负责管理其它类的实例的类,比如Cocoa里面的NSFontManager、NSInputManager、NSFileManager和NSLayoutManager类。此模式和“二段构建模式”一样,也没有出现在GoF的23个设计模式中,但是《Cocoa设计模式》一书中有提及,感兴趣的读者可以去查阅一下。

2013-09-04 23:41:41 1812

转载 Cocos2d-x 设计模式 (2):二段构建模式

乍一看标题,大家可能会觉得很奇怪,神马是“二段构建模式”呢?所谓二段构建,就是指创建对象时不是直接通过构建函数来分配内存并完成初始化操作。取而代之的是,构造函数只负责分配内存,而初始化的工作则由一些名为initXXX的成员方法来完成。然后再定义一些静态类方法把这两个阶段组合起来,完成最终对象的构建。因为在《Cocoa设计模式》一书中,把此惯用法称之为“Two Stage Creation”

2013-09-04 23:38:57 2275

转载 Cocos2d-x 设计模式 (1):单例模式

本系列文章我将和大家一起来发掘cocos2d-x中所使用到的设计模式,同样的,这些模式在cocos2d-iphone中也可以找到其身影。声明:这里发掘模式只是我的个人爱好,通过这个过程,我希望能加深自己对于设计模式运用的理解。关于模式的学习,市面上已经有许多非常好的书籍了。比如《Head First设计模式》、GoF的设计模式,还有《研磨设计模式》等。如果读者对于设计模式完全不了解的话,建

2013-09-04 23:32:44 2380

原创 iOS UIBezierPath类 介绍

使用UIBezierPath类可以创建基于矢量的路径,这个类在UIKit中。此类是Core Graphics框架关于path的一个封装。使用此类可以定义简单的形状,如椭圆或者矩形,或者有多个直线和曲线段组成的形状。    1.Bezier Path 基础   UIBezierPath对象是CGPathRef数据类型的封装。path如果是基于矢量形状的,都用直线和曲线段去创建。我们使用直

2013-09-04 20:34:41 35633 3

转载 关于前置声明与C++中头文件相互包含的几点问题

一个前置声明是指在程序员尚未给出完整定义之前对一个标示符(一个类型、一个变量或者一个函数)的声明。一个很简单的例子就是我们在函数A中使用了函数B,但是函数B的声明在函数A之后,这个时候,就需要对函数B进行前置声明,实际上就是在函数A之前提供一个函数B的原型(prototype)。这种现象其实在C语言编程中我们已经习以为常了,在C++中亦是如此,只不过在编写较大规模程序的时候,由于定义了较多的类,而

2013-09-01 16:44:42 6526

原创 Cocos2d-x init() 和 onEnter() 区别

在Cocos2d-x中经常碰到 init() 和 onEnter()init()和onEnter()这两个方法都是CCNode的方法。1.二者的执行顺序是:先init() 后onEnter()。2.init()在类的初始化时只会调用一次。3.onEnter在该类被载入场景的时候被调用,可能会发生多次。下面提供这样一个demo判断二者的执行顺序:BaseF

2013-08-31 17:28:11 6645

原创 Cocos2d-x CCProgressTimer

CCProgressTimer,创建使用这个节点可以大致实现两个作用的效果:其一:在游戏中几乎大部分的游戏启动界面都是游戏加载画面,那么用到的一般是进度条提示加载进度,其使用的就是CCProgressTimer。其二:在游戏中需要对精灵的出现等动作制作一些渐显的效果。(1)类型一般就是两种:typedef enum { /// Radial Counter-Clockw

2013-08-30 20:35:44 5603

原创 Cocos2d-x 实现委托机制

在 点击打开链接 这里看到一篇关于如何实现委托机制的文章,感觉有点意思,由于这篇文章只是讲了个思路,所以我自己实践了一下,写了一个demo。实现委托机制demo的情景描述:LayerA是一个层,里面有个sprite,一旦A被初始化,这个sprite就会执行一个action;LayerB是另一个层。我在LayerB中加入了LayerA,但是要等到A中的那个sprite的action执行完

2013-08-30 19:34:32 2214

原创 Cocos2d-x 声音SimpleAudioEngine & 游戏存档 CCUserDefault

一、Cocos2d-x中的声音Cocos2d-iphone中包含CocosDenshion库,从低到高提供三层接口:CDSoundEngine、CDAudioManager和SimpleAudioEngine,但整个库完全依赖于OpenAL来实现。由于在其他平台上无法提供CocosDenshiono的底层支持,所以只采用了最上层的SimpleAudioEngine类来实现跨平台的声音引擎,在使

2013-08-19 19:49:09 5429

原创 Cocos2d-x cURL简单示例demo

前面转载了两篇有关cURL的文章,都很详细 。说实话,看的不是很懂。下面通过引擎中的一个例子来看看。(1)关于这个curl这个类的文件所在位置,libs/cocos2dx/platform/third_party/ios/curl  就可以看到curl有关的文件了。(2)关于引擎中自带的例子:CurlTest其中与curl有关的代码如下:void CurlTest::ccTouch

2013-08-19 19:44:37 3806

转载 Cocos2d-x cURL编程教程(2)curl_easy_setopt参数详细介绍

CURLOPT_HEADER:设为1,则在返回的内容里包含http header;CURLOPT_FOLLOWLOCATION:设为0,则不会自动301,302跳转;*CURLOPT_INFILESIZE: 当你上传一个文件到远程站点,这个选项告诉PHP你上传文件的大小。*CURLOPT_VERBOSE: 如果你想CURL报告每一件意外的事情,设置这个选项为一个非零值。*C

2013-08-19 16:02:16 1360

转载 Cocos2d-x cURL编程教程(1)帮助手册

本篇介绍使用libcurl编程的一般原则和一些基本方法。本文主要是介绍 c 语言的调用接口,同时也可能很好的适用于其他类 c 语言的接口。跨平台的可移植代码libcurl库背后的开发人员投入了相当大的努力确保libcurl可以在很多不同的系统和环境里工作。(1)全局的准备程序必须初始化一些libcurl的全局函数。这意味着不管你准备使用libcurl多少次,你都应该

2013-08-19 15:59:42 1413

原创 Learning Lua Programming (4) Cocos2d-x中Lua编程(一)

刚开始接触cocos2d-x 下的Lua编程,主要参看了李明华大神的博客中的介绍,http://blog.csdn.net/xiaominghimi/article/category/1155088 大概了解了一下,下面这篇博客主要记录一下如何在Cocos2d-x项目中使用Lua进行开发,还有在Lua中如何使用自定义的精灵类(Lua脚本和自创建类之间的访问)这两个内容;这些内容在李明华大神的博客中

2013-08-18 20:24:20 3678

原创 Learning Lua Programming (3) iMac下搭建Lua脚本最好的编码环境(代码补全,编译运行)

这篇文章记录一下如何在MAC系统环境下,搭建LUA脚本最好的编码环境,具有强大的代码补全,而且可以编译运行。这里使用到的还是sublime text编辑器。下面开始进行详细的介绍:(1)下载sublime text注意版本号为2.0.2,下载地址:sublime text 2下载地址 (2)安装lua环境进入这个页面进行lua安装 点击打开链接 ,在这个页面中,提示到有

2013-08-17 22:03:32 4363

原创 Learning Lua Programming (2) Lua基础语法示例

开始学习Lua编程,首先从一些简单的语法开始。一、编辑环境下面推荐一个Lua编程的IDE,感觉是很强大的。ZeroBrane Studio,windows平台,mac平台都有。点击打开链接  官方下载地址二、开始一些简单的编程(代码参考自http://blog.csdn.net/xiaominghimi/article/details/8770395的例子)具体语法参考我的

2013-08-17 17:36:46 1710

转载 Learning Lua Programming (1) Lua脚本语法说明(修订)

Lua脚本语法说明(增加lua5.1部份特性)  Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱。  所以,我只简单的归纳一下Lua的一些语法规则,使用起来方便好查就可以了。估计看完了,就懂得怎么写Lua程序了。  在Lua中,一切都是变量,除了关键字。I.  首先是注释  写一个程序,总是少不了注释的。  在Lua中,你可以使用单行注释和多行注释。

2013-08-17 16:34:26 1424

原创 Cocos2d-x 关于在iOS平台真机测试的一些注意

下面简单记录一下在最近cocos2d-x项目在iOS平台真机测试和模拟器测试中遇到的一些要注意的地方(使用ipod):1、图片大小游戏中基本上都是会用到图片,那么在使用图片的时候要特别注意图片的size。注意:一般来说,在设计图片的时候,其大小要设计为我们所需要图片大小的两倍大小。(why,下面解释)例如说:我们需要一张50*50大小的图片,用于精灵显示,也就说在屏幕中

2013-08-16 12:03:46 4585

转载 C++中的function, bind 和 lambda

本文是C++0x系列的第四篇,主要是内容是C++0x中新增的lambda表达式, function对象和bind机制。之所以把这三块放在一起讲,是因为这三块之间有着非常密切的关系,通过对比学习,加深对这部分内容的理解。在开始之间,首先要讲一个概念,closure(闭包),这个概念是理解lambda的基础。下面我们来看看wikipedia上对于计算机领域的closure的定义:

2013-08-16 09:59:55 8351

原创 Cocos2d-x 一些常见宏的作用

2.常见宏   1)NS_CC_BEGIN cocos2d命名空间开始   2) NS_CC_END  cocos2d命名空间结束   3)USING_NS_CC 声明cocos2d命名空间   4)CC_SYNTHESIZE_READONLY(varType, varName, funName)声明一个成员变量以及getfunName函数,没有set函数。getf

2013-08-14 21:32:19 3124

原创 Cocos2d-x Touch事件处理机制

在Cocos2d-x中提供两种触摸事件处理机制:CCStandardTouchDelegate和CCTargetedTouchDelegate。

2013-08-14 15:37:09 7653 2

原创 Cocos2d-x 处理双击事件的两种方法

在cocos2d-x的开发过程中有些时候也是需要用到双击的事件处理,那么由于在cocos2d-x中没有实现对双击的事件的处理,那么我们就需要自己用代码实现。下面介绍两种方式实现双击事件的处理。(一)方法一第一种方法就是利用两次touch之间的时间间隔来判定是单击或者是双击,一般来说,双击,两次touch之间的时间间隔为250ms~300ms(毫秒)。所以利用这个条件就可以对双击

2013-08-14 14:48:23 4764

原创 Cocos2D-x schedule & scheduleUpdate 的使用

开始学习Cocos2D-x在cocos2d-x中提供了好几个定时器的方法供调用我们可以在CCNode.h 这个头文件中找到相应的方法,下面整理一下:(1)使用下面这个方法,那么节点在每一帧都会执行update方法。/** * Schedules the "update" method. * * It will use the ord

2013-08-08 14:56:43 3464

转载 C++转换符:'reinterpret_cast', 'static_cast', 'dynamic_cast' 和 'const_cast'

为什么要进行类型转换?转换的含义是通过改变一个变量的类型为别的类型从而改变该变量的表示方式。为了类型转换一个简单对象为另一个对象你会使用传统的类型转换操作符。 Q:什么是C风格转换?什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么? C 风格(C-style)强制转型如下:    (T) expression

2013-08-07 17:29:35 1653

原创 Cocos2d-iphone 为sprite添加双击的事件响应

这篇文章介绍两种方式处理cocos2d中的双击事件响应。在iOS中使用UITapGestureRecognizer ,很容易就可以添加双击事件处理,但是在cocos2d中无法直接向sprite添加UITapGestureRecognizer,所以就要做一些处理。说明:我现在是想向一个sprite 添加一个双击的事件响应。第一种方法是比较简单的,使用touch中的tapCount这个属性

2013-08-03 20:04:45 2338

原创 iOS 应用程序本地化

由于iPhone,iPad等苹果产品在全世界范围内的广泛流行,那么通过App Store下载应用程序的用户也将是来自世界范围的人们,所以开发者在开发过程中势必要考虑到不同语言环境下用户使用,好在iOS拥有健壮的本地化(localization)体系结构,使用它可以轻松的将应用程序翻译成多种语言。 多语言在应用程序中一般有两种做法:一、程序中提供给用户自己选择语言的机会;二、根据

2013-08-02 19:51:26 2990

原创 iOS CoreData(2)

上面一篇文章介绍了coredata的有关基本概念,由于大部分是参考别人文章中的内容,所以感觉有点虚,而且估计也是比较难以理解,下面这篇文章通俗一点说说学习coredata后的一些理解,然后给出一个简单的demo,有错漏的地方,欢迎读者指正。其实与coredata有关的有几个概念:数据表 --–> Entity  (You usually define entities in

2013-08-02 15:53:42 2988 1

原创 iOS CoreData (1)

下面开始学习一下CoreData。Core Data不是一个关系型数据库,也不是关系型数据库管理系统(RDBMS)。Core Data 为数据变更管理、对象存储、对象读取恢复的功能提供了支持。 它可以使用SQLite作为持久化存储的类型。 它本身并不是一个数据库(这点很重要,比如,你可以使用Core Data来记录数据变更,管理数据,但并不能用它向文件内存储数据)。

2013-08-01 16:03:40 2123

原创 iOS SQLite3

SQLite3是嵌入在iOS中的关系型数据库,对于存储大规模的数据很有效。SQLite3使得不必将每个对象都加到内存中。这篇文章将简单介绍一下如何使用SQLite3.注:大部分SQLite3函数返回值为SQLITE_OK为成功,否则返回SQLITE_ERROR (1)打开数据库(若数据库文件不存在,则创建之) SQLITE_API int sqlite3_open(constchar

2013-07-31 20:27:31 2390

原创 Cocos2D-iphone CCLayer中的两种触摸(touch)处理方式

Cocos2d 提供了两种touch处理方式,StandardTouch Delegate和 TargetedTouch Delegate方式         在CCLayer子类中要能接收touch事件,首先需要激活touch支持,在init方法中设置isTouchEnabled值为YES。Standard Touch Delegate(CCLayer默认采纳这种方式)-----这种

2013-07-30 21:41:46 2105

原创 iOS 沙盒(sandbox)机制和文件操作

本文参看了 http://www.uml.org.cn/mobiledev/201209211.asp#1 这篇文章中的介绍,尊重原著。1、IOS沙盒机制IOS应用程序只能在本应用程序中创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。1.1、每个应用程序都有自己的存储空间1

2013-07-30 15:47:23 5730

UIView和Coco2d-x场景之间的相互切换

UIView和Coco2d-x场景之间的相互切换实现,只是项目中的ios文件夹

2013-11-19

CCScrollView实现帮助界面、关卡选择

CCScrollView实现帮助界面、关卡选择 实现平台 ios6

2013-10-20

Cocos2d-x 自定义可接受处理触摸信息精灵类

Cocos2d-x 自定义可接受处理触摸信息精灵类 一个简单的例子,基于cocos2dx-2.1.5版本

2013-10-11

Defender Game游戏例子代码

Defender Game游戏例子代码,内容是来自 郑州|boy 的1~4节内容,本人根据作者的代码思路进行一些修改,运行在iphone平台下,xcode下可以正常打开运行。

2013-09-06

ZeroBrane Studio(Lua IDE)

iMac下强大的编辑器,带有代码提示功能。

2013-08-17

程序本地化

这个是程序本地化的小demo,十分简单。适合初学者。

2013-08-02

CoreDataDemo

这个是简单一个coredata小demo,适合初学者。

2013-08-02

CatJump小游戏

使用cocosbuilder和cocos2d-iphone开发的入门小demo

2013-07-14

ios新浪微博demo

这次继上一次的demo后,更新了一些功能,欢迎下载交流。

2013-06-18

java实验 排序GUI

java实验 内容是有关排序的GUI 欢迎下载修改

2013-06-05

进程调度的设计与实现(有GUI) java

进程调度的设计与实现(有GUI) java

2013-06-05

iOS 新浪微博客户端Demo实践程序

这是sina微博客户端的简单demo程序,里面主要实现:看微博,看评论,看粉丝,发微博和发评论。欢迎下载修改和交流!

2013-05-17

空空如也

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

TA关注的人

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