如何在 Corona SDK 中更新值?
2017-6-29 11:46:49
收藏:0
阅读:77
评论:2
为什么我在检查分数值时代码不工作?我已经尝试解决这个问题很长时间了,但什么都不起作用。为什么 scoreTxt 更新了但 if 函数没有做任何事情?
local function myTouchListener( event )
if (event.phase == "began") then
transition.pause()
score = score +1
scoreTxt.text = score
end
end
local ball = display.newCircle(0,0,40)
ball:addEventListener("touch",myTouchListener)
if(score > 2)then
ball.x = display.contentCenterX
--NOTHING HAPPENS HERE
end
点赞
用户4261637
这应该解决问题:
local score = 0
local function myTouchListener( event )
if (event.phase == "began") then
transition.pause()
score = score +1
scoreTxt.text = score
if(score > 2)then
ball.x = display.contentCenterX
end
end
end
local ball = display.newCircle(0,0,40)
ball:addEventListener("touch",myTouchListener)
你遇到的问题是 if 语句只执行一次,此时 score 等于 0 或 null。你需要在每次触摸事件发生后检查 score 是否大于 2,而不仅仅是在程序首次运行时。
你也不能只是让 score = score + 1,因为如果你没有初始化 score,那么 score 实际上就等于 null。因此,null = null + 1 没有任何意义。
2017-06-29 18:49:11
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?

首先,并没有“if函数”的存在。
假设您提供的代码只执行一次,则if语句也只被评估一次。由于在发生这种情况时得分很可能不大于2,因此if语句的主体根本没有被评估。这就是为什么什么都没有发生的原因。
当执行代码时,您定义了一个名为myTouchListener的函数。然后,您创建一个圆,并将myTouchListener函数添加为其事件侦听器。
然后,您评估if语句。
您应该将该ball.x赋值移至myTouchListener中,以便在每次分数变化时对其进行评估。
想一想。为什么if语句应该再次被评估?谁会触发它,为什么?