猫史档案馆


今天感觉有点无语(应该可以算是滚动条教程??)

用户:肆秋肆秋查看:192 回复:6 评论:7 创建时间:2021-10-30T10:11:46


今天做调音量系统:

center_image

嗯,一切正常。

不对。

center_image

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

修修改改后:

center_image

根本拖不动是怎么回事……

哦是我傻了不好意思。

center_image

但是还是不对劲啊……

哦我又又傻了。

center_image

这次代码对了,好耶!但又有了新的问题……重复执行直到X坐标<-470 或 >470,X坐标大于470,代码失效,执行下一个,将X坐标设置为470,执行成功,进入下一个重复,X坐标等于470,移动到鼠标,X坐标大于470,代码失效,下一个,将X坐标设为470,重复执行,将X坐标移到鼠标指针……

如果我截一张动图,你们会看见那个球在两边高速左右横跳……

又是一番修修改改:

center_image

那么简单的问题竟然能困扰我半个小时??这智力水平堪忧……

嗯,简单的问题没了,欢迎来到进阶的问题。

center_image

也就是,当自己被按下后就会就开始循环后面的代码,至于后面鼠标松开了?那关我什么事?

所以现在就是这样的……点了一下圆球后,在X-470到X470这个区域鼠标移到哪喵球的X坐标都会一样,松开了也没用……

我记得很久以前在KITTEN3不是这样的啊……不过我也记不清了。

总之,开始破题旅途:

center_image

……没用。

首先我确认了一个角色是可以同时运行两个重复执行的,也就是说我两组代码都有运行,却没有用。

所以问题出在剩下的积木上。

我本来以为鼠标松开使变量增加会使第一组代码的“如果”不成立从而打断运行,然后再将变量回归到可以让“如果”成立的数值,然后“如果”重新侦测,发现鼠标松开了,“如果”还是不成立,直到鼠标再次按住角色,“如果”才会成立,使圆球的X坐标为鼠标的X坐标。

但我搞错了一个地方,和我上一个问题搞错的一样,那就是“如果”在鼠标按下圆球之后就成立了,它就会执行“重复执行直到”那一阶段的代码,至于中途“如果”不成立,那关它什么事?

悟了这一点,剩下就很容易啦!

center_image

你以为事情那么会简单吗?不会!没想到吧,我也没想到。

所以呢,我去吃了顿饭打了几局游戏,现在刚回来,咱继续。

嗯,啥都不记得了,让我重新认识一下这些代码,没准能有解决方法

那我们看看上图这段代码,加了个条件后这个圆球越来越离谱了,甚至又开始随着鼠标跑出框外……不过这是我不小心把重复执行直到那儿的或调成了且,不是什么大问题。

但如果把且改成或改回来,这段代码就很没有似的,加上和去掉完全没有什么差别,所以问题还是没解决。

修修改改后:

嗯,问题解决,我把代码简化了一下,我也不知道我的脑回路为什么那么清奇要弄这么多弯弯绕绕。

center_image

最后,只用三行代码。

这篇几百字的多图帖子就到此结束了,谢谢大家耐心的看我的令人智熄的操作看了那么久,不过我没想明白我没简化过的方案虽然繁杂了一些,但似乎也没有BUG,为什么运行不成功呢?若有大佬请指点指点。

咳,突然想起要是有萌新抱着看怎么做声音设置滚动条的心思来,结果看我一通智,障操作完了竟然就直接结束了帖子肯定会喵人,所以我决定补完它。

……嘶,我也是第一次做欸,没什么想法。

试试做做看。

-470和470之间相差940,也就是说X坐标每减少9.4,音量就该下降1%。

用X坐标的值去算音量该是多少这个思路应该没错吧?

center_image

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


回复

上一页第 1 页 / 共 1 页下一页
肆秋肆秋

这贴沉到第三页去了……这也太快了吧,猫站人发帖能力竟恐怖如斯()

点赞0


评论


肆秋肆秋

啊吧啊吧

点赞0


评论


编程小小人编程小小人

你可以改成输入声音大小

点赞0


评论

啥意思?详细点?

我的意思是别用滑动条,用其它办法,例如输入数值

哦哦,懂了懂了


肆秋肆秋

啊吧啊吧阿巴

点赞0


评论


星沧澜I白羽星沧澜I白羽

az,要这么麻烦吗、、、

点赞0


评论

思路是有的,但是好像偏麻烦了一点

总共不到十行代码也很麻烦吗?难道大佬们已经对于简化代码到了如此深奥的地步……恐怖如斯啊?

hhh


源码极客源码极客

呼,我说楼主最后那段代码不挺简单的嘛前面那弯弯绕绕的差点没把我整晕

点赞0


评论

我当时脑子不太清楚……白绕了好几圈……