关于Cocos2d-x中两个场景之间参数的传递
两个场景之间,有的时候要进行参数传递,如果想通过实例化出一个场景,从而得到属性和方法是不对的想法
你有两个场景,第一场景是用户登录界面,第二场景则是你登录后的界面,你如何将用户登录的值传到第二个场景呢
两种方法(有两个场景 HelloWorld, LotteryScene)
一:1)在LotteryScene.h 中加入成员变量,如 Map<std::string, Node*> map2;(我想说的是任何数据类型都可以,所以这里用Map数据类型来更加有说服力)
并在LotteryScene.cpp的init()方法里,map2做初始化;//可以省略这句
2)在HelloWorld转到LotteryScene时,调用一下一下方法,一定要记得把要传递的变量的类型设置为public
auto scene = Scene::create();
LotteryScene *layer = LotteryScene::create();
layer->map2 = map1;
scene->addChild(layer);//类似firstScene中的scene()方法
Director::getInstance()->replaceScene(TransitionFade::create(, scene));
3)在LotteryScene.cpp中就可以验证map2的值
老版本的转换,还没有转换为新版本,firstScene转到secondScene的参数传递
二:1)在secondScene.h中添加一个静态参数:static int sceneNum;
在secondScene.cpp中的方法外面写一个全局变量
int TableViewLayer::sceneNum = 0;
2)在firstScene.h中类外写 class secondScene;并在属性中写secondScene* secondLayer;
3)在firstScene.cpp转到第二场景方法写
secondScene->sceneNum = 1;
CCScene* scene = secondScene::scene();//一定要secondScene->sceneNum = 1放在第一行,因为此时init中sceneNum的值为1,否则则为0;
CCDirector::sharedDirector()->replaceScene(CCTransitionFade::create(1.5f,scene));
4) 然后就像上面说的,试试看sceneNum为多少。
三.如果只是使用另一个场景的一些
enum NodeTag
{
HERO_TAG = 100,
MYHERO_TAG = 101,
POT_TAG=102,
FALL_TAG=103,
BLOCK_TAG = 104,
STAR_TAG = 105,
BED_TAG = 106,
BABY_TAG =107,
EDGE_TAG = 108,
GROUND_TAG = 109,
BACKGROUND_TAG = 110,
LIFE_TAG = 111,
PAUSE_MENU = 112,
CONTROLBTNS=113,
SCORELABEL=114,
};
则可以在另一个场景文件或者是实例类文件中
1.先引入含有enum定义的场景文件的.h
2.在有用到的地方写
this->addChild(myHero, 1, GameScene::NodeTag::HERO_TAG);
关于Cocos2d-x中两个场景之间参数的传递的更多相关文章
- HTML5中window.postMessage,在两个页面之间的数据传递
HTML5中window.postMessage,在两个页面之间的数据传递 2015年11月3日 8536次浏览 关于postMessage window.postMessage虽然说是html5的功 ...
- 在db2中 两个数据库之间的两个表的联合查询
大家好,今天遇到了在db2中 两个数据库之间的两个表的联合查询 我知道oracle中有dblink,可是不知到db2的两个数据库联合查询怎么处理我找了类似于比如两个数据库: db1,db2用户名密码s ...
- lintcode-176-图中两个点之间的路线
176-图中两个点之间的路线 给出一张有向图,设计一个算法判断两个点 s 与 t 之间是否存在路线. 样例 如下图: for s = B and t = E, return true for s = ...
- [转]ASP.NET MVC中的两个Action之间值的传递--TempData
本文转自:ASP.NET MVC中的两个Action之间值的传递--TempData 一. ASP.NET MVC中的TempData 在ASP.NET MVC框架的ControllerBase中存在 ...
- iOS开发中视图控制器ViewControllers之间的数据传递
iOS开发中视图控制器ViewControllers之间的数据传递 这里我们用一个demo来说明ios是如何在视图控制器之间传递重要的参数的.本文先从手写UI来讨论,在下一篇文章中讨论在storybo ...
- intent,实现两个活动之间数据的传递
一.Intent 可以启动一个活动,也可以在启动活动的时候传递数据.intent中提供了putExtra()方法,它可以把我们想要传递的数据暂存在intent中,启动了另一个活动后,通过getInte ...
- 前端与后端之间参数的传递与接收和@RequestBody,@Requestparam,@Param三个注解的使用
参数在前台通过对象的形式传递到后台,在后台,可以用@RequestBody注解通过Map或JSONObject接收(太麻烦,既要从Map中取值,取完值后又要封装到Map),也可以用@RequestPa ...
- Android中两个Activity之间简单通信
在Android中,一个界面被称为一个activity,在两个界面之间通信,采用的是使用一个中间传话者(即Intent类)的模式,而不是直接通信. 下面演示如何实现两个activity之间的通信. 信 ...
- ASP.NET MVC3中Controller与View之间的数据传递
在ASP.NET MVC中,经常会在Controller与View之间传递数据,因此,熟练.灵活的掌握这两层之间的数据传递方法就非常重要.本文从两个方面进行探讨: 一. Controller向Vie ...
随机推荐
- cocoaspod使用 引用头文件找不到
使用cocoasPod做第三方类库管理非常方便,但是在使用的过程之中会遇到一些小问题!比如初次使用会遇到 引入类库,说找不到文件 target--build settings---user searc ...
- Java浮点运算-BigDecimal
package com.hsun.test; import static java.lang.System.out; import java.math.BigDecimal; public class ...
- KineticJS教程(7)
KineticJS教程(7) 作者: ysm 7.图形变换 7.1.线性变化 Kinetic提供了一个图形对象的transitionTo(config)方法实现图形的线性变换,也就是从原始的状态线性变 ...
- [Exceptions Spring 2] - Cannot create a session after the response has been committed
2016-02-23 14:06:27,416 [http-bio-8080-exec-1] DEBUG [org.springframework.beans.factory.support.Defa ...
- scribe 搭建遇到的问题
1.如果安装了多个boost版本或boost路径不是scribe脚本指定的话,会出现问题: checking whether the Boost::System library is availabl ...
- java 线程安全集合
ConcurrentMap 线程安全的HashMap CopyOnWriteArrayList 读多写少的线程安全的ArrayList,性能比vector好. ConcurrentLinkedQueu ...
- python selenium 自动化测试环境安装
注意:2.7和3.0版本的语法有些不一样 安装自动化测试软件 selenium(地址http://www.seleniumhq.org/download/) 安装步骤: 1.安装pythone运行环境 ...
- Android 混淆打包不混淆第三方jar包
项目由于要公布,所以要混淆打包. 混淆打包流程: 1.在proguard-project.txt文件里加入不须要混淆的类和第三方的jar包 这个是保持自己包中不须要混淆的类,假设有些类调用了jni ...
- “cvc-complex-type.2.4.a: Invalid content was found starting with element 'taglib'”错误的解决办法
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" ...
- PHP代码优化之缓存(转)
我们在编写程序时,总是想要使自己的程序占用资源最小,运行速度更快,代码量更少.往往我们在追求这些的同时却失去了很多东西.下面我想讲讲我对PHP优化的理解.优化的目的是花最少的代价换来最快的运行速度与最 ...