- 博客(435)
- 资源 (7)
- 收藏
- 关注
原创 3、Animation使用脚本控制动画
播放var anim = this.getComponent(cc.Animation);// 如果没有指定播放哪个动画,并且有设置 defaultClip 的话,则会播放 defaultClip 动画anim.play();// 指定播放 test 动画anim.play('test');// 指定从 1s 开始播放 test 动画anim.play('test', ...
2019-07-11 10:37:03
2532
原创 2、脚本语法
cc.Class({extends:cc.Compont,//cc.Compont相当于Cocos2dx中的Refproperties:{//设置编辑器当前节点属性,当前属性可以通过层级管理器连接bomb: cc.Node, enemyGroup: {//require('enemyGroup')自定义的类型,默认值为空,这里表示创建enemyGroup对象,该对象初...
2019-07-11 10:36:07
241
原创 1、资源管理器
asset目录下有Scene、Script、Texture、animation、prefab、sound文件夹Scene:存放场景文件,以.fire后缀命名,双击场景,层级管理器和场景编辑器都会发生变化,比如HelloWorld.fireScript:存放运行代码的位置,双击直接打开文件,进入到VScode。Texture:存放图片资源的位置,这种图标的图片代表图集资源(plist图片...
2019-07-11 10:35:14
370
原创 Cocos2dx精灵特征功能
auto sprite = Sprite::craete("HelloWorld.png");sprite->setposition(480.f,320.f);addchild(sprite)1、如何让一个彩色精灵变灰?const char *key = GLProgram::SHADER_NAME_POSITION_COLOR_NO_MVP_GRAY;GLProgram...
2019-07-11 10:32:30
299
原创 Cocos2dx多种颜色文字并且可以换行功能
auto richText = RichText::create();RichElementText* textLabel = RichElementText::create(0, Color3B::WHITE, 255, "123.png", "Arial", 18);richText->pushBackElement(textLabel);RichElementText* t...
2018-02-05 11:37:59
1080
2
原创 添加png图片(把图片添加到纹理缓存中,下次运行就比较流畅)
Director::getInstance()->getTextureCache()->addImage(“132.png”);在Cocos2dx中Scene、Scale9Sprite、Image等等的create()已经实现,所以没必要加上这句;
2018-02-05 11:37:39
688
原创 Scene的使用
一般cocos2dx中没有继承于Scene的层,只有在Scene上添加层;运行第一个场景使用runWithScene,后面场景切换就用replaceScene;比如:class HelloWorld : public Layer{public:HelloWorld();~HelloWorld() static Scene* createScene();
2018-02-05 11:37:17
6696
原创 保存用户本地数据
//根据字段获取本地用户数据;UserDefault::getInstance()->getIntegerForKey("GameVer", 0);//获取GameVer对应的值,如果UserDefault没有GameVer字符的话,返回默认值0//设置某个字段的本地用户数据;UserDefault::getInstance()->setIntegerForKey("GameVer",
2018-02-05 11:36:52
393
原创 Cocos2dx中如何使用某个目录下的资源(该资源在Resources目录的子目录或者更后面)
//添加文件路径,比如你需要访问Resource下Demo目录下的文件和fonts下的字体文件(需要访问Resource下其他目录的资源必须要先使用setSearchPaths或者addSearchPaths把其他目录加入);auto fileUtils = FileUtils::getInstance();vectorsearPaths;searPaths.push_back("fo
2018-02-05 11:36:35
2784
原创 getWritablePath的使用
FileUtils::getInstance()->getWritablePath();//Window得到的是在项目在C盘的下载路径
2018-02-05 11:36:12
1787
原创 Cocos2dx异步加载资源
LoadScene.h#ifndef __LOADING_SCENE_H__#define __LOADING_SCENE_H__ #include "cocos2d.h"USING_NS_CC;using namespace std;class LoadingScene : public Layer{public:LoadingScene();~Loa
2018-02-05 11:35:53
1197
原创 ClippingNode的应用
(1)用裁剪区域ClippingNode实现滚动字幕 //创建要显示的文字 text = Labe::create("text\nbaibai\n白白\nbaibai\nhaha\nhaha\nahha\n", "", 30); text->setPosition(Vec2(100, -120)); //绘制裁剪区域 DrawNode* shap
2018-02-05 11:35:20
200
原创 在ListView、ScrollView、PageView等添加Button,点击按钮View不能滑动问题。
解决方法:使用Button时,先让按钮setSwallowTouches(false),再判断View滑动状态,如果界面开始滑动设置状态为true,如果界面停止滑动设置状态为false,再根据状态来判断按钮是否可以点击m_bListViewScroll = false; //设置界面滚动状态;m_pListView->addEventListener(ui::ScrollView::c
2018-02-05 11:34:56
386
原创 TableView中更新cell时不让它重置到最前面的位置
Vec2 offset = m_TableView->getContentOffset();m_TableView->reloadData();m_TableView->setContentOffset(offset);
2018-02-05 11:34:14
1249
原创 C++中Vector的使用
头文件包含以下几个头文件#include using namespace std;#include 定义一个vector成员变量vector _playCard;vector的一些常用函数1、_playCard.push_back(Object);//加入对象2、cardAction = _cardSP.at(i);vector::iterator it = _
2018-01-29 09:33:00
255
原创 字符串之间的赋值
string和string之间赋值、char[]/(char*)赋值给string使用=string赋值给char[]/char*,char[]/(char*)赋值给char[]/(char*)使用strcpy//char c[len+1]; //这里len是变量,能用来声明数组string s("abcd");int len = s.length();char *c = ne
2018-01-29 09:31:00
4007
原创 C语言文件操作相关函数
一、打开与关闭文件fopen 函数说明:作用:用来打开一个文件格式:FILE * fopen(const char * path,const char * mode);返回值:打开文件成功返回一个文件指针,若打开文件失败则返回NULL参数说明: *path:字符串包含欲打开的文件路径及文件名(例如:D:\\A.txt),注意在C语言中欲输出一个"\"则需要输两个"\\
2018-01-29 09:30:33
606
原创 文件操作(创建文件、写入数据、关闭文件)
功能:从B文件中拷贝其中的数据到一个新建的A文件中Data fileData = FileUtils::getInstance()->getDataFromFile("LuaActive.bundle/LuaInterFace.lua");//获取B文件的数据;if (fileData.getSize() != 0){CreatDir(FileUtils::getInstance(
2018-01-29 09:30:11
1692
原创 VS打开终端功能,从终端中可以查看日志信息(相当于VS中的输出功能)
// 打开终端;#if defined(_WIN32) && defined(COCOS2D_DEBUG) && (COCOS2D_DEBUG > 0)AllocConsole();//重定向输入输出;freopen("CONIN$", "r", stdin);//到磁盘文件中输入;freopen("CONOUT$", "w", stdout);//输出到磁盘文件;freo
2018-01-29 09:28:42
9186
原创 友元类和友元函数
友元提供了不同类的成员函数之间、类的成员函数与一般函数之间进行数据共享的机制。通过友元,一个不同函数或另一个类中的成员函数可以访问类中的私有成员和保护成员。c++中的友元为封装隐藏这堵不透明的墙开了一个小孔,外界可以通过这个小孔窥视内部的秘密。友元的正确使用能提高程序的运行效率,但同时也破坏了类的封装性和数据的隐藏性,导致程序可维护性变差。友元函数 :友元函数是可以直接访问类的私有成员
2018-01-29 09:27:55
258
原创 前项声明
前向声明:可以声明一个类而不定义它。这个声明,有时候被称为前向声明(forward declaration)。在声明之后,定义之前,类Screen是一个不完全类型(incompete type),即已知Screen是一个类型,但不知道包含哪些成员。不完全类型只能以有限方式使用,不能定义该类型的对象,不完全类型只能用于定义指向该类型的指针及引用,或者用于声明(而不是定义)使用该类型作为形参类
2018-01-29 09:27:32
355
原创 宏定义
#define VISIABLESIZE (Size(960.f, 640.f)) 如果担心后面会有相同的定义或者有什么条件才可以用它,可以加判断#ifndef...#endif
2018-01-29 09:25:45
162
原创 计算数组元素的个数
#ifndef _countof#define _countof(_Array) (sizeof(_Array) / sizeof(_Array[0]))#endif
2018-01-26 10:41:24
2759
原创 enum的使用之处
当我们只是使用在设置tag值时,使用enum{};不需要什么枚举类型名当我们区分某个部分的话,就需要使用enum class/struct 名称{},定义一个名称的类型变量;例如enum//tag值作用{TAG_1, //按钮Use标签;TAG_2 //按钮Using标签;};enum class EnumClass//分类使用{TYPE_1,TYP
2018-01-26 10:41:06
180
原创 分离整数的每位数字
std::vector TableListLayer::getNumList(int32_t value){std::vector numList;while (true){if ((value / 10) > 0){numList.push_back(int(value % 10));value /= 10;}else{numList.push_b
2018-01-26 10:40:45
1132
原创 bool更进一步使用
bool c = false;if a == b thenc = true;更简单的使用方法就是bool c = a== b;
2018-01-26 10:40:26
260
原创 Cocos2dx输出日志信息函数
1、__CCLOGWITHFUNCTION2、CCLOG3、log4、printf5、Android输出__android_log_print(ANDROID_LOG_ERROR, "Android_Print", "%s", str.c_str());
2018-01-26 10:40:05
930
原创 由秒数转化为时分秒格式
m_reduceTime = 1000;m_TimeFormat.hour = m_reduceTime / 3600;m_TimeFormat.min = m_reduceTime / 60 % 60;m_TimeFormat.sec = m_reduceTime % 60;或者m_reduceTime = 4000;tm retTime = localtime64_s(
2018-01-26 10:39:36
863
原创 Visual AssistX实用的功能
1>add include:添加头文件,当编译后提示“未定义类型”时直接右键类型名,refactor→add include。2>create implementation:添加实现,当在头文件中声明好方法后,想到cpp里写实现,直接贴过去,是可以但还是要做部分修改。同样是右键该方法,refactor→create implementation。 3>create declarat
2018-01-26 10:39:16
2487
1
原创 查找某个值在在数组中哪个位置,不一定这个值在这个数组中,只要这个值在这个数组范围中就可以(常用于根据经验值获取等级)
int a[] = { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19};//数组中是经验值,它的下标+ 1就表示等级;int count = sizeof(a) / sizeof(a[0]);int * lFind = std::lower_bound(a, a + count, 2);int avalue = lFind - a + 1;lower_boun
2018-01-26 10:38:18
1018
原创 引用
一、引用简介 引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。 引用的声明方法:类型标识符 &引用名=目标变量名; 【例1】:int a; int &ra=a; //定义引用ra,它是变量a的引用,即别名 说明: (1)&在此不是求地址运算,而是起标识作用。 (2)类型标识符是指目标变量的类型。 (3)声明引用时,必须同时对其进行
2018-01-26 10:37:51
254
原创 #ifndef..#define..#endif和#pragma once的区别
两个的作用都是防止头文件重复包含#ifndef的方式依赖于宏名字不能冲突,这不光可以保证同一个文件不会被包含多次,也能保证内容完全相同的两个文件不会被不小心同时包含。当然,缺点就是如果不同头文件的宏名不小心"撞车",可能就会导致头文件明明存在,编译器却硬说找不到声明的状况。#pragma once则由编译器提供保证:同一个文件不会被包含多次。注意这里所说的"同一个文件"是指
2017-09-09 19:06:15
298
原创 变量名的一些规则
变量的命名:变量名由作用域前缀+类型前缀+一个或多个单词组成。为便于界定,每个单词的首字母要大写。作用域前缀:前缀说明无局部变量m_类的成员变量(member)sm_类的静态成员变量(static member)s_静态变量(stati
2017-09-09 19:05:44
641
原创 typedef的使用与define的区别
基本定义:typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。 在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。用途一:与#define的区别typedef 行为有点像 #define宏,用其实际类型替代
2017-09-09 19:05:18
257
原创 C++中的struct和class的区别
成员的默认访问权限:struct是public,class是private。默认的继承权限:struct是public,class是private。首先是标准的建议,能用class就不要用struct,因为struct是C关键字。在C++中使用struct是一种Deprecate的行为,不被推荐。主要是出于和C语言的兼容性考虑:struct应当单纯地用于数据成员的聚合。打包传参这种功能st
2017-09-09 19:04:54
213
原创 virtual关键字的使用
1.虚函数类Base中加了Virtual关键字的函数就是虚拟函数(例如函数print),于是在Base的派生类Derived中就可以通过重写虚拟函数来实现对基类虚拟函数的覆盖。当基类Base的指针point指向派生类Derived的对象时,对point的print函数的调用实际上是调用了Derived的print函数而不是Base的print函数。这是面向对象中的多态性的体现基类的函数
2017-09-09 19:04:02
429
原创 【Cocos2d-x游戏开发】解决Cocos2d-x中文乱码的三种方法
众所周知,Cocos2d-x是一款不错的开源引擎,但是在Cocos2d-x中直接使用中文是无法正确显示的。解决这个问题常用的有三种方法:1.通过转换为UTF-8编码来显示。2.使用iconv库来解决。3。使用解析xml或者json文件来解决。这里推荐使用第三种方法来解决,因为比较简单方便,还能支持I18N国际化。下面我们来一一详细了解一下每种解决方案的具体实现:1、
2017-09-09 19:03:45
466
原创 细数Cocos2d-x开发中那些常用的C++11知识
自从Cocos2d-x3.0开始,Cocos2dx就正式的使用了C++11标准.C++11简洁方便的特性使程序的可拓展性和可维护性大大提高,也提高了代码的书写速度。下面我们就来一起学习一下Cocos2d-x开发中那些不得不了解的C++11知识。 1.初始化列表POD结构或者数组根据成员在结构内定义的顺序,可以使用初始化列表来进行初始化以简化代码。struct StructA{
2017-09-09 19:03:24
512
原创 标准模板库STL入门简介与常见用法
一、STL简介1、什么是STLSTL(Standard Template Library)标准模板库,主要由容器、迭代器、算法、函数对象、内存分配器和适配器六大部分组成。STL已是标准C++的一部分,使用STL开发系统可以提高开发效率。2、容器(Containers)容器类是可以包含其它对象的模板类,如向量类(vector)、链表类(list)、双向队列类(deque)、集合类(s
2017-09-09 19:02:48
463
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅