问答求助

关注:516

当前位置:足球投注 技术专区 问答求助

_____________________________________________________________________________________________________________
问答求助版块规则:

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

[脚本] 不在函数外面套bool控制,怎么在Update里只调用一次有返回值的函数

[复制链接]  [移动端链接]
排名
9789
昨日变化
6

足球投注 www.zjrxh.com 11

主题

161

帖子

461

积分

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

UID
70381
好友
7
蛮牛币
690
威望
0
注册时间
2015-1-22
在线时间
181 小时
最后登录
2018-4-8
跳转到指定楼层
楼主
发表于 2018-4-2 10:33:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5蛮牛币
本帖最后由 小妞牛 于 2018-4-2 10:48 编辑

如题,我有一个有返回值的函数,希望能在Update里调用一次,但是不希望在函数外面套bool控制,有什么办法能实现吗?

不希望是这样的:

    void Update ()
{
     if (isOnce)
    {
        isOnce = false;
        float a ();
    }
}

有什么好主意期望能有大神分享一下,感激不?。。?!

2初来乍到
122/150
排名
12544
昨日变化
195

0

主题

19

帖子

122

积分

Rank: 2Rank: 2

UID
219229
好友
0
蛮牛币
426
威望
0
注册时间
2017-4-24
在线时间
43 小时
最后登录
2018-4-21
沙发
发表于 2018-4-2 10:33:24 | 只看该作者
直接用内部的Time.Framcount>1作为逻辑判断依据应该也可以

4四处流浪
358/500
排名
10599
昨日变化
1

29

主题

104

帖子

358

积分

Rank: 4

UID
243169
好友
0
蛮牛币
104
威望
0
注册时间
2017-9-13
在线时间
143 小时
最后登录
2018-4-20
板凳
发表于 2018-4-2 11:00:10 | 只看该作者
可以点击按钮或鼠标

排名
9789
昨日变化
6

11

主题

161

帖子

461

积分

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

UID
70381
好友
7
蛮牛币
690
威望
0
注册时间
2015-1-22
在线时间
181 小时
最后登录
2018-4-8
地板
 楼主| 发表于 2018-4-2 11:18:50 | 只看该作者
U3Drodie 发表于 2018-4-2 11:00
可以点击按钮或鼠标

不能是这种呢,函数返回时逻辑运行的一部分,不能在返回的时候加入手动控制的。另外,你的这种跟bool本质上是一样的,都是在函数外套东西,我希望函数返回本身就有能力能做到一次性赋值。
谢谢解答。

排名
24218
昨日变化
7

0

主题

6

帖子

29

积分

Rank: 1

UID
275230
好友
0
蛮牛币
32
威望
0
注册时间
2018-4-1
在线时间
11 小时
最后登录
2018-4-20
5#
发表于 2018-4-2 11:31:27 | 只看该作者
if(b != 0){
    b=a();
}

排名
24218
昨日变化
7

0

主题

6

帖子

29

积分

Rank: 1

UID
275230
好友
0
蛮牛币
32
威望
0
注册时间
2018-4-1
在线时间
11 小时
最后登录
2018-4-20
6#
发表于 2018-4-2 11:53:32 | 只看该作者
if(b != 0){
    b=a();
}

排名
9789
昨日变化
6

11

主题

161

帖子

461

积分

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

UID
70381
好友
7
蛮牛币
690
威望
0
注册时间
2015-1-22
在线时间
181 小时
最后登录
2018-4-8
7#
 楼主| 发表于 2018-4-2 17:07:06 | 只看该作者
本帖最后由 小妞牛 于 2018-4-2 17:08 编辑
cxl_F5R1s 发表于 2018-4-2 11:53
if(b != 0){
    b=a();
}

这是Update,第一次运行完之后,b 会永远!= 0 然后会无限赋值 b = a()的……这个if是无意义的

排名
9789
昨日变化
6

11

主题

161

帖子

461

积分

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

UID
70381
好友
7
蛮牛币
690
威望
0
注册时间
2015-1-22
在线时间
181 小时
最后登录
2018-4-8
8#
 楼主| 发表于 2018-4-2 17:14:40 | 只看该作者
不能在函数外面套条件呢,因为这是个泛型函数,我需要复用,但是在函数内部加条件的话,就会有无返回值或无限调用的情况,我是没想法了,头疼。

2初来乍到
122/150
排名
12544
昨日变化
195

0

主题

19

帖子

122

积分

Rank: 2Rank: 2

UID
219229
好友
0
蛮牛币
426
威望
0
注册时间
2017-4-24
在线时间
43 小时
最后登录
2018-4-21
9#
发表于 2018-4-2 18:22:28 | 只看该作者
直接把方法体放到Start里面执行就可以吧,毕竟Update也是在start后面就执行了

排名
15618
昨日变化
387

1

主题

19

帖子

88

积分

Rank: 2Rank: 2

UID
228902
好友
0
蛮牛币
99
威望
0
注册时间
2017-6-27
在线时间
30 小时
最后登录
2018-4-21
10#
发表于 2018-4-3 10:24:02 | 只看该作者
可以考虑一下协程

排名
9789
昨日变化
6

11

主题

161

帖子

461

积分

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

UID
70381
好友
7
蛮牛币
690
威望
0
注册时间
2015-1-22
在线时间
181 小时
最后登录
2018-4-8
11#
 楼主| 发表于 2018-4-3 16:25:51 | 只看该作者
Cloudylea 发表于 2018-4-2 18:27
直接用内部的Time.Framcount>1作为逻辑判断依据应该也可以

666,非常感谢,这就是我想要的?。?!

5熟悉之中
593/1000
排名
6676
昨日变化
60

7

主题

159

帖子

593

积分

Rank: 5Rank: 5

UID
246388
好友
0
蛮牛币
445
威望
0
注册时间
2017-9-27
在线时间
227 小时
最后登录
2018-4-21
12#
发表于 2018-4-4 10:11:10 | 只看该作者
小妞牛 发表于 2018-4-3 16:25
666,非常感谢,这就是我想要的?。?!

诶,这个就不用在Update里循环判断了吗?
[发帖际遇]: 一个袋子砸在了 MNSuZhen 头上,MNSuZhen 赚了 1 蛮牛币. 幸运榜 / 衰神榜

排名
15215
昨日变化
6

1

主题

25

帖子

92

积分

Rank: 2Rank: 2

UID
268668
好友
0
蛮牛币
136
威望
0
注册时间
2018-2-13
在线时间
28 小时
最后登录
2018-4-19
13#
发表于 2018-4-8 10:51:50 | 只看该作者
6666666666666666666666666

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

本版积分规则

快速回复 足球投注 返回列表
幸运农场开奖结果查询 | 356| 831| 312| 320| 314| 427| 890| 145| 412| 915|