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

牛顿插值法及其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…

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…

安装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…

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;其中包括单个组…

阅读笔记一之《软件需求与分析》

关于我们怎样做需求分析&#xff1a; 本学期《软件需求与分析》需要掌握需求调研、需求分析和需求确认三大基本内容。以下为针对每一个内容的自己的理解。 一、需求调研 初识&#xff1a;刚开始与客户接触的时候&#xff0c;一定要建立良好的职业微信。在对需求进行分析时&…

java代码删除ElasticSearch索引

用java代码删除ElasticSearch索引 public class ElasticsearchDeleteIndexTest {public static void main(String[] args) throws IOException {RestHighLevelClient restHighLevelClient new RestHighLevelClient(RestClient.builder(new HttpHost("localhost", 9…

java代码查询elasticsearch索引

用java代码查询ES索引 public class ElasticsearchSearchTest {public static void main(String[] args) throws IOException {RestHighLevelClient restHighLevelClient new RestHighLevelClient(RestClient.builder(new HttpHost("localhost", 9200, "http&…

67 个JavaScript和CSS实用工具、库与资源

在这篇文章中&#xff0c;我不会与大家谈论大型的前端框架&#xff0c;如 React、Angular、Vue 等&#xff0c;也没有涉及那些流行的代码编辑器&#xff0c;如 Atom、VS Code、Sublime&#xff0c;我只想与大家分享一个有助于提升开发人员效率的工具列表合集。 或许&#xff0c…

NGINX生命周期-转

转载于:https://www.cnblogs.com/justart/p/7611427.html

Flush tables with read lock (FTWRL)全局锁就是对整个数据库实例加锁

一&#xff1a;加全局读锁命令 FLUSH TABLE WITH READ LOCK; 二&#xff1a;执行新增语句 报错了 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near VALUES3,"语文&qu…

深入研究Servlet线程安全性问题

Servlet/JSP技术和ASP、PHP等相比&#xff0c;由于其多线程运行而具有很高的执行效率。由于Servlet/JSP默认是以多线程模式执行的&#xff0c;所以&#xff0c;在编写代码时需要非常细致地考虑多线程的安全性问题。然而&#xff0c;很多人编写Servlet/JSP程序时并没有注意到多线…