XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > StarCraft (только чтение)> Галактическая академия
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

 
Doc

offline
Опыт: 63,163
Активность:
[Galaxy] Ошибка в коде =/
unit[1000] Pylon;

void InitCircle(int count, fixed dist){
    int i = 1;
    fixed ang;
    point p;
        while (i < count) {
        ang = 360. / count * i;
        p = PointWithOffsetPolar(RegionGetCenter(RegionPlayableMap()), dist, ang);
        UnitCreate(1, "Pylon", 1, 0, p, 0);
        Pylon[i] = UnitLastCreated();
        i = i + 1;
    }
    
}
Что здесь не так? Пилоны упорно создаются в одной точке.
Старый 16.08.2010, 13:55
Arty3ooo
...
offline
Опыт: 3,125
Активность:
Дистанцию проверь...
ang = 360. / count * i; что за отцовкий способ...
ang += .5 не пойдет?
Старый 16.08.2010, 14:42
HGL
Phased out.
offline
Опыт: 25,976
Активность:
Arty3ooo, там же от количества зависит
Doc, вообще я не знаю как ты домножаешь дробь на целое без конвертирования, но вот это у меня вроде работает
void test(int count, fixed dist){
    point pt;
    int i;
    fixed ang;
    pt = null;
    ang = 0.0;
    i = 1;
        while (i < count) {
        ang = (360.0 / IntToFixed(count)) * IntToFixed(i);
        pt = PointWithOffsetPolar(RegionGetCenter(RegionPlayableMap()), dist, ang);
        UnitCreate(1, "Pylon", 1, 0, pt, 0);
        i = i + 1;
    }
}
Старый 16.08.2010, 15:03
Doc

offline
Опыт: 63,163
Активность:
HGL, у меня нет =(
вызываю так:
InitCircle(12, 5.);
Старый 16.08.2010, 15:14
HGL
Phased out.
offline
Опыт: 25,976
Активность:
а тебе нее кажется что 12 пилонов это многовато для расстояния 5?)
естественно, лишние пилоны запиливаются в центр
HGL добавил:
о правда там лёгкий фейл, i всё-таки должно быть в начале равно 0 а не 1
HGL добавил:
а стоп лол
короче надо писать 5.0 с нулём. без нуля они идут в центр)
Старый 16.08.2010, 15:23
Doc

offline
Опыт: 63,163
Активность:
а тебе нее кажется что 12 пилонов это многовато для расстояния 5?)
неа, норм =)
короче надо писать 5.0 с нулём. без нуля они идут в центр)
спасибо большое помогло. Я же говорил что идиотский едитор.
домножаешь дробь на целое без конвертирования
хз в варе работало норм.
Старый 16.08.2010, 15:37
HGL
Phased out.
offline
Опыт: 25,976
Активность:
хз в варе работало норм.
просто у меня вообще ошибку компиляции выдаёт о_О
Старый 16.08.2010, 15:41
Doc

offline
Опыт: 63,163
Активность:
Оу нет, у меня все нормально. Впрочем теперь и мой код работает, когда заменил рассчет угла на твой.
Самый фйэл близзов в том, что UnitCreate возвращает не unit а unitgroup. Ужас.
Старый 16.08.2010, 15:42
HGL
Phased out.
offline
Опыт: 25,976
Активность:
Самый фйэл близзов в том, что UnitCreate возвращает не unit а unitgroup. Ужас.
unitcreate - универсальная и базовая функция, которая способна создавать сколько угодно юнитов. кагбе первый параметр count. ты хочешь самоизменяющийся тип функции чтоле?)
Старый 16.08.2010, 15:49
Doc

offline
Опыт: 63,163
Активность:
Нет я хотел просто функцию создания одиночного юнита, возвращающую юнит.
Старый 16.08.2010, 16:07
silumin

offline
Опыт: 11,153
Активность:
Doc,
Код:
native          CreateUnit              takes player id, integer unitid, real x, real y, real face returns unit
native          CreateUnitAtLoc         takes player id, integer unitid, location whichLocation, real face returns unit
Старый 16.08.2010, 17:12
XOR

offline
Опыт: 38,284
Активность:
есть же галактическая академия, не позорьтесь. Перенес
Старый 16.08.2010, 17:21
Doc

offline
Опыт: 63,163
Активность:
silumin, ух ты, а это точно есть в ск2? Почитал бы хоть тему.
XimikS, просто я не думаю что кто-то из кодеров сюда заглядывает, я был почти уверен что у меня банальная недоделка в коде.
Тему то можно прикрыть, вот.
Старый 16.08.2010, 18:09

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 03:35.