怎样实现这样的效果?
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
程序这样写:每次只有一个方向,主次区分,重复按下无效,
如果按下 向下键
向下10步
否则
如果按下 向上键
向上10步
否则
如果按下 向左键
向左10步
否则
如果按下 向右键
向右10步
2025年09月18日 07点09分 13
你这个显然无法满足楼主的需求[汗]楼主要按下左键然后不松开左键并按下右键就向右移动,你这个只会继续向左移动
2025年09月23日 04点09分
@遧傂鼝 用同级关系条件咯,如果按键,最后一次按下的为准,其它忽略
2025年09月29日 08点09分
@stdo 你这句话相当于把楼主的需求复述了一遍[汗]能不能先自己写一遍测试一遍再拍脑门?talk is cheap
2025年09月29日 08点09分
1