Щелчком мыши
|
|
LaZZZeR | Date: Воскресенье, 13.05.2007, 14:42 | Message # 1 |
Рядовой
Группа: Пользователи
Сообщений: 44
Статус: Offline
| Как сделать чтобы когда щелкаешь в определенное место картинка(персонаж) туда двигалась???
|
|
| |
JohnK | Date: Воскресенье, 13.05.2007, 15:16 | Message # 2 |
EA FAN
Группа: Администраторы
Сообщений: 408
Статус: Offline
| Лучше будет создать тип player.Потом при условии: if mousehit(1) (а лучше Mousedown(1)) присваивать координаты мыши, координатам игрока. Player.X = MouseX() Player.Y = MouseY()
|
|
| |
LaZZZeR | Date: Понедельник, 14.05.2007, 12:53 | Message # 3 |
Рядовой
Группа: Пользователи
Сообщений: 44
Статус: Offline
| Спасибки! Ку! Позже: Мож я задолбал вопросами, но как сделать чтобы он передвигался плавно?
Сообщение отредактировал LaZZZeR - Понедельник, 14.05.2007, 12:53 |
|
| |
JohnK | Date: Понедельник, 14.05.2007, 12:59 | Message # 4 |
EA FAN
Группа: Администраторы
Сообщений: 408
Статус: Offline
| Тебе просто нужно умножать на коэффициент плавности.
|
|
| |
LaZZZeR | Date: Понедельник, 14.05.2007, 17:38 | Message # 5 |
Рядовой
Группа: Пользователи
Сообщений: 44
Статус: Offline
| Как сделать, чёто я не вкурил
|
|
| |
JohnK | Date: Понедельник, 14.05.2007, 18:36 | Message # 6 |
EA FAN
Группа: Администраторы
Сообщений: 408
Статус: Offline
| Как ты передвигаешь? Код в студию!
|
|
| |
LaZZZeR | Date: Понедельник, 14.05.2007, 19:26 | Message # 7 |
Рядовой
Группа: Пользователи
Сообщений: 44
Статус: Offline
| Если что ногами не бить тока начал бмакс изучать : If MouseDown(1) Player1.X=MouseX(); Player1.Y = MouseY()
|
|
| |
JohnK | Date: Вторник, 15.05.2007, 03:07 | Message # 8 |
EA FAN
Группа: Администраторы
Сообщений: 408
Статус: Offline
| Тут нет передвижения как такового
|
|
| |
LaZZZeR | Date: Вторник, 15.05.2007, 14:04 | Message # 9 |
Рядовой
Группа: Пользователи
Сообщений: 44
Статус: Offline
| Ну а как его сделать?!
|
|
| |
JohnK | Date: Вторник, 15.05.2007, 15:16 | Message # 10 |
EA FAN
Группа: Администраторы
Сообщений: 408
Статус: Offline
| Вот этот туториал поможет тебе выйти из шокового состояния
|
|
| |
LaZZZeR | Date: Вторник, 15.05.2007, 15:21 | Message # 11 |
Рядовой
Группа: Пользователи
Сообщений: 44
Статус: Offline
| Смотрел я это, мне надо чтобы он передвигался по щелчку МЫШИ!
|
|
| |
JohnK | Date: Вторник, 15.05.2007, 15:27 | Message # 12 |
EA FAN
Группа: Администраторы
Сообщений: 408
Статус: Offline
| А что? Делаешь тип с полями х,у. Далее, при щелчке мыши присваиваешь этим полям значения мыши. Потом как в туториале прибавляешь XSpd и Yspd. А что бы вычислить поворот, используй ATan2. Для сглаженного поворота Quote | Тебе просто нужно умножать на коэффициент плавности. | Тобишь, ATan2(что-те нужно)*0.001. Все
|
|
| |
MoKa | Date: Четверг, 17.05.2007, 03:00 | Message # 13 |
Рядовой
Группа: Проверенные
Сообщений: 26
Статус: Offline
| Вот моя версия, она отличается тем что при зажатии, если далеко находиться, то начинает резко двигаться, и затем при приближении медленее. Значит есть координаты игрока: PlrX# PlrY# Далее есть координаты точки: TrgX# TrgY# Затем при нажатии на мышь точка цели меняется: If MouseDown(1) TrgX=MouseX() TrgY=MouseY() EndIf И далее в цикле тоже: PlrX=PlrX+((TrgX-PlrX)*.01) PlrY=PlrY+((TrgY-PlrY)*.01) И отрисовываешь картинку игрока в точках PlrX,PlrY. Вот и всё =)
Extreme Coding
|
|
| |
JohnK | Date: Пятница, 15.06.2007, 18:41 | Message # 14 |
EA FAN
Группа: Администраторы
Сообщений: 408
Статус: Offline
| Этот способ прост, но не надежен т.к. чем больше расстояние до цели, тем больше начальная скорость.
Сообщение отредактировал JohnK - Пятница, 15.06.2007, 18:42 |
|
| |
dimanche13 | Date: Понедельник, 16.07.2007, 17:43 | Message # 15 |
Рядовой
Группа: Пользователи
Сообщений: 16
Статус: Offline
| http://blitzetc.boolean.name/code_lib/2DClicknMove.bb посмотри здесь - это как раз то ,что тебе нужно только под Блитз3Д, переделать под БлитзМакс нетрудно...
|
|
| |