Quick Cocos2dx 场景转换问题

项目结构是这样子的:

主场景代码是这样子的:

复制代码
local MainScene = class("MainScene", function()return display.newScene("MainScene")
end)function MainScene:ctor()self.layer = display.newLayer();self:addChild(self.layer)self.item0 = ui.newTTFLabelMenuItem({text = "START", size = 64, align = ui.TEXT_ALIGN_CENTER, x = display.cx, y = display.cy + 50,listener = function()print("Start touched")nexScene = display.newScene("AnotherScene");CCDirector:sharedDirector():replaceScene(CCTransitionFade:create(1, nexScene))end})self.item1 = ui.newTTFLabelMenuItem({text = "ABOUT", size = 64, align = ui.TEXT_ALIGN_CENTER,x=display.cx, y=display.cy,listener = function()print("About touched")end})self.item2 = ui.newTTFLabelMenuItem({text = "EXIT", size = 64, align = ui.TEXT_ALIGN_CENTER, x=display.cx, y=display.cy-50,listener = function()print("Exit touched")game.exit()end})self.menu = ui.newMenu({self.item0,self.item1,self.item2})self.layer:addChild(self.menu)
endfunction MainScene:onEnter()self.layer:setTouchEnabled(true)
endfunction MainScene:onTouch(event, x, y)print(event)
endfunction MainScene:onExit()
endreturn MainScene
复制代码

 百牛信息技术bainiu.ltd整理发布于博客园

新场景代码是这样子的:

复制代码
local AnotherScene = class("AnotherScene", function()return display.newScene("AnotherScene")
end)function AnotherScene:ctor()print("Constructor of AnotherScene")
endfunction AnotherScene:onEnter()print("Custom AnotherScene:onEnter")ui.newTTFLabel({text = "AnotherScene", size = 64, align = ui.TEXT_ALIGN_CENTER}):pos(display.cx, display.cy):addTo(self)
end
return AnotherScene
复制代码

 

可是点击点击START之后进入的是一个黑色的新场景,DEBUG内容如下:

根本就没有打印AnotherScene.lua ctor()和onEnter()里面的提示内容。

经查验qucik cocos2dx源码,发现display.newScene("AnotherScene")新建了一个名为"AnotherScene"的CCScene,

而不是去取AnotherScene.lua,如下:

function display.newScene(name)local scene = CCSceneExtend.extend(CCScene:create())scene.name = name or "<unknown-scene>"return scene
end

 

于是将item0的listener的代码如下:

 print("Start touched")local AnotherScene = require("../scripts/app/scenes/AnotherScene")nexScene = AnotherScene:new();CCDirector:sharedDirector():replaceScene(CCTransitionFade:create(1, nexScene))

然后就正常了。

如下:

 

这也许就是脚本语言的便利与不便利之处了。

转载于:https://www.cnblogs.com/bainiu/p/7592230.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268361.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云云效Maven地址

https://developer.aliyun.com/mvn/guide

如何删除隐藏着的网卡

如果你将一个虚拟机&#xff08;机器名VM1&#xff09;的vhd文件直接新建成另一个虚拟机&#xff08;机器名VM2&#xff09;&#xff0c;此时VM1虚机已经删除。但是你还是无法将VM2虚机的IP地址设置成和VM1虚机一样的IP地址&#xff0c;原因是IP地址冲突&#xff0c;而VM2虚机中…

牛顿插值法及其C++实现

牛顿插值法 一、背景引入 相信朋友们&#xff0c;开了拉格朗日插值法后会被数学家的思维所折服&#xff0c;但是我想说有了拉格朗日插值法还不够&#xff0c;因为我们每次增加一个点都得重算所有插值基底函数&#xff0c;这样会增加计算量&#xff0c;下面我们引入牛顿插值法&a…

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test) on

报错如下 Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test) on project hhh: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test failed: The forked VM terminated without sa…

【原创中】儿子,听爸爸跟你说

可爱的宝贝儿子&#xff1a;可能你现在正在家里小床上酣睡&#xff0c;可惜爸爸不能在你身边陪着你。无数个夜晚&#xff0c;你妈妈他们睡在你身边照顾你&#xff0c;你知道他们有多辛苦吗&#xff1f;等你长大了&#xff0c;我会告诉你做父母的艰辛&#xff0c;我们并不是要求…

ASP.NET Core 认证与授权[1]:初识认证

在ASP.NET 4.X 中&#xff0c;我们最常用的是Forms认证&#xff0c;它既可以用于局域网环境&#xff0c;也可用于互联网环境&#xff0c;有着非常广泛的使用。但是它很难进行扩展&#xff0c;更无法与第三方认证集成&#xff0c;因此&#xff0c;在 ASP.NET Core 中对认证与授权…

IDEA创建Maven项目报错- Error injecting constructor, java.lang.NoSuchMethodError: org.apache.maven.model】

1&#xff1a;报错 今天下了最新版本的maven&#xff0c;在idea中配置好maven好&#xff0c;拉取依赖报错了 2:查看报错日志 报错如下 1) Error injecting constructor, java.lang.NoSuchMethodError: org.apache.maven.model.validation.DefaultModelValidator: method <…

C# 动态加载 动态卸载

代码usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Threading;usingSystem.Reflection;namespaceUnloadDll{ classProgram { staticvoidMain(string[] args) { stringcallingDomainName AppDomain.CurrentDomain.…

python进行数据分析

1. python进行数据分析----线性回归 2. python进行数据分析------相关分析 3. python进行数据分析---python3卡方 4. 多重响应分析&#xff0c;多选题二分法思路 5. 交叉表思路&#xff0c;未发布 6. 比较均值分析思路 7. 排序题如何进行数据分析 8.python 二元Logistics Regr…

GdiPlus[38]: IGPGraphicsPath (五) 路径标记

IGPGraphicsPath.SetMarker //建立一个标记 IGPGraphicsPath.ClearMarkers //取消全部标记在路径中每建立一个图形都可以同时做个 Marker,真正使用这些个标记时, 主要通过 IGPGraphicsPathIterator 的 NextMarker() 方法.下面是建立并遍历 Marker 的演示代码, 暂未使用 IGPG…

结队编程项目进度

四则运算答题计算器&#xff1a;现在已经进行到随机生成一个100以内的数字和一个10以内的数字&#xff0c;并进行减法运算转载于:https://www.cnblogs.com/juyan/p/7598434.html

微软发布3款SQL Injection攻击检测工具

随着 SQL INJECTION 攻击的明显增多&#xff0c;微软近日发布了三个免费工具&#xff0c;帮助网站管理员和检测存在的风险并对可能的攻击进行拦截。Scrawlr 下载地址&#xff1a;https://download.spidynamics.com/Products/scrawlr/这个微软和 HP合作开发的工具&#xff0c;会…

安装C语言版本tensorflow

安装 本文中的示例&#xff0c;可以点击这里下载。 参考&#xff1a;https://www.tensorflow.org/install/install_c 官网提供的方法是用一个脚本去安装&#xff1a; TF_TYPE"cpu" # Change to "gpu" for GPU support OS"linux" # Change to &qu…

Idea Error:(6, 32) java: 程序包xxx.xxx包不存解决方(亲测有效)

main方法运行不起来,报错&#xff1a;xxx.xxx包不存在&#xff0c;xxx.xxx找不到&#xff0c;实则相关的包都是存在的&#xff0c;并且可以打包成功。也就是说&#xff0c;可以打包成功但是idea不能运行 报错如下 方法一&#xff1a; 勾选了"delegate IDE build/run act…

2440启动代码分析

;GET和INCLUDE功能相同 ;功能&#xff1a;引进一个被编译过的文件。 GET option.inc GET memcfg.inc GET 2440addr.inc ;EQU为程序中的常量、标号等定义一个等效的字符名称 ;定义SDRAM工作在Refresh模式&#xff0c;SDRAM有两种刷新方式&#xff1a;autorefresh和selfrefresh&a…

如何查看apache,php,mysql的编译参数

如何查看apache,php,mysql的编译参数 查看nginx编译参数&#xff1a;/usr/local/nginx/sbin/nginx -V查看apache编译参数&#xff1a;cat /usr/local/apache2/build/config.nice查看mysql编译参数&#xff1a;cat /usr/local/mysql/bin/mysqlbug | grep CONFIGURE_LINE查看php编…

Mac启动elasticsearch并用代码创建索引

一&#xff1a;启动ElasticSearch ES后台启动 bi目录下执行如下命令 ./elasticsearch -d 二&#xff1a;验证启动是否成功 浏览器输入&#xff0c;返回如下表示启动成功 三&#xff1a;添加es依赖 <dependency><groupId>org.elasticsearch</groupId><…

什么是 I2C

什么是 I2C I2C(Inter&#xff0d;Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线&#xff0c;用于连接微控制器及其外围设备。I2C总线产生于在80年代&#xff0c;最初为音频和视频设备开发&#xff0c;如今主要在服务器管理中使用&#xff0c;其中包括单个组…