1.Cocos2dx 3.2中vector,ValueMap,Touch触摸时间的使用.iconv字符编解码
Cocos2dx3.2以后使用Vector<T>代替了CCArray。案例如下:
|
#ifndef #define #include class { public: CREATE_FUNC(T02Vector); //Cocos2dx3.2以后使用Vector代替了CCArray Vector<Sprite*> bool }; #endif |
|
编写:T02Vector.cpp |
|
#include //in cocos3.2 Vector代替CCArray //如果不是Ref的子类,那不能用Vector,应该用std::vector bool { Layer::init(); Sprite* //增加元素 _arr.pushBack(sprite); //遍历 Vector<Sprite*>::iterator for { Sprite* } for { } for { } //从后往前遍历 for { } //删除 _arr.eraseObject(sprite); return } |
2 Map的用法(注意字符编解码的第三方库有:iconv,cocos中集成的有这方面的功能)
|
头文件:T03Map.h |
|
#ifndef #define #include class public: CREATE_FUNC(T03Map); bool }; #endif |
|
编写:T03Map.cpp |
|
#include /* ValueMap是用来代替cocos2d.x的CCDictionary */ bool { Layer::init(); //内容的加载 ValueMap& //CCDictionary* dict = CCDictionary::createWithContentsOfFile("about.xml"); //const CCString* x = dict->valueForKey("x"); //x->intValue(); //查找 auto if (it { CCLog("can } it = it->first; it->second; CCLog("key CCLog("............................end"); vm["中文"] CCLog("........start //遍历 for (auto { CCLog("key } CCLog("..........................end"); FileUtils::getInstance()->writeToFile(vm, #if 0 // C++11 for (auto { it.first; it.second; } // vm["aa"] // Value& v = 100; vm["bb"] #endif return } |
|
用到的about.xml如下: |
|
<?xml version="1.0" encoding="UTF-8" ?> <plist> <dict> <key>people1</key> <string>许佳音工作室出品</string> <key>people2</key> <string>总监:许佳音</string> <key>people3</key> <string>程序:姜博</string> <key>people4</key> <string>美术:马俊</string> <key>people5</key> <string>改编:班级</string> </dict> </plist> |
3
T04Label的用法
|
头文件:T04Label.h |
|
#ifndef #define #include class public: CREATE_FUNC(T04Label); bool }; #endif |
|
编写:T04Label.cpp |
|
#include bool { Layer::init(); { Label* label->setString("12345"); addChild(label); label->setPosition(winSize.width } #if 0 Label* Label* Label* #endif //Label* label = Label::createWithTexture() return } |
|
运行结果: |
3
T05Touch触摸事件的用法
|
头文件:T05Touch.h |
|
#ifndef #define #include class { public: CREATE_FUNC(T05Touch); bool void }; #endif |
|
编写:T05Touch.cpp |
|
#include bool { Layer::init(); { // EventListenerTouchOneByOne* ev->onTouchBegan // ev->onTouchEnded _eventDispatcher->addEventListenerWithSceneGraphPriority(ev, } #if 0 { // EventListenerTouchOneByOne* ev->setSwallowTouches(true); ev->onTouchBegan _eventDispatcher->addEventListenerWithFixedPriority(ev, } #endif { Sprite* addChild(node); EventListenerTouchOneByOne* ev->onTouchBegan //通过touch->getLocation()的方式获得被选中的点的位置 Vec2 CCLog("Sprite return }; // // ev->onTouchEnded = CC_CALLBACK_2(T05Touch::TouchEnded, this); _eventDispatcher->addEventListenerWithSceneGraphPriority(ev, } { EventListenerTouchAllAtOnce* ev->onTouchesBegan _eventDispatcher->addEventListenerWithSceneGraphPriority(ev, } return } void } |
1.Cocos2dx 3.2中vector,ValueMap,Touch触摸时间的使用.iconv字符编解码的更多相关文章
- Cocos2d-x中Vector<T>容器以及实例介绍
Vector<T> 是Cocos2d-x 3.x推出的列表容器,因此它所能容纳的是Ref及子类所创建的对象指针,其中的T是模板,表示能够放入到容器中的类型,在Cocos2d-x 3.x中T ...
- Cocos2d-x中Vector<T>容器以及实例介绍
Vector<T> 是Cocos2d-x 3.x推出的列表容器,因此它所能容纳的是Ref及子类所创建的对象指针,其中的T是模板,表示能够放入到容器中的类型,在Cocos2d-x 3.x中T ...
- cocos2dx 3.2中的物理引擎初探(一)
cocos2dx在设计之初就集成了两套物理引擎,它们是box2d和chipmunk.我目前使用的是最新版的cocos2dx 3.2.引擎中默认使用的是chipmunk,如果想要改使用box2d的话,需 ...
- c++中vector的用法详解
c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...
- cocos2dx 3.7中 AppDelegate.h的class TestController;这种写法的具体意思不太明白,只能猜是类似于外部定义的东西。
cocos2dx 3.7中 AppDelegate.h的class TestController;这种写法的具体意思不太明白,只能猜是类似于外部定义的东西.
- C++的STL中vector内存分配方法的简单探索
STL中vector什么时候会自动分配内存,又是怎么分配的呢? 环境:Linux CentOS 5.2 1.代码 #include <vector> #include <stdio ...
- 解决cocos2dx在Xcode中运行时报:convert: iCCP: known incorrect sRGB profile 的问题
解决cocos2dx在Xcode中运行时报:convert: iCCP: known incorrect sRGB profile 的问题 本文的实践来源是参照了两个帖子完成的: http://dis ...
- cocos2d-x 3.0rc2中读取sqlite文件
cocos2d-x 3.0rc2中读取sqlite文件的方式,在Android中直接读取软件内的会失败.须要复制到可写的路径下 sqlite3* dbFile = NULL; std::string ...
- C++ 中vector的基本用法
//在网上看了好久,自己总结了一下下,第一篇博客,呼呼,学到不少 基本概念 vector容器是一个模板类,可以存放任何类型的对象).vector对象可以在运行时高效地添加元素,并且vector中元素是 ...
随机推荐
- zabbix利用orabbix监控oracle
Orabbix 是一个用来监控 Oracle 数据库实例的 Zabbix 插件.(插件安装在zabbix-server端) 下载地址:http://www.smartmarmot.com/produc ...
- [HNOI 2008]玩具装箱
Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压 缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1.. ...
- Unix系统的文件目录项的内容是什么,这样处理的好处是什么?
(Unix系统采用树型目录结构,而且目录中带有交叉勾链.每个目录表称为一个目录文件.一个目录文件是由目录项组成的.) 每个目录项包含16个字节,一个辅存磁盘块(512B)包含32个目录项.在目录项中, ...
- substr和substring的区别
substr和substring两个都是截取字符串的. 两者有相同点,如果只是写一个参数,两者的作用都是一样的:就是截取字符串当前下标以后直到字符串最后的字符串片段. 例如:`var a=”abcde ...
- 从Openvswitch代码看网络包的旅程
我们知道,Openvwitch可以创建虚拟交换机,而网络包可以通过虚拟交换机进行转发,并通过流表进行处理,具体的过程如何呢? 一.内核模块Openvswitch.ko的加载 OVS是内核态和用户态配合 ...
- JavaScript中的类
JavaScript类的相关知识 1.例子 /* 例1 */// 定义一个构造函数function Range(from, to){ this.from = from; this.to = ...
- img图片占不满整个div
解决方法: img标签自带有3px的空隙,有很多解决方法第一种:设置img{font-size:0}第二种:设置img{display:block}第三种:设置img{vertical-align:t ...
- Java HashMap的扩容
最近博主参加面试,发现自己对于Java的HashMap的扩容过程理解不足,故最近在此进行总结. 首先说明博主德Java为1.8版本 HashMap中的变量 首先要了解HashMap的扩容过程,我们就得 ...
- GrideSearchCV 优化算法参数
很多机器学习算法有参数,比如 linear_model.LogisticRegression()中有参数C. sklearn中的GrideSearchCV可方便调参过程.如下: import nump ...
- Lucene——Field.Store(存储域选项)及Field.Index(索引选项)
Field.Store.YES或者NO(存储域选项) 设置为YES表示或把这个域中的内容完全存储到文件中,方便进行文本的还原 设置为NO表示把这个域的内容不存储到文件中,但是可以被索引,此时内容无法完 ...