В общем создал триггер преобразование числа в строку. Персонаж атакует и за каждую атаку или убийства ему начисляется очко.Когда очков становится достаточно он превращается в более сильного монстра,а когда перестает атаковать - затухает и очки постепенно теряются.Все работает,но не могу не спросить.
Я так и не освоил таймер и поэтому каждую секунду на экране появляется сообщение о текущем состоянии очков, вызывает ли подобный способ утечки, так как на героя были жалобы .

Принятый ответ

Похожие вопросы:

ответ
Какой ужас
Делай вот так.
бронепоезд
создать.
направить на 128 точек наверх(90)
сделать неперманентным
текст удалится через 3 секунды
текст затухнет до 100% прозрачности через 3 секунды
Вот чёрт. не успел приплюснуть к посту.
ответ
Переменная "точка" это не просто два числа.
Она хранит объект - ссылку на место в памяти, где хранятся эти два числа.
Пока ты не вызовешь RemoveLocation, эта точка будет висеть в памяти.
Когда ты присваиваешь переменной новое значение, старый объект не удален, но появляется новый объект с другими координатами, и твой триггер создает 200 точек в секунду.
Чтобы поменять координаты не создавая новый объект, есть функция MoveLocation
ответ
Впервой вижу, чтоб так издевались над плавающем текстом...
Как пишет г-н Maniac_91, нет нужды в сохранении texttag, ибо при строчке
call SetTextTagLifespanBJ( GetLastCreatedTextTag(), 0.50 )
или (вариант получше)
call SetTextTagLifespan(GetLastCreatedTextTag(), 0.50)
Ваш texttag, как умненький мальчик, сам уберется, когда он сделал своё дело ;)
Правда есть один нюанс... Если Вы добавили строчку
call SetTextTagPermanent(GetLastCreatedTextTag(),true)
то этот мальчик будет стоять подле Вас до конца сабантуя и ждать команды на уничтожение ;)
ответ
Alexey103:
PT153, Вау, а я не знал. Этот вопрос был создан как раз для того чтоб найти способ избежать утечек из-за добавления события, а не для того чтоб вы писали очевидные вещи. Но пока, альтернативы ни на гуи ни на джасс никто не предоставил.
дык заноси их в группу, если юнит уже в группе то не добавляешь событие
ответ
хз что у вас за такие невероятные трудности
function TextUp takes string s, unit u, real size, integer r, integer g, integer b returns nothing
        local real x1 = 0.0355 * Cos(90. * bj_DEGTORAD)
        local real y1 = 0.0355 * Sin(90. * bj_DEGTORAD)
            set bj_lastCreatedTextTag = CreateTextTag()
            call SetTextTagText(bj_lastCreatedTextTag, s, (size * 0.023) / 10)
            call SetTextTagPosUnit(bj_lastCreatedTextTag, u, 7)
            call SetTextTagColor(bj_lastCreatedTextTag, r, g, b, 0)
            call SetTextTagVelocity(bj_lastCreatedTextTag, x1, y1)
            call SetTextTagPermanent(bj_lastCreatedTextTag, false)
            call SetTextTagLifespan(bj_lastCreatedTextTag, 2.5)
            call SetTextTagFadepoint(bj_lastCreatedTextTag, 0)
    endfunction

`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
6 лет назад
0
Похожие вопросы:

ответ
Какой ужас
Делай вот так.
бронепоезд
создать.
направить на 128 точек наверх(90)
сделать неперманентным
текст удалится через 3 секунды
текст затухнет до 100% прозрачности через 3 секунды
Вот чёрт. не успел приплюснуть к посту.
ответ
Переменная "точка" это не просто два числа.
Она хранит объект - ссылку на место в памяти, где хранятся эти два числа.
Пока ты не вызовешь RemoveLocation, эта точка будет висеть в памяти.
Когда ты присваиваешь переменной новое значение, старый объект не удален, но появляется новый объект с другими координатами, и твой триггер создает 200 точек в секунду.
Чтобы поменять координаты не создавая новый объект, есть функция MoveLocation
ответ
Впервой вижу, чтоб так издевались над плавающем текстом...
Как пишет г-н Maniac_91, нет нужды в сохранении texttag, ибо при строчке
call SetTextTagLifespanBJ( GetLastCreatedTextTag(), 0.50 )
или (вариант получше)
call SetTextTagLifespan(GetLastCreatedTextTag(), 0.50)
Ваш texttag, как умненький мальчик, сам уберется, когда он сделал своё дело ;)
Правда есть один нюанс... Если Вы добавили строчку
call SetTextTagPermanent(GetLastCreatedTextTag(),true)
то этот мальчик будет стоять подле Вас до конца сабантуя и ждать команды на уничтожение ;)
ответ
Alexey103:
PT153, Вау, а я не знал. Этот вопрос был создан как раз для того чтоб найти способ избежать утечек из-за добавления события, а не для того чтоб вы писали очевидные вещи. Но пока, альтернативы ни на гуи ни на джасс никто не предоставил.
дык заноси их в группу, если юнит уже в группе то не добавляешь событие
ответ
хз что у вас за такие невероятные трудности
function TextUp takes string s, unit u, real size, integer r, integer g, integer b returns nothing
        local real x1 = 0.0355 * Cos(90. * bj_DEGTORAD)
        local real y1 = 0.0355 * Sin(90. * bj_DEGTORAD)
            set bj_lastCreatedTextTag = CreateTextTag()
            call SetTextTagText(bj_lastCreatedTextTag, s, (size * 0.023) / 10)
            call SetTextTagPosUnit(bj_lastCreatedTextTag, u, 7)
            call SetTextTagColor(bj_lastCreatedTextTag, r, g, b, 0)
            call SetTextTagVelocity(bj_lastCreatedTextTag, x1, y1)
            call SetTextTagPermanent(bj_lastCreatedTextTag, false)
            call SetTextTagLifespan(bj_lastCreatedTextTag, 2.5)
            call SetTextTagFadepoint(bj_lastCreatedTextTag, 0)
    endfunction

Принятый ответ
0
7
6 лет назад
0
Покажите лучше сам триггер, тогда станет яснее что у вас не так.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.