怎样实现这样的效果?
scratch吧
全部回复
仅看楼主
level 7
闹肚子的镭射
楼主
玩家按下→键,向右移动,此时按下←键(不松开→键)玩家向左移动
自己做的程序遇上这种情况就会停止不动…如何解决
2025年07月18日 01点07分
1
level 7
闹肚子的镭射
楼主
我知道原因是同时按下←→键时自定义积木里的x=0,导致静止,但不知道如何解决
2025年07月18日 02点07分
2
☞看破◆苍穹☜
有问题吗?左右相互抵消
2025年07月18日 09点07分
level 13
☞看破◆苍穹☜
如果你希望实现的效果是:“若同时按下一对相反的方向键,则两者不会相互抵消,而是以最后按下的键为准”,你可以用变量记录最后被按下的键是哪一个。
2025年07月18日 10点07分
3
遧傂鼝
@闹肚子的镭射
当按下左键时 将x轴速度设定为-1 在按下左键不成立前一直等待;当按下右键时 将x轴速度定为1 在按下右键不成立前一直等待。然后移动那里再判断只按下左键则将x轴速度设为-1,只按下右键则将x轴设为1,左键右键都未按下则将x轴速度设为0。y轴同理
2025年07月18日 18点07分
☞看破◆苍穹☜
@遧傂鼝
单开线程也是一样存在优先级的啊。。。这种优先级非常正常,也不影响使用。至于广播控制的话那就得引入“停止其他脚本”这种给自己埋雷的东西了。。。另外,单开线程的话,同一帧内的执行顺序控制和判断起来也比较麻烦,可能会出现一些不能肉眼判断的玄学问题。
2025年07月18日 19点07分
闹肚子的镭射
如何记录?
2025年07月18日 12点07分
☞看破◆苍穹☜
@闹肚子的镭射
想怎么记就怎么记。比如用变量。
2025年07月18日 12点07分
吧务
level 15
遧傂鼝
如下,实测可以满足你的需求
2025年07月18日 19点07分
5
伍子蛋花饼
2025年07月19日 12点07分
吧务
level 15
遧傂鼝
这个是上面说的记录按键状态
2025年07月19日 06点07分
6
level 7
闹肚子的镭射
楼主
解决了,感谢
2025年07月19日 06点07分
9
level 13
☞看破◆苍穹☜
这种问题如果封装了按键状态就会很好解决,直接对比状态值就能得知哪个键最后按下。我常用的方案已发a营、共创、小码王,感兴趣的话可以拿去用。
2025年07月19日 09点07分
10
闹肚子的镭射
感谢
2025年07月19日 10点07分
level 3
stdo
程序这样写:每次只有一个方向,主次区分,重复按下无效,
如果按下 向下键
向下10步
否则
如果按下 向上键
向上10步
否则
如果按下 向左键
向左10步
否则
如果按下 向右键
向右10步
2025年09月18日 07点09分
13
遧傂鼝
你这个显然无法满足楼主的需求
楼主要按下左键然后不松开左键并按下右键就向右移动,你这个只会继续向左移动
2025年09月23日 04点09分
stdo
@遧傂鼝
用同级关系条件咯,如果按键,最后一次按下的为准,其它忽略
2025年09月29日 08点09分
遧傂鼝
@stdo
你这句话相当于把楼主的需求复述了一遍
能不能先自己写一遍测试一遍再拍脑门?talk is cheap
2025年09月29日 08点09分
1