Замена разрушаемых обьектов в массиве без утечек
|
|
ZeromCroufer | Дата: Вторник, 11 Декабря 2012, 11:52:16 | Сообщение # 1 |
7 уровень
Группа: Проверенные
Сообщений: 480
Награды: 0
Репутация: 113
Блокировки:
| Мне нужно заменить все деревья определенного типа на карте на другие, или же просто поменять им тень (так надо), но т.к помню что параметр "тень" менять нельзя триггерно поэтому прийдется заменять. Сделайте пож Говорю сразу, с массивами работать не умею.
И по поводу теней, в разрушаемых обьектах редактировать какая тебе тень нужна нельзя, а выбирать только те которые есть в списке. Что мне делать если у меня рпг и вид со спины персонажа а я хочу допустим на 10 разных типов деревьев разную тень поставить, а со списка макс. 3 норм будут... И такую стандартную тень допустим которая мне нада что будет вокруг ножки дерева нету(
И еще вопрос, нет ли какой то наработки что при смене суток тень со всех обьектов на карте меняет свое расположение? Так, для реаличности хочу
|
|
|
|
Naturekid | Дата: Вторник, 11 Декабря 2012, 12:00:33 | Сообщение # 2 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| Зачем сразу массив? Декорация - Pick every destructible in (Playable map area) and do (Actions) если тип взятой декорации - стена летних деревьев то удалить её создать стену зимних деревьев на её позиции
|
|
|
|
Ty3uK | Дата: Вторник, 11 Декабря 2012, 12:09:13 | Сообщение # 3 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| смотрел содержимое этой функции?
|
|
|
|
Naturekid | Дата: Вторник, 11 Декабря 2012, 12:13:58 | Сообщение # 4 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| Вот, без использования массива. Без утечек. http://rghost.ru/42160698Добавлено (11 Декабря 2012, 12:13:58) ---------------------------------------------
Quote (Ty3uK) смотрел содержимое этой функции? нет.
|
|
|
|
Ty3uK | Дата: Вторник, 11 Декабря 2012, 12:28:18 | Сообщение # 5 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| тогда ты не поймешь мой ужас
|
|
|
|
Naturekid | Дата: Вторник, 11 Декабря 2012, 12:36:37 | Сообщение # 6 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| Ty3uK, не пойму, это уж точно =D. А что не так?
|
|
|
|
Extremator | Дата: Вторник, 11 Декабря 2012, 12:39:11 | Сообщение # 7 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| ты удалил дерево... а потом собираешься создать ещё в позиции "_________" <-- тут было дерево, но его уже нету в игре, так что хз где создавать
поэтому сначало создаём точку под пикнутм деревом потом удаляем наше дерево создаём новое в этйо точке удаляем точку...
|
|
|
|
Naturekid | Дата: Вторник, 11 Декабря 2012, 12:40:33 | Сообщение # 8 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| Разницу в памяти я особо не увидел - после выполнения дейстия варик стал кушать на ~130кб больше, спустя ещё пару сек ничегонеделания прибавилось ещё 90кБ, то есть если там излишки какие-то и есть то незначительные. Группа декораций по идее не утекает, плейебл мап ареа тоже, утечки точек убраны.Добавлено (11 Декабря 2012, 12:40:33) ---------------------------------------------
Quote (Extremator) ты удалил дерево... а потом собираешься создать ещё в позиции "_________" <-- тут было дерево, но его уже нету в игре, так что хз где создавать Extremator, смотри наработку. Раз сё работает, значит я прав.
|
|
|
|
Ty3uK | Дата: Вторник, 11 Декабря 2012, 12:40:36 | Сообщение # 9 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| охлол Давайте я напишу на JASS?
|
|
|
|
Naturekid | Дата: Вторник, 11 Декабря 2012, 12:45:12 | Сообщение # 10 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| Quote (Extremator) поэтому сначало создаём точку под пикнутм деревом потом удаляем наше дерево создаём новое в этйо точке удаляем точку... ну там вообще-то так и есть. Я ВСЕГДА говорю решение в общем виде, а удаление утечек - уже оптимизация...Добавлено (11 Декабря 2012, 12:45:12) --------------------------------------------- Ty3uK, Quote (Ty3uK) охлол Давайте я напишу на JASS? ну напиши на джассе, нам гуишникам что понять то с этого? Мб в момент обращения к функции используется больше памяти или что? Работать то оно работает. И не из тех вроде случаев, которые миллион раз за игру выполняются. Заменил и всё, я ощутимой разницы в памяти не вижу.
|
|
|
|
Extremator | Дата: Вторник, 11 Декабря 2012, 12:46:20 | Сообщение # 11 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| Quote (Naturekid) Extremator, смотри наработку. Раз сё работает, значит я прав. Я не сказал что ты не прав... я лишь сказал что вариант "удали-создай" является фэйлом )) НО... ты сделал как раз таки хорошо! так, как сделал бы я, точ-в-точ )
|
|
|
|
Naturekid | Дата: Вторник, 11 Декабря 2012, 12:54:29 | Сообщение # 12 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| Добавлено (11 Декабря 2012, 12:54:29) ---------------------------------------------
|
|
|
|
Ty3uK | Дата: Вторник, 11 Декабря 2012, 13:10:37 | Сообщение # 13 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| "Каждый раз, когда Вы пишете int вместо short, кому-то приходится докупать планку памяти" Это я к тому, что в ваши карты могут играть люди с очень древними компами (я в деревне в гостях в доту играл на 128 метрах памяти и 800 МГц, так она местами тормозила. С высоты текущего "опыта" я понимаю, что можно было бы накодить и лучше. Но все и так знают, что "IceFrog - нубло, не умеющее кодить" ©[DUOS]), а вы их наказываете.
|
|
|
|
SirNikolas | Дата: Вторник, 11 Декабря 2012, 17:29:30 | Сообщение # 14 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (Ty3uK) смотрел содержимое этой функции? Code function EnumDestructablesInRectAll takes rect r, code actionFunc returns nothing call EnumDestructablesInRect(r, null, actionFunc) endfunction И что?
|
|
|
|
Ty3uK | Дата: Вторник, 11 Декабря 2012, 17:46:00 | Сообщение # 15 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| SirNikolas, а я через Enum их травлю. Так проще и выгоднее :3 Добавлено (11 Декабря 2012, 17:46:00) --------------------------------------------- SirNikolas, и, да, я спутал с API для group
|
|
|
|
ZeromCroufer | Дата: Среда, 12 Декабря 2012, 09:17:00 | Сообщение # 16 |
7 уровень
Группа: Проверенные
Сообщений: 480
Награды: 0
Репутация: 113
Блокировки:
| Работает наработка , всем спасибоза помощь, можно закрывать.
|
|
|
|