Второй вопрос, но тоже по теме. Чтобы убить мышку, нужно направить ружьё охотника на неё и нажать клавишу "Пробел". Как это можно реализовать в моём коде?
" (Показать/Скрыть)
| pashist |
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 44 Пол: Мужской Репутация: 0 |
Привет еще раз. Пишу игру Охотник на мышек=) Столкнулся с проблемой: как выполнять две процедуры одновременно? Ответ: никак =) Есть процедура, которая генерит вывод мышей на экран. Еще есть процедура, которая рисует охотника в центре экрана, которым нужно управлять. Но как управлять охотником, если уже выполняется процедура вывода мышей на экран? ReadKey не помогает, он останавливает программу в ожидании нажатия клавиши.
Второй вопрос, но тоже по теме. Чтобы убить мышку, нужно направить ружьё охотника на неё и нажать клавишу "Пробел". Как это можно реализовать в моём коде? " (Показать/Скрыть)
|
![]() ![]() |
| Бродяжник |
Сообщение
#2
|
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 206 Пол: Мужской Репутация: 3 |
Ну...
Предположим, что режим 640 на 480. И начало координат вверху слева. И ось У направлена вниз. Так, как это обычно в графических режимах бывает. Пусть Xg и Yg - это координаты точки в данной системе отсчета. Переносим начало координат в центр экрана и разворачиваем ось Y. X1 := Xg - 320; Теперь у нас X1 и Y1 это координаты той же точки, но в декартовых координатах с началом отсчета в центре экрана. То есть, если экранные координаты мышонка Xm и Ym, то чтобы получить угол прицела на данную мышь, надо делать так: Ugol := Angle(Xm-320.0, 240.0-Ym); По-моему, так! |
pashist Оптимизация алгоритма 20.07.2006 0:27
klem4 Видимо не верно ты ридкей юзать пытаешься ... Дела… 20.07.2006 1:15
pashist Это выход, но все равно скорости работы явно не хв… 21.07.2006 1:19
Бродяжник Вот это
PutPixel(xT,yT,0);
ЗЛО.
Злое злостное зло.… 21.07.2006 13:58
Гость Пишу именно лабораторку.. 21.07.2006 15:49
pashist Всем доброе время суток. Переписал алгоритм, испол… 24.07.2006 4:48
Бродяжник 2) Так, наверное, и сделать - сравнить углы. Нужно… 24.07.2006 13:20
pashist Mouse.dat-файл, содержащий матрицу 18х18=) Вот ген… 24.07.2006 13:32
Бродяжник Ну так вот:
в этом цикле
For i:=1 To n Do
Be… 24.07.2006 14:43
pashist Поменяй в этом цикле
For i:=1 To n Do
… 24.07.2006 15:41
volvo Правильно... у тебя индексы-то по-прежнему перепут… 24.07.2006 15:47
Бродяжник Тем более, что матрица-то квадратная, 18х18, так ч… 24.07.2006 15:57
pashist Спасибо! :) А как заюзать функу angle? Как пом… 24.07.2006 16:37
pashist Опять косяк.. :( Я неправильно использую функу Ang… 24.07.2006 18:25
Бродяжник Отвечу завтра. Единственное замечание - стоит ли с… 24.07.2006 20:02
pashist Я так и хотел сделать, но сначала я хотел разобрат… 24.07.2006 20:22
Бродяжник Простой корявый пример, иллюстрирущий идею. 25.07.2006 15:23
pashist Круто! Бродяжник, спасибо! Вот, что пример… 25.07.2006 17:33
pashist Мужики, зацените мой первый опыт в ООП =) Переписа… 25.07.2006 23:15
pashist Переписываю мышь в ООП =) Написал с использованием… 31.07.2006 0:53
volvo Переписываю мышь в ООП =) Написал с использованием… 31.07.2006 1:54
pashist volvo, спасибо большое! Ты очень мне помог :) 31.07.2006 3:17![]() ![]() |
|
Текстовая версия | 7.11.2025 5:39 |