Не получается сделать радар
|
|
миха | Дата: Понедельник, 05 Сентября 2011, 15:47 | Сообщение # 1 |
почти ветеран
Сейчас нет на сайте
| В общем это код отрисовки врага на радаре. obj_papa_zlyh - родитель всех врагов. spr_enemy_R - спрайт врага на радаре obj_radar_spr - Объект - картинка радара. И в общем он по идее должен отрисовывать врагов на радаре, но рисует их около игрока ;(.
Quote if instance_exists(obj_papa_zlyh) {for (i=0; i<=instance_number(obj_papa_zlyh); i+=1) {endraw=instance_find(obj_papa_zlyh,i) if endraw!=noone draw_sprite(spr_enemy_R,0,obj_radar_spr.x+(obj_hero.x-endraw.x/10),obj_radar_spr.y+(obj_hero.y-endraw.y/10))}}
|
|
| |
Лер_да_Рим | Дата: Понедельник, 05 Сентября 2011, 17:05 | Сообщение # 2 |
заслуженный участник
Сейчас нет на сайте
| endraw - это же переменная? Переменные не имеют координат.
Дамы и господа, я представляю вам человека, которому н-а-с-р-а-т-ь! (с) Доктор Кокс.
|
|
| |
миха | Дата: Понедельник, 05 Сентября 2011, 19:13 | Сообщение # 3 |
почти ветеран
Сейчас нет на сайте
| Лер_да_Рим, Quote endraw=instance_find(obj_papa_zlyh,i)
|
|
| |
SalahAdDin | Дата: Понедельник, 05 Сентября 2011, 20:08 | Сообщение # 4 |
постоянный участник
Сейчас нет на сайте
| Quote (миха) obj_radar_spr.x+(obj_hero.x-endraw.x/10) Человек который писал этот код наверное не задумывался как он будет работать не в конкретно его случае, но во всех других. Как и человек копипастивший код в свою игру не задумывался над тем, как этот код работает. Quote (миха) draw_sprite(spr_enemy_R,0,obj_radar_spr.x+(obj_hero.x-endraw.x/10),obj_radar_spr.y+(obj_hero.y-endraw.y/10))}} Функция выполняется вне цикла, следовательно в цикле нет смысла, так как завершается он одним и тем же значением каждый шаг.
Фотошоп это не сложно. Немного теории, полезной на практике: Работа с наложением текстур Рисуем без планшета
Сообщение отредактировал SalahAdDin - Понедельник, 05 Сентября 2011, 20:18 |
|
| |
миха | Дата: Вторник, 06 Сентября 2011, 14:34 | Сообщение # 5 |
почти ветеран
Сейчас нет на сайте
| SalahAdDin, код мой личный. Вот формула: x(серединняя точка) радара+(х героя-х врага/число во сколько раз меньше). Что неправильно, объясните толком.
|
|
| |
SalahAdDin | Дата: Вторник, 06 Сентября 2011, 20:32 | Сообщение # 6 |
постоянный участник
Сейчас нет на сайте
| Рассмотрим пример когда obj_radar_spr находится в позиции 15, obj_hero в позиции 20, а endraw в позиции 30.
По формуле obj_radar_spr.x+(obj_hero.x-endraw.x/10) 15+((20-30)/10)=14 Позиция 14 находится левее от центра радара, в то время как позиция 30 (враг) находится правее позиции 20 (герой). Формула не работает, что тут обьяснять?
Фотошоп это не сложно. Немного теории, полезной на практике: Работа с наложением текстур Рисуем без планшета
|
|
| |
FenMix | Дата: Вторник, 06 Сентября 2011, 20:49 | Сообщение # 7 |
Независимый игровой журналист
Сейчас нет на сайте
| Quote (Лер_да_Рим) endraw - это же переменная? Переменные не имеют координат.
Имеют. Переменной можно присваивать определенное значение, в данном случае координату с какого-то объекта и мгновенно передавать это радару, радар собственно уже показывает графическую таблицу. А лучше использовать сохранение координат Х и У в массиве.
|
|
| |
Лер_да_Рим | Дата: Вторник, 06 Сентября 2011, 22:18 | Сообщение # 8 |
заслуженный участник
Сейчас нет на сайте
| FenMix, но по сути переменные не имею координат. Я всё же прав. Ты перечислил возможности их присвоения.
SalahAdDin, ты ошибся. Не 15+((20-30)/10), а 15+(20-30/10), что будет равняться 32-ум.
Дамы и господа, я представляю вам человека, которому н-а-с-р-а-т-ь! (с) Доктор Кокс.
|
|
| |
SalahAdDin | Дата: Вторник, 06 Сентября 2011, 22:49 | Сообщение # 9 |
постоянный участник
Сейчас нет на сайте
| Quote (Лер_да_Рим) SalahAdDin, ты ошибся. Не 15+((20-30)/10), а 15+(20-30/10), что будет равняться 32-ум. Да немножко ошибся в расчетах 17 пикселей до радара выходит, а при десятикратном уменьшении это должно быть координатой 170 пикселя. То есть масштабирования в 10 раз все равно не происходит. Разве только переписать формулу вот так obj_radar_spr.x+((endraw.x-obj_hero.x)/10)
Фотошоп это не сложно. Немного теории, полезной на практике: Работа с наложением текстур Рисуем без планшета
|
|
| |
миха | Дата: Среда, 07 Сентября 2011, 11:14 | Сообщение # 10 |
почти ветеран
Сейчас нет на сайте
| В общем нифига не выйдет
|
|
| |
LunarPixel | Дата: Среда, 07 Сентября 2011, 16:38 | Сообщение # 11 |
старожил
Сейчас нет на сайте
| Вот, посмотри примерчик: http://zalil.ru/31662137 Пойдет такой радар?!
|
|
| |
SalahAdDin | Дата: Среда, 07 Сентября 2011, 19:10 | Сообщение # 12 |
постоянный участник
Сейчас нет на сайте
| Quote (миха) В общем нифига не выйдет Ты внимательно читал? Это не работает - obj_radar_spr.x+((endraw.x-obj_hero.x)/10)?
Фотошоп это не сложно. Немного теории, полезной на практике: Работа с наложением текстур Рисуем без планшета
|
|
| |
миха | Дата: Четверг, 08 Сентября 2011, 12:59 | Сообщение # 13 |
почти ветеран
Сейчас нет на сайте
| LunarPixel, СПАСИБО ОГРОМНОЕ!!!
|
|
| |
Лер_да_Рим | Дата: Четверг, 08 Сентября 2011, 14:10 | Сообщение # 14 |
заслуженный участник
Сейчас нет на сайте
| LunarPixel, а он сам не мог сделать этого? Зайти на мизистик, допустим, на хеллрум... и найти там десятки, если не сотни, примеров. Поражаюсь я современной беззаботности нубов и очевидным неумением делать что-то самому.
Дамы и господа, я представляю вам человека, которому н-а-с-р-а-т-ь! (с) Доктор Кокс.
|
|
| |