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

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

Закрытая тема
 
Crystal

offline
Опыт: 3,613
Активность:
Зависающий плавающий текст
Я сделал спел (на GUI) когда герой атакует накапливается ярость и количество набраной ярости отоброжается плавающим текстом над героем (вроде все нормально плавающий текст удаляется, но если резко прервать атаку героя то плавающий текст зависает и не удаляется) как исправить?
Старый 28.02.2010, 23:44
Helpmeplz

offline
Опыт: 11,698
Активность:
код выложи
Старый 01.03.2010, 00:07
bee
vjass.optimizer
offline
Опыт: 16,615
Активность:
У тебя есть триггер, в котором при начале атаки создается плавающий текст, потом он сохраняется в переменную, и там используются waitы. Причина: при прирывании атаки (стоп), герой заново атакует и событие срабатывает, и переменная перезаписывается. А когда проходит время и текст нужно удалять, ссылка на него потерена, т.к. в переменной находится уже другой текст, а в переменной (не в массивной) может находиться только одно значение. Решение: или выключать триггер вначале а потом включать, или использовать локальные переменные. Либо самый геморойный выход - использовать массивы.
Старый 01.03.2010, 04:23
Crystal

offline
Опыт: 3,613
Активность:
Bee, Спасибо! занес текст в локалку и все больше независает
Старый 01.03.2010, 09:41
Helpmeplz

offline
Опыт: 11,698
Активность:
о боже!
какие локальные переменные
какие вейты
весь текст умещается в 4 действия, которые могут использоваться одновременно хоть миллион раз:
1.Создать текст
2.Убрать перманентность
3.Изменить скорость и угол
4.Поставить время полета текста (После которого он сам удалится)

и никакие локальные переменные, никакие вейты, таймеры и прочее не нужны.
Старый 01.03.2010, 13:45
bee
vjass.optimizer
offline
Опыт: 16,615
Активность:
весь текст умещается в 4 действия
в 5*
могут использоваться одновременно хоть миллион раз:
соврал. существует ограничение на кол-во тексттагов на карте.

Старый 01.03.2010, 14:27
XOR

offline
Опыт: 38,284
Активность:
Которое жертвуя обходил андреич.
Старый 01.03.2010, 14:33
Bashmak

offline
Опыт: 377
Активность:
Дабы не делать новый топик, я решил написать здесь. У меня зависает плавающий текст даже с локальными переменными. Код прилагается:
function actionsDamage takes nothing returns nothing
    local unit u = GetAttackedUnitBJ ()
    local real damage = GetEventDamage ()
    local texttag tt = null
    if ((udg_b_DamageFloatingText == true) and (damage >= 1.)) then
        call CreateTextTagUnitBJ (I2S (R2I (damage)), u, 0, 9., 100., 100., 100., 0.)
        //Здесь извиняюсь - пробовал с глобальными
        set tt = GetLastCreatedTextTag ()
        call SetTextTagFadepointBJ (tt, 0.1)
        call SetTextTagLifespanBJ (tt, 1.0)
        call SetTextTagVelocityBJ (tt, 64, 90)
        call SetTextTagPermanentBJ (tt, false)
        call PolledWait (1.)
        call DestroyTextTag (tt)
    endif
    set u = null
    set tt = null
endfunction
В общем, проблема такова - допустим, у меня воюют 2 юнита. Они, значицца, делают по удару друг другу, плавающий текст создается, пропадает, они снова ударяют, но (!) плавающий текст начинает "лагать" - исчезать в разное время, а не через секунду после создания.
Старый 05.11.2013, 13:08
Tobi123

offline
Опыт: 7,826
Активность:
перманентность нужно убирать до фейдпойнта и лайфспана. Да и вообще зачем вейт и дестрой.
Старый 05.11.2013, 13:15
Bashmak

offline
Опыт: 377
Активность:
Чтоб утечек не было. Не думаю, что это из-за пернаментности
Старый 05.11.2013, 13:21
Hate
конь вакуумный
offline
Опыт: 43,117
Активность:
выб сначала почитали что такое утечки и что вообще может утекать прежде чем заниматься этим
Старый 05.11.2013, 13:39
Bashmak

offline
Опыт: 377
Активность:
Не понял. Хочешь сказать что плавающий текст утечек не вызывает?

Отредактировано ExSinner, 05.11.2013 в 13:52.
Старый 05.11.2013, 13:47
DioD

offline
Опыт: 45,184
Активность:
тема 2010 года же, создавайте новую.
Старый 05.11.2013, 14:00
Закрытая тема

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

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

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

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



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