|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.12.2015, 02:16 | #1 |
Форумчанин
Регистрация: 30.06.2012
Сообщений: 145
|
Как узнать угол для движения обьекта по координатам мышки
Добрый день, Уважаемые эксперты. Возникла необходимость создать игру, наподобие agar.io. Задача игры состоит в том. Что у нас есть круг (шар). Мы ним удолжны управлять в пространстве мышкой. В зависимости от тго где стоит мышь относительно шара, туда шар и движется. Я пробовал сделать чтобы шар просто сдвигался по координатам икс и игрек пока не достигнет координат мыши. Но в таком случае шар может двигаться только по вертикали, горизонтали или диагоналям.
А мне нужно чтобы шар двигался именно по траэктории с наклоном на любой угол. Проблема в общем-то и заключается в том как найти угол наклона для движения? Последнее к чему я пришел было следующим: Код:
Ball.X, Ball.Y - координаты шара MX, MY - это скроллинг карты (на него можно не обращать внимание). Помогите советом, как найти угол? Или как по другому может можно реализовать подобное управление? Заранее спасибо всем откливнушимся. Последний раз редактировалось Stilet; 04.12.2015 в 09:50. |
04.12.2015, 03:20 | #2 | |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,499
|
Цитата:
PS : Height, Width - высота и ширина формы Form1. Тоже целые. |
|
04.12.2015, 09:43 | #3 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
пройти из т. (x0,y0) в т.(x1,y1) по диагонали за N шагов.
положение на шаге k (x,y) при k<N Код:
число шагов (время) требуемое для прохождения пути (расстояние между двумя точками) с заданной скоростью L (расстояние проходимое за один шаг). Код:
программа — запись алгоритма на языке понятном транслятору
|
04.12.2015, 21:34 | #4 | |
Форумчанин
Регистрация: 30.06.2012
Сообщений: 145
|
Не совсем разобрался как это реализовать в моем случае. Я попробовал подствить свои координаты, но у меня шар движется только после движения мыши. А мне нужно чтобы шар двигался постоянно. Под ним только карта смещаться должна и шар не должен доходить до мышки - он постоянно должен гнаться за ней. Догнать мышку он может только по краям игровой карты (когда карта уже не прокручивается по какой-то из оси коодинат - достигнут ее край)
В таймере код у меня получился такой: Цитата:
Заготовка для игры Последний раз редактировалось Armageddets; 04.12.2015 в 22:02. |
|
05.12.2015, 00:47 | #5 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Виталий Armageddets, я гляжу предусмотрительно запоролили архив, чтобы посекурнее было ))
Вообще, стоит прочитать и понять статью http://habrahabr.ru/post/131931/ да и научиться уже получше код писать, даже если это тестовый проект, почему области все жёсткие (меджики) и привязаны к форм1 ? Где декомпозиция ? |
05.12.2015, 16:48 | #6 |
Форумчанин
Регистрация: 30.06.2012
Сообщений: 145
|
Ой извиняюсь. Пароль 1. Просто без пароля на архив фалообменик считал мою программу вирусов из за екзе файла. Уровень программирования у меня не высок в плане классов, декомпозиций и так далее. Все стараюсь по простому делать.
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Движение обьекта на заданный угол | Armageddets | Общие вопросы Delphi | 5 | 16.06.2014 18:34 |
как узнать позицию мышки | SERG1980 | Мультимедиа в Delphi | 3 | 03.12.2012 15:15 |
Создание иммитации движения обьекта | grebljmax | Фриланс | 5 | 10.01.2011 00:25 |
Поворот обьекта на угол | Lemo | Помощь студентам | 4 | 06.04.2009 19:46 |
Скорость движения обьекта | shepelin | Общие вопросы Delphi | 9 | 23.01.2008 11:51 |