1. Squidie - 26 Июня, 2021 - 18:20:23 - перейти к сообщению
Здравствуйте, требуется помощь, нужно чтобы если клавиша была нажата выполнял функцию, если нажата снова останавливал
2. Zireael - 26 Июня, 2021 - 18:57:31 - перейти к сообщению
Цитата:
нужно чтобы если клавиша была нажата выполнял функцию, если нажата снова останавливал
CODE:
int flag=1;
int x=0;
enabletimer(0);
loop()
{
textout(0, 0, 0, format(x), 1);
if(flag) // если переменная не равна 0
{
func(); // вызвать фукнкцию
}
sleep(10);
}
function func()
{
x++;
}
CREATE_TIMER(0, 30)
{
if(getkeystate(SPACE)) // если нажат пробел
{
while(getkeystate(SPACE))sleep(10); // ждать пока нажат пробел
if(flag)flag=0;
else flag=1;
}
}
int x=0;
enabletimer(0);
loop()
{
textout(0, 0, 0, format(x), 1);
if(flag) // если переменная не равна 0
{
func(); // вызвать фукнкцию
}
sleep(10);
}
function func()
{
x++;
}
CREATE_TIMER(0, 30)
{
if(getkeystate(SPACE)) // если нажат пробел
{
while(getkeystate(SPACE))sleep(10); // ждать пока нажат пробел
if(flag)flag=0;
else flag=1;
}
}
При нажатии пробела функция перестаёт вызываться, при повторном нажатии опять будет вызываться.
3. Squidie - 27 Июня, 2021 - 03:11:08 - перейти к сообщению
Zireael пишет:
Цитата:
нужно чтобы если клавиша была нажата выполнял функцию, если нажата снова останавливал
CODE:
int flag=1;
int x=0;
enabletimer(0);
loop()
{
textout(0, 0, 0, format(x), 1);
if(flag) // если переменная не равна 0
{
func(); // вызвать фукнкцию
}
sleep(10);
}
function func()
{
x++;
}
CREATE_TIMER(0, 30)
{
if(getkeystate(SPACE)) // если нажат пробел
{
while(getkeystate(SPACE))sleep(10); // ждать пока нажат пробел
if(flag)flag=0;
else flag=1;
}
}
int x=0;
enabletimer(0);
loop()
{
textout(0, 0, 0, format(x), 1);
if(flag) // если переменная не равна 0
{
func(); // вызвать фукнкцию
}
sleep(10);
}
function func()
{
x++;
}
CREATE_TIMER(0, 30)
{
if(getkeystate(SPACE)) // если нажат пробел
{
while(getkeystate(SPACE))sleep(10); // ждать пока нажат пробел
if(flag)flag=0;
else flag=1;
}
}
При нажатии пробела функция перестаёт вызываться, при повторном нажатии опять будет вызываться.
Работает но только при зажатом пробеле не выполняет функцию
4. Zireael - 27 Июня, 2021 - 03:12:39 - перейти к сообщению
Цитата:
Работает но только при зажатом пробеле не выполняет функцию
Разумеется.
Цитата:
while(getkeystate(SPACE))sleep(10); // ждать пока нажат пробел
5. Squidie - 27 Июня, 2021 - 03:23:26 - перейти к сообщению
Zireael пишет:
Цитата:
Работает но только при зажатом пробеле не выполняет функцию
Разумеется.
Цитата:
while(getkeystate(SPACE))sleep(10); // ждать пока нажат пробел
а как сделать чтоб при одном нажатии останавливалось выполнение функции и при повторном продолжалось?
6. Zireael - 27 Июня, 2021 - 03:26:23 - перейти к сообщению
Цитата:
а как сделать чтоб при одном нажатии останавливалось выполнение функции и при повторном продолжалось?
Оно так и работает.
Цитата:
При нажатии пробела функция перестаёт вызываться, при повторном нажатии опять будет вызываться.
7. Squidie - 27 Июня, 2021 - 03:31:11 - перейти к сообщению
Zireael пишет:
Цитата:
а как сделать чтоб при одном нажатии останавливалось выполнение функции и при повторном продолжалось?
Оно так и работает.
Цитата:
При нажатии пробела функция перестаёт вызываться, при повторном нажатии опять будет вызываться.
но у меня только при зажатом работает
8. Zireael - 27 Июня, 2021 - 03:36:51 - перейти к сообщению
Цитата:
Работает но только при зажатом пробеле не выполняет функцию
Цитата:
но у меня только при зажатом работает
То работает, то не работает. Определитесь уже.
9. Squidie - 27 Июня, 2021 - 04:22:21 - перейти к сообщению
Zireael пишет:
Цитата:
Работает но только при зажатом пробеле не выполняет функцию
Цитата:
но у меня только при зажатом работает
То работает, то не работает. Определитесь уже.
Работает при зажатом, а нужно при нажатии, просто нажать не зажимать пробел
10. Zireael - 27 Июня, 2021 - 04:31:57 - перейти к сообщению
Цитата:
Работает при зажатом, а нужно при нажатии, просто нажать не зажимать пробел
При зажатом он будет только ждать когда пробел будет отпущен. Ничего другого выполняться не будет.