精易论坛

标题: 该怎么办? [打印本页]

作者: fgfeng    时间: 2025-2-2 18:15
标题: 该怎么办?
如图1,小人可以正常移动,但当添加一个按钮让子弹发射,小人却无法移动(如图2),在此请求各位,该如何处理?源码如下:
.版本 2
.支持库 EThread
.支持库 spec

.程序集 窗口程序集_启动窗口
.程序集变量 热键, 逻辑型, , "256"

.子程序 __启动窗口_创建完毕

时钟1.时钟周期 = 20

.子程序 _时钟1_周期事件
.局部变量 x, 整数型
.局部变量 y, 整数型
.局部变量 x2, 整数型
.局部变量 y2, 整数型
.局部变量 a, 整数型
.局部变量 l, 整数型
.局部变量 a2, 整数型
.局部变量 l2, 整数型


.如果真 (热键 [到整数 (#A键)])
    .如果 (图片框1.左边 ≤ 0)
        x = 0
    .否则
        x = -5
    .如果结束

.如果真结束
.如果真 (热键 [到整数 (#D键)])
    .如果 (图片框1.左边 ≥ 1634)
        x = 0
    .否则
        x = 5
    .如果结束

.如果真结束
.如果真 (热键 [到整数 (#W键)])
    .如果 (图片框1.顶边 ≤ 0)
        y = 0
    .否则
        y = -5
    .如果结束

.如果真结束
.如果真 (热键 [到整数 (#X键)])
    .如果 (图片框1.顶边 ≥ 759)
        y = 0
    .否则
        y = 5
    .如果结束

.如果真结束

.如果真 (热键 [到整数 (#左光标键)])
    .如果 (图片框2.左边 ≤ 0)
        x2 = 0
    .否则
        x2 = -5
    .如果结束

.如果真结束
.如果真 (热键 [到整数 (#右光标键)])
    .如果 (图片框2.左边 ≥ 1519)
        x2 = 0
    .否则
        x2 = 5
    .如果结束

.如果真结束
.如果真 (热键 [到整数 (#上光标键)])
    .如果 (图片框2.顶边 ≤ 0)
        y2 = 0
    .否则
        y2 = -5
    .如果结束

.如果真结束
.如果真 (热键 [到整数 (#下光标键)])
    .如果 (图片框2.顶边 ≥ 1519)
        y2 = 0
    .否则
        y2 = 5
    .如果结束

.如果真结束
图片框1.移动 (图片框1.左边 + x, 图片框1.顶边 + y, , )
图片框2.移动 (图片框2.左边 + x2, 图片框2.顶边 + y2, , )

.如果真 (热键 [到整数 (#A键)])
    .如果 (图片框1.左边 ≤ 0)
        a = 0
    .否则
        a = -5
    .如果结束

.如果真结束
.如果真 (热键 [到整数 (#D键)])
    .如果 (图片框1.左边 ≥ 1634)
        a = 0
    .否则
        a = 5
    .如果结束

.如果真结束
.如果真 (热键 [到整数 (#W键)])
    .如果 (图片框1.顶边 ≤ 0)
        l = 0
    .否则
        l = -5
    .如果结束

.如果真结束
.如果真 (热键 [到整数 (#X键)])
    .如果 (图片框1.顶边 ≥ 759)
        l = 0
    .否则
        l = 5
    .如果结束

.如果真结束

.如果真 (热键 [到整数 (#左光标键)])
    .如果 (图片框2.左边 ≤ 0)
        a2 = 0
    .否则
        a2 = -5
    .如果结束

.如果真结束
.如果真 (热键 [到整数 (#右光标键)])
    .如果 (图片框2.左边 ≥ 1519)
        a2 = 0
    .否则
        a2 = 5
    .如果结束

.如果真结束
.如果真 (热键 [到整数 (#上光标键)])
    .如果 (图片框2.顶边 ≤ 0)
        l2 = 0
    .否则
        l2 = -5
    .如果结束

.如果真结束
.如果真 (热键 [到整数 (#下光标键)])
    .如果 (图片框2.顶边 ≥ 1519)
        l2 = 0
    .否则
        l2 = 5
    .如果结束

.如果真结束

图片框3.移动 (图片框3.左边 + a, 图片框3.顶边 + l, , )
图片框4.移动 (图片框4.左边 + a2, 图片框4.顶边 + l2, , )


.子程序 __启动窗口_按下某键, 逻辑型
.参数 键代码, 整数型
.参数 功能键状态, 整数型

热键 [键代码] = 真

.子程序 __启动窗口_放开某键, 逻辑型
.参数 键代码, 整数型
.参数 功能键状态, 整数型

热键 [键代码] = 假


.子程序 _按钮2_被单击
.局部变量 m, 整数型

强制结束线程 (m)
启动线程 (&子程序2, , m)

.子程序 子程序2

.判断循环首 (图片框4.左边 > -200)
    图片框4.左边 = 图片框4.左边 - 20
    .如果真 (图片框4.左边 < -200)
        图片框4.左边 = 图片框2.左边
        返回 ()
    .如果真结束
    延迟 (5)
.判断循环尾 ()


1.gif (1.24 MB, 下载次数: 0)

1.gif

2.gif (75.1 KB, 下载次数: 0)

2.gif

作者: chenboss    时间: 2025-2-2 18:15
修复按钮导致窗口按键失效.e

作者: fgfeng    时间: 2025-2-5 19:33
chenboss 发表于 2025-2-3 19:09
修复按钮导致窗口按键失效.e

谢谢了,热心人。




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4