用户:
肆秋查看:7 回复:6 评论:7 创建时间:2021-10-30T10:11:46
今天做调音量系统:

嗯,一切正常。
不对。

如果球在最右边,然后鼠标点击球靠右边的地方,球的X坐标会一下子>470,然后直接被卡住动不了……
修修改改后:

根本拖不动是怎么回事……
哦是我傻了不好意思。

但是还是不对劲啊……
哦我又又傻了。

这次代码对了,好耶!但又有了新的问题……重复执行直到X坐标<-470 或 >470,X坐标大于470,代码失效,执行下一个,将X坐标设置为470,执行成功,进入下一个重复,X坐标等于470,移动到鼠标,X坐标大于470,代码失效,下一个,将X坐标设为470,重复执行,将X坐标移到鼠标指针……
如果我截一张动图,你们会看见那个球在两边高速左右横跳……
又是一番修修改改:

那么简单的问题竟然能困扰我半个小时??这智力水平堪忧……
嗯,简单的问题没了,欢迎来到进阶的问题。

也就是,当自己被按下后就会就开始循环后面的代码,至于后面鼠标松开了?那关我什么事?
所以现在就是这样的……点了一下圆球后,在X-470到X470这个区域鼠标移到哪喵球的X坐标都会一样,松开了也没用……
我记得很久以前在KITTEN3不是这样的啊……不过我也记不清了。
总之,开始破题旅途:

……没用。
首先我确认了一个角色是可以同时运行两个重复执行的,也就是说我两组代码都有运行,却没有用。
所以问题出在剩下的积木上。
我本来以为鼠标松开使变量增加会使第一组代码的“如果”不成立从而打断运行,然后再将变量回归到可以让“如果”成立的数值,然后“如果”重新侦测,发现鼠标松开了,“如果”还是不成立,直到鼠标再次按住角色,“如果”才会成立,使圆球的X坐标为鼠标的X坐标。
但我搞错了一个地方,和我上一个问题搞错的一样,那就是“如果”在鼠标按下圆球之后就成立了,它就会执行“重复执行直到”那一阶段的代码,至于中途“如果”不成立,那关它什么事?
悟了这一点,剩下就很容易啦!

你以为事情那么会简单吗?不会!没想到吧,我也没想到。
所以呢,我去吃了顿饭打了几局游戏,现在刚回来,咱继续。
嗯,啥都不记得了,让我重新认识一下这些代码,没准能有解决方法
那我们看看上图这段代码,加了个条件后这个圆球越来越离谱了,甚至又开始随着鼠标跑出框外……不过这是我不小心把重复执行直到那儿的或调成了且,不是什么大问题。
但如果把且改成或改回来,这段代码就很没有似的,加上和去掉完全没有什么差别,所以问题还是没解决。
修修改改后:
嗯,问题解决,我把代码简化了一下,我也不知道我的脑回路为什么那么清奇要弄这么多弯弯绕绕。

最后,只用三行代码。
这篇几百字的多图帖子就到此结束了,谢谢大家耐心的看我的令人智熄的操作看了那么久,不过我没想明白我没简化过的方案虽然繁杂了一些,但似乎也没有BUG,为什么运行不成功呢?若有大佬请指点指点。
咳,突然想起要是有萌新抱着看怎么做声音设置滚动条的心思来,结果看我一通智,障操作完了竟然就直接结束了帖子肯定会喵人,所以我决定补完它。
……嘶,我也是第一次做欸,没什么想法。
试试做做看。
-470和470之间相差940,也就是说X坐标每减少9.4,音量就该下降1%。
用X坐标的值去算音量该是多少这个思路应该没错吧?

比想象的简单,好啦,此帖正式结束,助大家编程不会遇到无法解决的BUG!