首先要明确的一点是:cocos2dx是支持中文的。因为其编码格式为UTF-8(无签名)——这只是我在网上找到的结论,并非从官方获取,因此不能十分确定,不过应该无误。 那么,为什么在VS2012环境下,cocos2dx不能正确显示中文呢? 这是因为二者编码格式不一致。VS2012中文版的默认编码格式为GB2312-80(我不确定英文版的格式如何,总之应该不是UTF-8)。在GB2312-80编码格式中,一个中文占2个字节,而在UTF-8格式中,一个中文占3个...
用的是cocos2dx 3.x,如果是真机测试,glview = cocos2d::GLViewImpl::createWithRect(...)和glview->setDesignResolutionSize(...)都得传设备的分辨率,才能使拾取的结果正确。 bool AppDelegate::applicationDidFinishLaunching(){ // initialize director auto director = Director::getInstance(); auto glview = director->getOpenGLView();#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32||CC_TARGET_PLATFORM == C...
首先肯定得对图片进行分类,如一款卡牌游戏,图片有角色,角色icon,武器,武器icon等;这里用枚举对其分类标识:enum UIIMAGE
{ARMOR_IMG,ARMOR_ICON,EQUIP_IMG,EQUIP_ICON,ITEM_ICON,MAX_UIIMAGE
} 有了图片分类,其加载路径也是一一对应的,故路径分类也如下:static const char * UIIMAGEPATH[MAX_UIIMAGE] =
{"armorImg\\","armorIcon\\","equipImg\\","equipIcon\\","itemIcon\\",
} 接着就是实现图片加载的方法...
版本是 cocos2dx 3.3 场景切换的时刻是:(代码有删减)void Director::drawScene()
{// calculate "global" dt calculateDeltaTime();if (_nextScene){setNextScene();}}每一帧都会检查,看是不是有 _nextScene, 也就是 是不是需要进行场景切换了。 一般场景切换的过程:当添加一个场景时,正在运行的场景会调用 _runningScene->onExitTransitionDidStart(); _runningScene->onExit();然后新添加的场景会调用onEn...
本文转载于:http://blog.csdn.net/wade333777/article/details/51537357一、基本使用addTouchEventListener是属于Widget下的触摸事件相关的操作,基本使用规则如下:var button = new ccui.Button()
button.addTouchEventListener(this.touchEvent, this)touchEvent: function (sender, type) {switch (type) {case ccui.Widget.TOUCH_BEGAN:this._topDisplayLabel.setString("Touch Down");break;case ccui.Widget.TOUCH_MOVED:t...
最近一直都在x86设备上进行游戏开发,就c++层和Android java层倒没有什么要特别注意的(除了需要注意一下修改Application.mk指定平台外),在c++崩溃的时候,很多时候看不到堆栈,只能看到一个信号,所以由于工作需要,使用google breakpad来进行异常捕捉。谷歌被墙很麻烦,索性就把breakpad打包放这里供需要的童鞋下载,google breakpad下载。1.下载google breakpad下载地址是 http://code.google.com/p/google-breakpad/source/...
这里主要为敌人添加了一个移动动作和攻击动作。移动动作是很简略的我动他也动的方式。攻击动作是很简单的我打他也打的方式。效果:代码:#ifndef __Progress__
#define __Progress__
#include "cocos2d.h"
USING_NS_CC;class Progress : public Sprite
{
public:bool init(constchar* background, constchar* fillname);/*the inputs are SpriteFrame Names.they should be loaded into SpriteFrameCache before calling this.*/st...
clippingNode是利用opengl的裁剪缓冲区实现的,因为最近有使用这个功能需要,顺便把这部分实现看看了看。 opengl的裁剪主要有以下几个步骤:1、开启裁剪缓冲区2、设置裁剪缓冲区中的mask。3、正常绘制图形,这个时候会根据裁剪缓冲区的值和设置好的比较函数进行计算,根据通过与否选择是否会知道framebuffer4、绘制完成之后关闭裁剪缓冲区这几个步骤在cocos2dx的clippingNode中体现在以下的这段代码中:<pre name="code" class="...
一、单点触摸关于单点触摸事件的创建和监听有以下几个步骤:1,创建一个空间如labelTTF,并且初始化,添加控件进层2、设置一个事件监听器,并且定义和实现他的回调函数。3、最后让导演将前面定义的监听器按照监听器和监听事件对应的方式添加进来。<span style="font-size:18px;"> Size visibleSize = Director::getInstance()->getVisibleSize();Vec2 origin = Director::getInstance()->getVisibleOrigin();auto label = LabelTTF...
一、横屏、竖屏设置1、androidAndroidManifest.xml文件中,screenOrientation="landscape" 为横屏,screenOrientation="portrait"为竖屏2、iOS- (NSUInteger) supportedInterfaceOrientations{ #ifdef __IPHONE_6_0 // 横屏显示 // return UIInterfaceOrientationMaskLandscape; // 竖屏显示 return UIInterfaceOrientationMaskPortrait; #endif } 二、读写sd卡 AndroidManifest.xml文件中,先增加权限:FILE *fp ...
SimpleAudioEngine类中加入一函数如下bool isEffectPlaying(unsigned int nSoundId);
定义如下
bool SimpleAudioEngine::isEffectPlaying(unsigned int nSoundId)
{EffectList::iterator p = sharedList().find(nSoundId);bool bRet = false;if (p != sharedList().end()){bRet = p->second->IsPlaying();}return bRet;
}
完成原文:http://blog.csdn.net/xie1xiao1jun/article/details/41283555
最近写代码需要用到缩放,而且是Layer的,但是发现怎么设置位置都是错误,于是决定研究下。首先,基础代码,代码上不错特殊处理,没有锚点设置和缩放class TestLayer : public Layer {public:bool init();CREATE_FUNC(TestLayer);
};bool TestLayer::init()
{if (!Layer::init()) {return false;}Sprite *dd = Sprite::create("item_gift1.png");this->addChild(dd);this->setContentSize(Size(200, 200));// 打印几个点参照用Laye...
原文地址 http://blog.csdn.net/jhonlight/article/details/38408351 今天一个群友问我: 我Scene里放置一个Layer,Layer盛放一张图片,即背景图片,我想更换这张图片,而且要求带有系统提供的切换Scene 淡入淡出的效果,于是我用Director类的切换用系统提供的切换动画包装的scene,但是效果是整个scene都被切换了,而我想要的是只有背景变化,其余的不变。 大家都知道,这样做当然不可以,Director(...
这里主要讲构建整个游戏需要的基本元素,很大部分都摘自cocos2dx官网。
1、Director 导演导演,顾名思义,就是对整个游戏进行整体控制的。“Director”是一个共享的(单元素集)对象,负责不同场景之间的控制。导演知道当前哪个场景处于活动状态,允许你改变场景,或替换当前的场景,或推出一个新场景。当你往场景堆中推出一个新场景时,“Director”会暂停当前场景,但会记住这个场景。之后场景堆中最顶层的场景跳离时,该场景又会...
近期开发cocos2dx 项目,做一个小游戏。(个人喜欢用最新版本号) 没系统学习就是问题多多,遇到了非常多问题,比方全部的opengl api都必须在主线程中调用,这让我在多线程载入方面吃了不少亏,浪费了非常多时间。 这次遇到了输入框中输入中文出现乱码问题。搜索了非常多方法,都没找到。没办法。可是知道cocos2dx 2.x版本号没有这个问题,所以就仅仅有跟进代码了。首先 找到2.x中找到WM_CHAR的派发消息:在platform/win32/下的CC...