D3D /OpenGL/Cocos2D游戏
文章平均质量分 52
花花呀123456
爱好c,c++
展开
-
C/C++与Lua之间进行数据函数交互
在使用Cocos2d-x 时候,难免需要C/C++调用Lua函数、数据或Lua调用C/C++函数,那么本篇讲详细介绍C/C++与Lua之间的数据、函数交互。首先让我们来简单了解几个Lua API函数:int luaL_dofile (lua_State *L, const char *filename) :加载并运行指定文件,没有错误返回0void lua_转载 2014-04-08 16:57:32 · 1822 阅读 · 0 评论 -
ios 的应用 名称如何支持本地化
1. 首先,右键新建一个 InfoPlist.string的文件,就是右键新建一个newFile,然后resource, 然后选择String Files类型,这样就创建了一个string 文件。 2.接下来,就会发现选中这个文件,右键属性里面看到,localize后只能创建一个english的本地化,如图所示: 找了半天不知道在哪里添加其他的本地化文件,因为一般的都是下面原创 2013-05-02 23:05:58 · 2046 阅读 · 0 评论 -
cocos2d-x如何解决 CCEditBox在 安卓平台下面不响应touch的问题
使用如下的代码来添加 CCEditBox到类中,作为输入框 ,代码如下: //add input 默认锚点(0.5,0.5),修改也没用,然后这个坐标不能用基于layer的 //坐标,必须用 基于屏幕的坐标 m_tf_input = CCEditBox::create(CCSizeMake(280 * 0.5, 60* 0.5), CCScale9Sprit原创 2013-04-21 10:52:41 · 2793 阅读 · 0 评论 -
cocos2d-x中 在init函数中去取 visibleSize和 visibleOriginPoint
在cocos2d-x中,尽量使用 visibleSize和 visibleOriginPoint来定位,否则会有问题。 关于这两个变量的获取,在init函数中获取,而不要放到onEnter中,因为发现有时候onEnter中获取会失效。 代码如下: bool XXXLayer::init(){ CCLayer::init(); size =原创 2013-04-21 10:30:23 · 1744 阅读 · 0 评论 -
cocos2d-x中CCEditBox 在iOS和安卓平台下 位置偏移的问题解决方法
cocos2d-x平台下面,CCEditBox常用来 做输入框,但是有时候在移植到安卓平台下面的时候,会出现位置不对的情况,研究了下,原因如下: 安卓和ios的CCEditBox都是分别调用相应的平台控件实现的 1. 安卓下面的是 使用的相对坐标,其实跟其他的 cocos2d-x一样定位就好了,不需要特殊处理。 2. ios下面是使用的全局坐标,针对整个屏幕定位即原创 2013-04-21 10:39:22 · 4673 阅读 · 0 评论 -
ios如何利用系统邮件发送反馈 代码
主要是使用MFMailComposeViewController 这个类,包装下就ok. 1. 将ios的appDelegate类 的laungh函数中,将相应的代码修改为:[cpp] view plaincopy// Set RootViewController to window if ( [[UIDevice原创 2013-04-21 10:25:33 · 2238 阅读 · 0 评论 -
iOS 对iphone和 ipad的摄像头和图片库的区别处理代码
iPhone跟 iPad对摄像头和图片库的代码处理有点不一样,iPad主要是用使用UIPopoverController来包含 UIImagePickerController. 主要的代码如下: 1. 类从UIViewController继承,然后里面实现 UINavigationControllerDelegate跟 UIImageP原创 2013-04-21 10:12:11 · 1830 阅读 · 0 评论 -
cocos2d-x之 CCSpriteFrameCache 用法总结
一般用来加载集成了很多小图的大图的plist文件。加载方法: 1. 如果 plist 跟 png文件在同一个目录,并且命名相同,那么就可以用void addSpriteFramesWithFile(constchar *pszPlist); 只传入 plist的文件名就好了。这个方法做了以下几件事:寻找工程目录下面和输入的参数名字一样,但是原创 2013-03-27 23:03:35 · 7518 阅读 · 2 评论 -
cocos2d-x之CCTextureCache 用法总结
1. 加载图片 方法 CCTexture2D* addImage(constchar* fileimage); 同步加载一个图片,返回一个 CCTexture2D对象。这个文件名还可以做 key. 后续可以调用 CCTexture2D* textureForKey(constchar* key); 方法来获得这个文件名所对应的CCTe原创 2013-03-27 22:59:32 · 7554 阅读 · 2 评论 -
cocos2d-x之 CCSpriteBatchNode 用法总结
例子1: CCSpriteBatchNode* batch = [CCSpriteBatchNode batchNodeWithFile:@"table.png"]; [self addChild:batch];创建一个CCSpriteBatchNode对象,通过传递一个包含所有sprite的batch的名字作为参数,并把它加入到当前场景之中。接下来原创 2013-03-27 23:04:41 · 3443 阅读 · 0 评论 -
cocos2d-x屏幕适配原理分析
cocos2d-x作为著名的cocos2d游戏开发框架的C++实现者,最近一年发展迅猛。越来越多的app使用它实现快速多平台部署,从最初的ios,android,win32等到新近的html5,实现移动,客户端到浏览器全覆盖,不得了~~ 开发移动应用的屏幕适配和爱情一样是一个从洪荒时代就存在的永恒命题,根本目的是实现在不同设备上用户体验的统一。cocos2d-x在cocos转载 2013-03-24 23:33:18 · 1078 阅读 · 0 评论 -
cocos2d-x CCSequence 创建crash 小笔记
在模拟器上没有问题,但是到真机上就crash了,具体位置在:float d = pActionOne->getDuration() + pActionTwo->getDuration(); 原因:CCFiniteTimeAction * actions = CCSequence::create(moveTo,delay,afterFuc,NULL原创 2013-03-25 14:46:42 · 1305 阅读 · 0 评论 -
cocos2d-x 如何插入 UIVIew
//插入 mailPicker = [[MFMailComposeViewControlleralloc]init]; mailPicker.view.frame = [UIScreenmainScreen].bounds; window = [[UIWindowalloc]initWithFrame: [[UI原创 2013-03-25 20:01:23 · 2227 阅读 · 0 评论 -
cocos2d-x 中CCLayer runAction没有效果 原因
今天自己创建了个从CCLayer继承的类,然后这个类runAction死活没有任何反应,找了会总算发现原因了。 原因是我重写了OnEnter和OnExit但是没有在实现里面调用基类的 CCLayer::OnEnter和CCLayer::OnExit函数。 以后切记。void PopBubbleLayer::onEnter(){ C原创 2013-03-24 18:35:33 · 3660 阅读 · 1 评论 -
cocos2d-x 使用CCLabelAtlas自定义字体
原创文章,欢迎转载!转载请注明: 转载自Cocos2D开发网--Cocos2Dev.com原文链接地址: cocos2d-x 使用CCLabelAtlas自定义字体有时候游戏中要用到一些特殊的字体效果,特别是数字。CCLabelAtlas就可以从png图中读取文字。CCLabelAtlas* diceCount=CCLabelAtlas::label转载 2013-01-30 22:28:42 · 3284 阅读 · 0 评论 -
cocos2d-x自己封装的一个 等待的控件 TTWaitting
自己用 cocos2d-x封装了个等待的动画,代码如下: #include #include "cocos2d.h"#include "cocos-ext.h"USING_NS_CC;USING_NS_CC_EXT;using namespace std;class TTWaitting:public CCLayer{public: TTWaitti原创 2013-05-16 19:47:44 · 2004 阅读 · 0 评论 -
ios 判断系统语言是简体中文还是繁体中文
cocos2d-x中可以用 如下的方法来判断是否是中文还是其他的语言 //default language is local language ccLanguageType currentLanguageType = CCApplication::sharedApplication()->getCurrentLanguage(); swi原创 2013-05-02 23:18:39 · 8970 阅读 · 0 评论 -
让UIButton支持disable状态
在cocostudio中添加一个UIButton组件, 我们可以看到通常以一下按钮的三态:normal,pressed,disable. 但是,当我们设置了disable状态之后, 在我们的游戏项目中, 对某个按钮执行button->setEnable(false)后, 按钮居然完全不见了?! 解决方法修改Widget::visit()方法, 改为: vo转载 2014-04-08 16:53:53 · 7967 阅读 · 0 评论 -
【教程】cocos2d-x2.2以上版本 win/mac 安装步骤
Windows安装步骤:准备工作:1、 下载 cocos2d-x 下载地址:http://cdn.cocos2d-x.org/cocos2d-x-2.2.zip2、 下载 python 2.7.3 下载地址:http://www.python.org/ftp/python/2.7.3/python-2.7.3.msi3、下载 VS2010 下载地址:转载 2014-03-15 17:39:52 · 994 阅读 · 0 评论 -
CCAnimationCache
CCAnimationCache 可以用来保存CCSprite的图像。 如果有一大批CCSprite要操作,缓存到Cache中比每次都创建要高效很多。例子:射击游戏,TD 等等注意1:如果从CCAnimationCache中取回animation,记得检查返回值是否为nil。因为CCAnimationCache可能会回收(perge)animation,如果 p转载 2014-02-20 13:03:49 · 1164 阅读 · 0 评论 -
DragonBones 在使用 CCSpriteFrameCache::sharedSpriteFrameCache()->removeSpriteFrames(); 后crash的问题
在使用 DragonBones的 Armature 对象的过程中,发现如果调用 CCSpriteFrameCache::sharedSpriteFrameCache()->removeSpriteFrames(); 释放所有的frames纹理后,再去创建 Armature的时候,会crash//调用过程cs::ArmatureDataMan原创 2013-08-31 10:15:25 · 3941 阅读 · 0 评论 -
cocos2d-x Slider控件的实现
实现一个一个ITEM的拖动效果的控件 TTSliderControl 实现代码如下: #include #include "cocos2d.h"#include "cocos-ext.h"USING_NS_CC;USING_NS_CC_EXT;#include "ClientDefine.h"#include "vector"#include "string"原创 2013-08-10 09:50:27 · 2705 阅读 · 0 评论 -
游戏中的带按钮的通用提示框(2)
代码如下: #include #include "knet_typedef.h"#include "cocos2d.h"#include "cocos-ext.h"USING_NS_CC;USING_NS_CC_EXT;#include "ClientDefine.h"#include "TTButton.h"using namespace std;extern原创 2013-07-27 19:28:29 · 1181 阅读 · 0 评论 -
游戏中的一种通用提示框(1)
代码如下:#include #include "knet_typedef.h"#include "cocos2d.h"#include "cocos-ext.h"USING_NS_CC;USING_NS_CC_EXT;#include "ClientDefine.h"using namespace std;typedef enum _MSG_BOX_BG_COLOR{原创 2013-07-27 19:24:12 · 1899 阅读 · 0 评论 -
cocos2d-x自己实现的一个button类
cocos2d-x下自己实现的一个button类,名字叫: TTButton 代码如下: #include #include "cocos2d.h"#include "cocos-ext.h"USING_NS_CC;USING_NS_CC_EXT;typedef enum _BTN_STATE{ BTN_STATE_UNSET =原创 2013-05-16 19:36:10 · 2034 阅读 · 0 评论 -
[Cocos2D-X官方文档]:多分辨率的支持
转载自:http://www.ityran.com/archives/3762 这篇涉及到的API只适用于cocos2d-x 2.0.4android的分辨率由于太多了很难来适配。但是Cocos2d-x提供了CCEGLView::setDesignResolutionSize() 和 CCDirector::setContentScaleFactor()来帮助你使用转载 2013-07-29 22:52:22 · 3771 阅读 · 0 评论 -
不同平台上Cocos2d-x所支持的最大纹理大小
转载自:http://www.ityran.com/archives/3775 按道理来说,cocos2d-x是可以显示任何大小纹理,但是实际上纹理大小由于硬件和操作系统原因是有限制的。这里我们提供一个不同平台模拟器上纹理大小限制的表格platformmaxsize in pixelswin322048*2048转载 2013-07-29 22:48:19 · 4078 阅读 · 0 评论 -
cocos2d-x之区域裁剪
如果要在cocos2d-x中实现区域裁剪,一般要重写 visit函数: void visit(void);void MyControl::visit(void){ glEnable(GL_SCISSOR_TEST); constfloat s = CCDirector::sharedDire原创 2013-06-04 17:13:01 · 11047 阅读 · 1 评论 -
cocos2d-x学习笔记内存管理之autorelease
转载自:http://hi.baidu.com/357802636/item/7bb3e71a7838efd6be904200 主要是最后的总结好: 在每一帧绘制完成之后,当前的自动释放池将会被清理,所有调用了autorelease操作的对象都会被调用release方法,减少其引用计数。如果我们创建的对象调用了autorelease,那么在稍后帧绘制之后,自动释放池被清转载 2013-06-04 17:14:50 · 1283 阅读 · 0 评论 -
cocos2d-x 在4inch模拟器下面也只显示960 * 640的问题
新建一个cocos2d-x的工程,然后发现,当模拟器设置为4inch的模式(iphone5)的时候,获得的屏幕尺寸 CCSize frameSize = pEGLView->getFrameSize(); 还是 960 * 640 ,然后上下两边多长两个黑边(竖直模式下),如果是横版模式,那么就是左右多出两个黑边,不在显示区域内。 查了原创 2013-05-05 15:17:51 · 2266 阅读 · 0 评论 -
setDesignResolutionSize 到竖屏下面就缩放尺寸不对的问题
之前做的都是横版的游戏,然后一般使用如下的代码来适配多分辨率: typedef struct tagResource{ CCSize sizeInPixel; CCSize sizeDesign; char directory[100];}Resource;static Resource resPhone = { CCSizeMake(480, 32原创 2013-05-05 15:48:39 · 4489 阅读 · 0 评论 -
cocos2d-x 中layer如何实现模态对话框
模态对话框的作用是只允许用户在当前对话框上做操作,也就是说要屏蔽对对话框下层按钮,菜单类的操作!基于这种特性,我们会遇到不知道将nPriority值注册为多少的困惑(1)注册大于-128的值,根据响应事件的规则,对话框下层中的菜单的优先级别是-128,高于对话框的触摸响应级别,则先响应,这样便无法做到屏蔽对话框下层菜单的操作。(2)注册小于等于-128的值,根据响应事件的规则,可以原创 2013-03-23 13:06:06 · 2909 阅读 · 1 评论 -
cocos2d-x之平台判断方法
cocos2d-x平台下,如果判断 是什么平台:CC_TARGET_PLATFORM 这个宏可以判断:具体:#define CC_PLATFORM_UNKNOWN 0#define CC_PLATFORM_IOS 1#define CC_PLATFORM_ANDROID原创 2013-04-03 00:11:57 · 6325 阅读 · 0 评论 -
Cocos2d-x 2.0 自适应多种分辨率
转载自http://dualface.github.com/blog/2012/08/17/cocos2d-x-2-dot-0-multi-resolution/ 点击打开链接cocos2d-x 2.0 提供一个极有价值的新特征: setDesignResolutionSize() 。这个函数用于指定一个 OpenGL 视图,然后将这个视图映射到设备屏幕上。根据不同的设定转载 2013-04-01 23:06:18 · 1064 阅读 · 0 评论 -
COCOS2D坐标系统的一些说明
COCOS2D坐标系统的一些说明 cocos2d支持以下几种坐标系:1.屏幕坐标系 原点在左上角,X轴向右,Y轴向下。2.GL坐标系 原点在左下角,X轴向右,Y轴向上。3.世界坐标系 指相对于整个屏幕的坐标系,(0,0)就是屏幕的左下角,(320,480)就是屏幕的右上角。4.本地坐标系 相对于父对象的坐标基本的两个坐标系:屏幕坐标系和GL坐标系。屏幕坐标系原创 2012-03-21 18:05:53 · 2678 阅读 · 1 评论 -
cocos2d ccLayer响应触摸事件方法:CCStandardTouchDelegate 与 CCTargetedTouchDelegate
cocos2d ccLayer响应触摸事件方法:CCStandardTouchDelegate 与 CCTargetedTouchDelegate 以下内容转载自:http://blog.sina.com.cn/s/blog_623ed7840100yhw9.html ,对原作者表示感谢。 简介Cocos2d中,CCLayer类被设计用来获取触摸信息转载 2012-03-21 17:33:48 · 5645 阅读 · 0 评论 -
一个已经存在的CCSprite怎么替换新的图片
一个已经存在的CCSprite怎么替换新的图片 如果一个CCSprite已经存在,这个时候如果要更新图片,有一个方法是先remove,然后重新创建一个新的CCSprite,然后再add进去。 其实有个新的方法,可以不需要重新创建CCSprite. 这个方法名称是:-(void) setTexture:(CCTexture2D*)texture原创 2012-03-20 18:02:50 · 6181 阅读 · 0 评论 -
UIKit和CoCos2d 两种情况下 Retina模式图片的命名方法区别
UIKit和CoCos2d 两种情况下 Retina模式图片的命名方法区别 如果普通图片命名为:xxx.png 1.UIKit 高清图片命名为xxx@2x.png 2.Cocos2d高清图片命名为:xxx-hd.png原创 2012-03-19 20:20:17 · 1253 阅读 · 0 评论 -
切记 cocos2d中一个CCAction 对象只能被使用到一个Sprite对象上
切记 cocos2d中一个CCAction 对象只能被使用到一个Sprite对象上 在cocos2d中,经常需要将一个action施加到多个Sprites上面,以达到相同的效果。 所以经常会有下面的代码: CCMoveTo * move =[CCMoveTo actionWithDuration:DESK_ANIMATE_TIME pos原创 2012-03-11 15:16:09 · 2978 阅读 · 0 评论 -
cocos2d 如何实现 翻牌效果
cocos2d 如何实现 翻牌效果 ///test- (void) test{ CCSprite * sp_background_ = [CCSprite spriteWithFile:@"main_background.png"]; id flipX = [CCOrbitCameraactionWithDuratio原创 2012-03-26 17:24:32 · 2870 阅读 · 1 评论