Сейчас 19:22:48 Суббота, 20 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Раздел картостроителя » [Наработка]Движение по окружности
[Наработка]Движение по окружности
Ty3uKДата: Воскресенье, 09 Октября 2011, 19:44:04 | Сообщение # 1
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Доброго всем времени суток. Я решил сделать наработку, наглядно показывающую движение по окружности. Данная наработка выполнена на жасс с использованием хэш таблицы и таймера. Ее суть очень проста и понятна, она легко модифицируется, плюс безутечна. Для гуишников хочу лишний раз сказать, что надо переходить на жасс- выполнение таких вещей там намного проще и лучше. Вообщем, enjoy!
Скачать наработку | .j файл для шарящих


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

oleg_best_olegДата: Воскресенье, 09 Октября 2011, 20:25:04 | Сообщение # 2
Группа: Заблокированные
Сообщений: 1726
Награды: 0
Репутация: 654
Блокировки:
Как я понял файл.j это "файл-кусочек карты", отвечающий за триггер, сам импорт триггера?
 

Ty3uKДата: Воскресенье, 09 Октября 2011, 20:26:45 | Сообщение # 3
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Нет, это файл жасс-кода

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

[san9]Дата: Воскресенье, 09 Октября 2011, 20:55:57 | Сообщение # 4
10 уровень
Группа: Проверенные
Сообщений: 1500
Награды: 1
Репутация: 286
Блокировки:
jass пост го

 

Ty3uKДата: Воскресенье, 09 Октября 2011, 20:57:27 | Сообщение # 5
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Что? В пост жасс код? Я с телефона

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

TitansДата: Воскресенье, 09 Октября 2011, 21:45:07 | Сообщение # 6
6 уровень
Группа: Проверенные
Сообщений: 167
Награды: 0
Репутация: 77
Блокировки:
Таймер на меньший периуд поствь.(У кого слабый проц лагать жёско будет)
 

Ty3uKДата: Воскресенье, 09 Октября 2011, 21:46:26 | Сообщение # 7
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Ну если кому надо будет- поставят. Одно число изменить

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

lawsonДата: Воскресенье, 09 Октября 2011, 22:18:00 | Сообщение # 8
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Ty3uK, Да ты что с ума сошел такой период, 0.1 полностью хватает! У тебя триггер сам себя прочитать не успеет если будет еще нагрузка с левых триггеров на карте!

Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Воскресенье, 09 Октября 2011, 22:18:16
 

Ty3uKДата: Воскресенье, 09 Октября 2011, 22:21:42 | Сообщение # 9
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Ну, тут уж мб виноват :) на моей слабенькой аппаратной видюшке чуток тормозило. Кто хочет- может побаловаться с периодом и градусным смещением :)

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

wetalqДата: Воскресенье, 09 Октября 2011, 22:22:40 | Сообщение # 10
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
ну как бы из одной статьи от DUOS'а была написана фраза "разница между 0.01 и 0.04 не заметна для человеческого глаза" но нагрузка на карту (компьютер) уменьшается во много рас, лучше все таки использовать 0.04
 

lawsonДата: Воскресенье, 09 Октября 2011, 22:22:55 | Сообщение # 11
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Если уж такой малый период то поставь хоть вот так.

function Trig_Wisp_Move_Timer takes nothing returns nothing
local timer t = GetExpiredTimer()
call TimerStart(t, 0.05, false, function Trig_Wisp_Move_Timer)

endfunction

function Trig_Wisp_Move_Actions takes nothing returns nothing
local timer t = CreateTimer()
call TimerStart(t, 0.05, false, function Trig_Wisp_Move_Timer)
endfunction


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Воскресенье, 09 Октября 2011, 22:25:46
 

Ty3uKДата: Воскресенье, 09 Октября 2011, 22:27:26 | Сообщение # 12
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Сейчас уже лень делать. Мб завтра поправлю. Или кто захочет- сам у себя и поправит. Я делал упор на само движение и безутечность. Плюс муи получилось. А с периодом да, накосячил

Добавлено (09 Октябрь 2011, 22:27:26)
---------------------------------------------
Просто при поградусном смещении меньший период замедляет движение, а иногда делает его рывками


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

lawsonДата: Воскресенье, 09 Октября 2011, 22:28:14 | Сообщение # 13
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Ty3uK, Если честно то наработка бестолковая: если кому и надо движение сделать по кругу то вот ОНО
x = GetWidgetX(caster) + 300. * Cos(r * bj_DEGTORAD)
y = GetWidgetY(caster) + 300. * Sin(r * bj_DEGTORAD)
это все что потребуется для реализации данной системы и все дальше уже само собой таймер, если надо сохранение через хеш или глобалки.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Воскресенье, 09 Октября 2011, 22:29:19
 

Ty3uKДата: Воскресенье, 09 Октября 2011, 22:30:47 | Сообщение # 14
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Ммм... Неужели я сделал что-то по-другому? Добавил эффект и муи, сделав на таймере. Все. Дальше уже можно прикрутить и нанесение урона при столкновении и много других плюшек-пряников. А основа системы- вот

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

lawsonДата: Воскресенье, 09 Октября 2011, 22:32:07 | Сообщение # 15
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (Ty3uK)
А основа системы- вот

Quote (lawson)
x = GetWidgetX(caster) + 300. * Cos(r * bj_DEGTORAD) y = GetWidgetY(caster) + 300. * Sin(r * bj_DEGTORAD)

а я тебе про что!!!
Все остальное зависит от автора как и что он захочет сделать с системой.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Воскресенье, 09 Октября 2011, 22:32:26
 

Ty3uKДата: Воскресенье, 09 Октября 2011, 22:35:17 | Сообщение # 16
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Ну ладно тебе, чего ругаешься? Тут уже готовый каркас с эффектом для наглядности. Все :) плюшек-то нет ^_^

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

lawsonДата: Воскресенье, 09 Октября 2011, 22:37:04 | Сообщение # 17
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Ty3uK, Это врятли наработкой можно назвать. Так, какой-то полезный код, который уже выкладывал дуос в разделе гуи жасс.

Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

Ty3uKДата: Воскресенье, 09 Октября 2011, 22:37:36 | Сообщение # 18
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Увы не видел, приношу извинения

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

lawsonДата: Воскресенье, 09 Октября 2011, 22:39:23 | Сообщение # 19
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (Ty3uK)
Увы не видел, приношу извинения

Пошарься в теме Полезные функции много че нового и полезного узнаешь. Это можно считать библиотекой наработок в ввиде кода.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Воскресенье, 09 Октября 2011, 22:42:44
 

Ty3uKДата: Воскресенье, 09 Октября 2011, 22:43:37 | Сообщение # 20
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Я лазил там, правда давно. Наверное поэтому и не видел

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

FkoFFДата: Пятница, 14 Октября 2011, 16:16:55 | Сообщение # 21
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (lawson)
function Trig_Wisp_Move_Timer takes nothing returns nothing local timer t = GetExpiredTimer() call TimerStart(t, 0.05, false, function Trig_Wisp_Move_Timer) endfunction function Trig_Wisp_Move_Actions takes nothing returns nothing local timer t = CreateTimer() call TimerStart(t, 0.05, false, function Trig_Wisp_Move_Timer) endfunction

убей себя об стену, пожжалст. Так надоели абсолютно никчемные советы. Ну на кой хрен перезапускать таймер когда это, черт тебя дери, абсолютно лишние действия?


 

lawson_2Дата: Пятница, 14 Октября 2011, 16:43:01 | Сообщение # 22
1 уровень
Группа: Пользователи
Сообщений: 15
Награды: 0
Репутация: 0
Блокировки:
Quote (FkoFF)
убей себя об стену, пожжалст. Так надоели абсолютно никчемные советы. Ну на кой хрен перезапускать таймер когда это, черт тебя дери, абсолютно лишние действия?

Ммм серьезно.
Как скажешь фкофф. наверное когда напишу свой движок на С мож тогда они будут не некчемными.

Добавлено (14 Октябрь 2011, 16:43:01)
---------------------------------------------
А с дурогой стороны, почему никчемное, да оно бестолковое так же как и PauseTimer() - я не разу не видел чтоб без этого таймер работал неисправно, ни когда его не пишу.
Да по сравнению с тобой я нуб, и поэтому спорить не хочу. Но так докажи мен что оно некчемное, я считаю чтобы было удобней таймеру читать фунцию, я запускаю таймер внутри этой функции.

 

Ty3uKДата: Пятница, 14 Октября 2011, 22:19:55 | Сообщение # 23
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Я перезапустил таймер? О.о Не мог я такую чушь сделать... О.о

Добавлено (14 Октябрь 2011, 22:19:55)
---------------------------------------------
А... Не увидел, ошибся :)


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

FkoFFДата: Суббота, 15 Октября 2011, 07:35:02 | Сообщение # 24
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (lawson_2)
А с дурогой стороны, почему никчемное, да оно бестолковое так же как и PauseTimer() - я не разу не видел чтоб без этого таймер работал неисправно, ни когда его не пишу. Да по сравнению с тобой я нуб, и поэтому спорить не хочу. Но так докажи мен что оно некчемное, я считаю чтобы было удобней таймеру читать фунцию, я запускаю таймер внутри этой функции

Все просто.

Запуская таймер через

call TimerStart(t,period,true,function callback) ты задаешь ему частоту с которой он будет срабатывать, и все.
Все ресурсы требуемые на запуск таймера уже затрачены и он работает.

когда ты запускаешь таймер через

call Timer(t,period,false,function callback) и уже в функции callback делаешь это повторно - ты каждый раз затрачиваешь ресурс на запуск таймера, да и если функция жирная а таймер запускается в самом конце - может нарушится частота запуска, не сильно но на долю секунды - есть вероятность.


 

lawson_2Дата: Суббота, 15 Октября 2011, 14:18:13 | Сообщение # 25
1 уровень
Группа: Пользователи
Сообщений: 15
Награды: 0
Репутация: 0
Блокировки:
Quote (FkoFF)
да и если функция жирная а таймер запускается в самом конце - может нарушится частота запуска

Quote (FkoFF)
есть вероятность.

Тебя не поймешь.
У меня ИИ сделан по такой схеме, один раз запускаю таймер, а потом просто GetExpiredTimrr запускаю уже внутри функции в самом конце, в самойфункции 450 строк, пришлось так делать потому что в зависимости от условий таймеру дается разный интервал.
Все хорошо я ни чего не шарю.
 

Форум о Warcraft 3 » Раздел для картостроителей » Раздел картостроителя » [Наработка]Движение по окружности
  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz