游戏蛮牛学习群(纯技术交流,不闲聊):159852603
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

问答求助

关注:558

当前位置:游戏蛮牛 技术专区 问答求助

_____________________________________________________________________________________________________________
问答求助版块规则:

  1、问题尽量描述清楚
      2、代码要放在代码块里
      3、附件最好放到云盘,然后把链接放到TXT文档里,上传TXT文档。【最好没有附件,你懂得】
      4、本版块回复不得无意义,如:顶、呵呵、不错......以及擦边!【真的会扣分的哦】严重者,封IP!
      5、问题得到解决,请选择最佳答案。
      6、若问题是你自己解决了,可以联系管理员,返还蛮牛币,写下你的答案,另有蛮牛币奖赏。
_____________________________________________________________________________________________________________
查看: 402|回复: 4

[脚本] unity lua中如何做倒计时?

[复制链接]  [移动端链接]
2初来乍到
115/150
排名
16212
昨日变化
434

11

主题

31

帖子

115

积分

Rank: 2Rank: 2

UID
295003
好友
0
蛮牛币
72
威望
0
注册时间
2018-8-28
在线时间
35 小时
最后登录
2018-10-23
发表于 2018-9-26 16:01:18 | 显示全部楼层 |阅读模式
5蛮牛币
本帖最后由 Deliver_Nk8a0 于 2018-9-26 16:16 编辑

比如倒计时5秒的显示该怎么做?
我尝试用dotween.sequence来做,用了5个insertcallback,每个callback改变相应的文本,但是一旦中途按了退出按钮然后马上又进入倒计时的话,之前的callback仍然在执行,然后尝试在按钮事件中执行了sequence的Kill函数,但是没有执行,就发现好像只有在sequence定义的函数里执行kill才有用,可是lua的变量不都是全局变量吗?

sequence的定义:
self.sequence = DG.Tweening.DOTween.Sequence()

然后在另外一个函数中调用kill:
self.sequence:Kill()

看字面的话,是因为sequence的类型其实是一个函数吗?所以没办法用这种调用方式?那要如何调用kill来及时删除callback?

回复

使用道具 举报

7日久生情
1828/5000
排名
1897
昨日变化
8

19

主题

467

帖子

1828

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
218268
好友
5
蛮牛币
2049
威望
0
注册时间
2017-4-18
在线时间
662 小时
最后登录
2018-10-23

活力之星

发表于 2018-9-26 16:01:19 | 显示全部楼层
再说Unity使用lua,不管 slua、tolua、xlua都有封装后的协程,直接用

回复

使用道具 举报

6蛮牛粉丝
1087/1500
排名
2492
昨日变化
8

6

主题

47

帖子

1087

积分

Rank: 6Rank: 6Rank: 6

UID
244931
好友
0
蛮牛币
1806
威望
0
注册时间
2017-9-20
在线时间
496 小时
最后登录
2018-10-23
发表于 2018-9-28 18:06:54 | 显示全部楼层
或许你可以看下lua教程里关于变量的作用域部分
然后你设置一个变量中止正在运行的计时

参照xlua简单的计时器可以这么写一个
local time = CS.UnityEngine.Time
local onClick

local m_curTime = 0
local m_endTime = 5

function func()
while( onClick and m_curTime < m_endTime) do
     m_curTime = m_curTime + time.deltaTime
end
if m_curTime >= m_endTime then
body
end
end

虽然看着很low就是了

回复

使用道具 举报

5熟悉之中
960/1000
排名
3255
昨日变化

21

主题

213

帖子

960

积分

Rank: 5Rank: 5

UID
231610
好友
3
蛮牛币
1150
威望
0
注册时间
2017-7-11
在线时间
342 小时
最后登录
2018-10-22
发表于 2018-9-29 09:38:24 | 显示全部楼层
用协程啊

回复

使用道具 举报

7日久生情
1828/5000
排名
1897
昨日变化
8

19

主题

467

帖子

1828

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
218268
好友
5
蛮牛币
2049
威望
0
注册时间
2017-4-18
在线时间
662 小时
最后登录
2018-10-23

活力之星

发表于 2018-10-8 08:34:45 | 显示全部楼层
lua语言有其本身的协程,计时器首先想到用协程就行

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表