- 博客(42)
- 收藏
- 关注
转载 基于cocos2d-x引擎的游戏框架设计
于移动终端和感应交互的游戏,为人们带来了全新的游戏体验。本文,我们将结合目前流行的cocos2d-x引擎,使用C++语言,基于iOS平台,和大家分享iPhone、iPad上游戏客户端的构架与实现。文/李成,郑鑫移动互联网浪潮正在彻底改变人们日常的生活习惯和生活方式。相应的,基于移动终端和感应交互的游戏,也为人们带来了全新的游戏体验。本文,我们将结合目前流行的cocos2d-x引擎,
2013-01-27 01:09:26
783
转载 cocos2d-x 之 CCTextureAtlas 简介
CCTextureAtlas是一个大图绘制管理类。说白了,它本身保存一张大图的纹理和一个记录画大图某一区域的信息结构体的数组,通过操纵这个数组你可以绘制出一批四边形,这些四边形的纹理和绘制的坐标都存放在你操作的数组之中的(又把废话重复了一遍。)由于CCTextureAtlas使用了opengl的VBO(顶点数组对象),所以用CCTextureAtlas所作的绘制在效率上比较高。下面
2013-01-24 21:08:24
464
原创 COCO2DX iOS 适配
iPhone5的屏幕为320*568,而之前的iPhone均为320*480。由于屏幕大小的变化,使得原来开发的应用在iPhone5上面看的话,会留下上下两条黑边,除此之外,很多页面的布局也乱了。总结ios分辨率有480*320568*320 960*640 1024*768 2048*1536屏幕大小:Iphone4:320*480Iphone5: 320*568
2013-01-17 01:02:41
681
转载 libcurl中curl_easy_setopt()和curl_easy_perform()函数使用中文详解
ibcurl里主要用到的函数有curl_easy_init(),curl_easy_setopt()和curl_easy_perform().顾名思义,curl_easy_init()是用来初始化libcurl库的(不知道对不对,就这么理解吧),curl_easy_setopt()是用来设置各种curl参数的,setopt就是set option,curl_easy_perform()
2013-01-15 11:05:31
3185
转载 C++之const成员函数
前几天在看C++视频教程的时候提到了一个const函数,个人觉得const函数简单一点说就是在函数体内不能修改类的成员,在C#里面是没有这个说法的,在此记录一下!以后写C++代码待注意了,凡是不用修改类的成员的函数尽量定义为const函数!比如在取成员变量的值的时候,这样也可以尽量避免bug,而且是在编译的时候就不能通过! 另外就是const函数是不能调用非const函数的,即是是哪个非c
2013-01-14 17:44:02
334
转载 In App Purchase
一、In App Purchase概览Store Kit代表App和App Store之间进行通信。程序将从App Store接收那些你想要提供的产品的信息,并将它们显示出来供用户购买。当用户需要购买某件产品时,程序调用StoreKit来收集购买信息。 下图即为基本的store kit 模型:Store Kit的API只是为程序添加In App Purchase功能的一小部分。
2013-01-13 14:34:33
668
转载 Adobe AIR教程:iOS应用内付费简介和准备流程
摘要: 本文的主要内容如下:IAP简介商品与交易测试IAP的准备流程IAP简介IAP的全称是In-App Purchase,应用内付费。这种业务模式允许用户免费下载试用,对应用内提供的商品选择消费,比如购买游戏道具,购买游戏等级等等。 ...本文的主要内容如下:IAP简介商品与交易测试IAP的准备流程IAP简介
2013-01-13 13:44:21
583
转载 【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!【2012-12-11日更新获取"产品付费数量等于0的问题"】
Himi 原创, 欢迎转载,转载请在明显处注明! 谢谢。 原文地址:http://blog.csdn.net/xiaominghimi/article/details/6937097//——2012-12-11日更新 获取"产品付费数量等于0这个问题"的原因看到很多童鞋问到,为什么
2013-01-12 13:19:38
990
转载 Cocos2d-x学习(二十二):cocos2d-x中CCScale9Sprite的另一种实现
cocos2d 2.0之后加入了一种九宫格的实现,主要作用是用来拉伸图片,这样的好处在于保留图片四个角不变形的同时,对图片中间部分进行拉伸,来满足一些控件的自适应(PS: 比如包括按钮,对话框,最直观的形象就是ios里的短信气泡了),这就要求图片资源的中间部分是纯色或者是简单的渐变了!1.cocos2d中九宫格CCScale9Sprite的实现(1)原理coco
2013-01-11 01:17:35
595
转载 Cocos2d-x学习(二十一):cocos2d-x引擎结构
在不同平台下,cocos2d-x的入口是不一样的,在win32平台,程序是从_tWinMain()开始的,可以在每一个cocos2d-x的程序中的main.cpp中找到。1.程序入口(1)在_tWinMain()中,创建的AppDelegate类的对象(PS: AppDelegate继承于CCApplication,在构造方法中,初始化CCApplication
2013-01-11 01:16:52
637
转载 Cocos2d-x学习(十八):Tiled妙用
cocos2d-x移植于cocos2d-iphone,cocos2d-iphone的架构和设计更符合Objective-C的语法,所以cocos2d-x在移植的过程中,也引入了CCArray的概念!CCArray在设计和使用上更符合Objective-C的风格,类似于Objective-C中的NSArray!1. CCArray只是提供了一个面向对象的封装类其继
2013-01-11 01:16:10
502
转载 Cocos2d-x学习(二十):cocos2d中的容器CCArray
cocos2d-x移植于cocos2d-iphone,cocos2d-iphone的架构和设计更符合Objective-C的语法,所以cocos2d-x在移植的过程中,也引入了CCArray的概念!CCArray在设计和使用上更符合Objective-C的风格,类似于Objective-C中的NSArray!1. CCArray只是提供了一个面向对象的封装类其继
2013-01-11 01:15:27
597
转载 Cocos2d-x学习(十七):Cocos2d-x建工程时避免copy文件夹和库
Tiled是一款很优秀的地图编辑器,一般可以用在90°,45°角的2D游戏地图,并且被很多引擎支持,包括cocos2d,AndEngine等等!当抛开这种传统的用法,在朋友的介绍下,我发现了一种好玩的用法:编辑横版游戏的道具!其实归根结底还是编辑地图!上图显示!(密集综合症的网友请谨慎看图!)不知道各位从中可以想象到什么用途,反正我想到了jetpack的关卡设计
2013-01-11 01:14:16
606
转载 Cocos2d-x学习(十九):iOS6中无法正常游戏横屏的解决方案
1.先在项目的ios目录下的AppController.mm文件中的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 方法中[cpp] view plaincopy
2013-01-11 01:13:31
504
转载 cocos2d-x 内存释放的机制和使用要注意的地方
因为功能和接口和objective-c版本的差不多,所以在内存管理上也采用objective-c引用计数的机制来实现内存管理。仔细看了一下cocos2d-x的源代码,确实写的很好,代码组织得很工整。它们所有类都是继承自CCObject, CCObject有retain(), release()和autorelease()等方法,和objective-c上的NSObject用法一致。每当CCOb
2013-01-11 01:10:38
502
转载 C++中wstring与string相互转化
"font-size:18px; ">转载地址:"http://www.cppblog.com/kenwell/archive/2008/05/21/50661.html">http://www.cppblog.com/kenwell/archive/2008/05/21/50661.html [cpp] view plaincopy"font
2013-01-11 01:07:37
473
转载 一个比较完善的C++ Singleton模式类
转载地址:http://hi.baidu.com/uxufgfwvmhfitzr/item/6fd0b82f49aa1fd5a417b630------------------------------目录------------------------------ 本文的主要内容为: 1、Singleton模式的基类 2、基本的Singleton容器 3、Sin
2013-01-11 01:06:58
390
转载 循环删除vector和map中的元素
转载地址: http://www.cppblog.com/zgysx/archive/2006/12/28/16944.html删除所有偶数项,并打印出删除的项1. vector/queue 正确方法1:void erase(vector &v){for(vector::iterator vi=v.begin();vi!=v.end();){if(*vi % 2
2013-01-11 01:05:59
417
转载 Cocos2d-x学习(十七):Cocos2d-x建工程时避免copy文件夹和库
转载地址:http://www.cnblogs.com/andyque/archive/2011/09/27/2192920.html在上一篇教程中,我们演示了如何使用VS2010来新建一个工程,并且教大家如何一步步解决头文件包含错误、lib库引用错误 及dll链接错误。但是,每次建一个工程都这么费时,岂不是很不爽,而且每个工程都要copy一份cocos2d-x、coc
2013-01-11 01:05:01
471
转载 Cocos2d-x学习(十四):用cocos2d-x实现MoonWarriors(暂停和恢复的实现)
特别声明:本文所有图片资源来源于MoonWarriors cocos2d-html 开源项目今天搞了半天子弹发射这块,还是没弄完,我打算做一个子弹缓冲池,将所有子弹的图片资源打到同一个图片资源中,用一个CCSpriteBatchNode来绘制,这样在很多子弹的时候,就起到优化的效果了,CCSpriteBatchNode的原理是开启一次opengl绘制,绘制所有子精灵!
2013-01-11 01:04:18
377
转载 Cocos2d-x学习(十六):Cocos2d-x内存管理(二)
转载地址:http://blog.csdn.net/a7833756/article/details/7632199前一篇我们讲到cocos2d-x里的内存管理机制,以及引擎中的自动内存管理机制。一个被自动管理的对象从new出来之后到被放到autoreleasepool那么接下来,对象是如何被引擎自动delete掉的呢?首先我们要知道,cocos2d-x的引擎线程是单线程的,它
2013-01-11 01:03:38
418
转载 Cocos2d-x学习(十五):Cocos2d-x内存管理(一)
转载地址:http://blog.csdn.net/a7833756/article/details/7628328前言:c++内存机制,采用new关键字实例化的对象,必须在不使用的时候手动delete掉,否则new的时候开辟的内存就不能被回收,造成内存泄露。我们来举个例子说明一下: 运行 结果,vld工具提示了存在内存泄露:
2013-01-11 01:03:03
336
转载 Cocos2d-x学习(十三):用cocos2d-x实现MoonWarriors(使用触屏改变飞船位置)
今天总结一下触屏事件,做了主流飞行射击类游戏中玩家飞船随玩家的手指的移动改变位置的效果!1.触屏事件的一般步骤如果要使层监听到触屏事件(这里只总结单点触摸),这4个方法是必不可少的[cpp] view plaincopy"font-size:14px;">// default implements are used
2013-01-11 01:02:29
374
转载 Cocos2d-x学习(十二):用cocos2d-x实现MoonWarriors(无限背景滚动的简单实现)
特别声明:本文所有图片资源来源于MoonWarriors cocos2d-html 开源项目之前总结过一次无线背景滚动的实现方法,基本上是基于cocos2d-html版的MoonWarriors的方法实现的,博客地址:cocos2d-x学习(九):cocos2d-x 无限背景滚动其实原理都是类似的,都是通过移动背景图,造成玩家角色移动的假象,而无
2013-01-11 01:02:14
489
转载 Cocos2d-x学习(十一):用cocos2d-x实现MoonWarriors(游戏场景切换和主菜单实现)
特别声明:本文所有图片资源来源于MoonWarriors cocos2d-html 开源项目在cocos2d-html alpha版推出不久,就有一位大神写了一款飞行射击类游戏,MoonWarrior,MoonWarrior cocos2d-html github地址,是用js写的,代码写的很清晰,虽然不是很懂js,但是都是基于cocos2d架构的,所以还是可以看的懂的,加上最
2013-01-11 01:01:02
461
转载 Cocos2d-x学习(十):cocos2d-x 2.0版本中CCScrollView的用法
cocos2d-x 2.0版本之后提供了许多控件,其中就包括ScrollView,之前总结过一个简单的ScrollView,但是问题很多,比如必须是全屏,不能是一块区域,而cocos2d-x 2.0中提供的CCScrollView中,是可以设定区域的,CCScrollView做了区域的裁剪[cpp] view plaincopy"font-s
2013-01-11 01:00:06
456
转载 Cocos2d-x学习(九):cocos2d-x 无限背景滚动
最近在学习飞行射击类游戏的一些开发,学到的东西确实不少,比如,无限背景滚动,子弹的缓冲池,面向组件开发等等!今天就来总结一下无限背景滚动的实现!飞行类的游戏都是基于背景的滚动,造成视觉上的假象,认为飞机在飞行,而不是“真正的向前飞”。。。1.原理滚动的原理:设定一个速度,在每次调用update(ccTime dt) 时,就根据速度和dt得到移动的偏移量,
2013-01-11 00:58:58
474
转载 Cocos2d-x学习(八):cocos2d-x 2.0 中CCListView的用法
cocos2d-x 2.0 版更新了,把opengl 1.1 替换为opengl 2.0,这个版本只能在iphone 3gs,android 2.2 以上版本才能跑,并且android的模拟器也不支持!这次更新终于更新了几个UI控件,比如Button,Slider,ListView(本来打算自己写个ListView的,这下省事了,看到注释,这里要感谢网龙公司了,当然,还要感谢cocos2d-x
2013-01-11 00:58:25
765
转载 Cocos2d-x学习(七):cocos2d-x中ScrollView的简单实现
在游戏关卡选择,道具店之中经常会用到类似于ScrollView的控件,之前用AndEngine引擎的时候简单的实现了一个,(AndEngine滑动菜单传送门),考虑到手头的游戏以后也会用到,就先用cocos2d-x简单的实现了一下!原理非常类似,android中的app(比如微博,qq)也是类似的原理!1.设计思路自定义ScrollView继承于CCLayer,固定其每
2013-01-11 00:57:35
536
转载 Cocos2d-x学习(六):cocos2d-x中的模态对话框简单实现
cocos2d-x中没有为我们提供模态对话框的实现,不过有一个分平台来实现的确认对话框的实现CCMessageBox,可以实现的对话框。可是定制性不强,可以当做系统级的提示,但是如果作为游戏中的对话框就显得不那么妥当了!自定义一个模态对话框需要注意两方面:一. 触摸事件响应的优先级别二.易扩展其实第一点是比较麻烦的一个方面,第二点主要是根据用法的不同而需
2013-01-11 00:56:26
583
转载 Cocos2d-x学习(五):cocos2d-x解析json(使用libjson库)
cocos2d-x很好,扩展性很好,但是其第三方库还不是很成熟,正如王哲所说,需要我们自己寻找,比如json解析和格式化。我们的网络部分需要用到json,网络部分用的比较多的就是json,毕竟很轻量级么。。。上午我看到cocos2d-x论坛里关于json的第三方库有人提到了两个,一个是jsoncpp,一个是libjson,我上午首选的是jsoncpp,看其编译过程,是比较复杂的
2013-01-11 00:54:51
515
转载 Cocos2d-x学习(四):带光标的输入框
cocos2d-x为我们提供了一个跨平台的输入框,CCTextFieldTTF,初看时感觉提供的功能很少,当看到tests中TextInputTest这个例子的时候,感觉它的使用还真是很复杂,其原因无非是一些设置和判断的繁琐。不过话说回来了,输入框最主要的是跨平台监听输入,而不是样式!至于我们想要做的,就是根据游戏的需要相对封装一个简单的输入框而已!今天我就以一个简单的带光标的输入框为例子
2013-01-11 00:54:00
797
转载 Cocos2d-x 3触屏事件(单点触屏)
cocos2d-x中的触屏事件分为多点触屏和单点触屏,而多点触屏用到的地方并不是很多,所以先主要记录一下单点触屏的用法和基本原理。一般经常用到的触屏的情况有两种:一种是Layer统一接收触屏消息,然后由程序根据需要分发给不同位置的精灵;另一种情况是自定义一个可以接收触屏消息的Sprite,比如类似于Button功能的Sprite,这就需要在定义Sprite的时候就要定义好触屏所
2013-01-11 00:48:58
715
转载 Cocos2d-x 第一天
Cocos2d-x 是以Cocos2d-iphone 移植版本,是以我们中国为主导的。首先先来说明Cocos2d-x的五个主导类。Cocos2d-x 是以类似拍摄电影的劳动角色来分类的。包含有导演,场景,布景,精灵(演员),动作CCDirector: 导演,负责场景的切换以及场景的信息。如宽度,高度,旋转场景内容。CCScene: 场景. 场景包含有布景,
2013-01-11 00:39:02
555
原创 Xcode 入门
Xcode使用教程详细讲解是本文要介绍的内容,Xcode是一个款强大的IDE开发环境,就像你在写Windows程序时需要VS2005一样 需要要Xcode为你写Mac程序提供环境。因此,如果你要成为Mac 程序的开发者,灵活运用Xcode工具是你必须做的第一步。和Xcode打了几个月的交道,总结一下我最常用也是最喜欢的几个快捷键。总的来说Xcode快捷键并不是非常丰富灵活,但熟悉了
2013-01-10 19:43:33
543
转载 cocos2dx 坐标系
无论是搞2d还是3d开发,最需要搞清楚的就是坐标系,这部分混乱的话就没啥奔头了。所以玩cocos2d,一上来就先把各种与坐标有关的东西搞清楚。 基本的两个坐标系:屏幕坐标系和GL坐标系。屏幕坐标系x轴朝右,y轴朝下。默认原点在左上角。GL坐标系x轴朝右,y轴朝上。默认原点在左下角。 在调用任何需要设置位置的函数,或从函数获取位置信
2013-01-10 17:44:39
650
转载 Xcode使用教程详细讲解 1
Xcode使用教程详细讲解是本文要介绍的内容,Xcode是一个款强大的IDE开发环境,就像你在写Windows程序时需要VS2005一样 需要要Xcode为你写Mac程序提供环境。因此,如果你要成为Mac 程序的开发者,灵活运用Xcode工具是你必须做的第一步。1)我们写程序时常常在源文件的头部添加copyright声明以及公司名称等等;而Xcode在创建文件时已经帮我们做了绝大部分工作,
2013-01-10 17:29:11
1025
转载 @property (nonatomic,retain)
原来简单解释过属性定义(Property) ,并且提起了简单的retain,copy,assign的区别。那究竟是有什么区别呢?assign就不用说了,因为基本上是为简单数据类型准备的,而不是NS对象们。Retain vs. Copy!!copy : 建立一个索引计数为1的对象,然后释放旧对象retain :释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为
2013-01-10 17:00:05
346
转载 Object_c的retain机制
object-c 使用引用计数的方式管理内存。当我们使用一个指针指向一块内存的时候,应该对这块内存做retain操作,那么引用计数加一。当我们不再使用这个指针指向这块内存,应该对这块内存做release操作,那么引用计数减一。这样可以使引用计数值一直保持等于指向这块内存的指针数量。retainCount返回当前内存的引用计数值。当内存被开辟后,默认的引用计数为1 。 NSObject *obje
2013-01-10 16:57:46
544
转载 CCDirector导演类
1。访问和改变场景 2。应用核心loop 3. 绑定和访问窗口 4。处理自动回收对象 5。处理事件消息转发 6。初始化各种管理器 7。处理在各Node的计划任务执行 8.在平台窗口绘图和opengl之间转换坐标以下是CCDirector::init方法bool CCDirector::init(void){
2013-01-10 15:01:00
336
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人