Сейчас 03:16:49 Среда, 1 февраля, 2023 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Вопрос] Вызов функций
[Вопрос] Вызов функций
TorianKelДата: Суббота, 09 Июня 2012, 18:29:33 | Сообщение # 1
3 уровень
Группа: Проверенные
Сообщений: 64
Награды: 0
Репутация: -13
Блокировки:
Функция Button_1R не видит функцию AddAction, которая в ином случая не видит первую
Как сделать что бы они видели друг друга?

function Button_1R takes nothing returns nothing
local integer S = 1
if u_slot == false then
set u_slot = true
set a_slot = S
call AddSpecialEffectTargetUnitBJ( "overhead", IButton[S].picture, "TRSHerolevel.mdx" )
else
set b_slot = S
set AS = IUNIT[X].slot[a_slot]
set BS = IUNIT[X].slot[b_slot]
set IUNIT[X].slot[a_slot] = BS
set IUNIT[X].slot[b_slot] = AS
call DeleteSlot()
call CreateSlot(GameCamera)
call AddAction()
set u_slot = false
endif
endfunction

function AddAction takes nothing returns nothing
call IButton[1].AddActionL(function Button_1R)
endfunction
 

FaionДата: Суббота, 09 Июня 2012, 18:44:40 | Сообщение # 2
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Функции в jass могут вызывать функции которые "выше" них.

О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

TorianKelДата: Суббота, 09 Июня 2012, 18:59:54 | Сообщение # 3
3 уровень
Группа: Проверенные
Сообщений: 64
Награды: 0
Репутация: -13
Блокировки:
И каким образом обойти?
 

lawsonДата: Суббота, 09 Июня 2012, 19:52:07 | Сообщение # 4
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
TorianKel, Ни как мой друг, придется бросить изучать жасс, решения этой проблемы нет. :'(

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

TorianKelДата: Суббота, 09 Июня 2012, 20:23:35 | Сообщение # 5
3 уровень
Группа: Проверенные
Сообщений: 64
Награды: 0
Репутация: -13
Блокировки:
хреново, а можно поместить код функции в переменную?
 

Ty3uKДата: Суббота, 09 Июня 2012, 20:52:08 | Сообщение # 6
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
а экзекут функ?

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

DragoNДата: Суббота, 09 Июня 2012, 22:56:31 | Сообщение # 7
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Quote (TorianKel)
хреново, а можно поместить код функции в переменную?

huh
перекинь функцию AddAction выше функции Button_1R
что это за система? сначала подумал DGUI O_O


El Psy Congroo
 

TorianKelДата: Суббота, 09 Июня 2012, 23:51:37 | Сообщение # 8
3 уровень
Группа: Проверенные
Сообщений: 64
Награды: 0
Репутация: -13
Блокировки:
да это она и есть. Перекинуть не могу: call IButton[1].AddActionL(function Button_1R)
Я уже решил эту проблему "по-своему".
 

lawsonДата: Воскресенье, 10 Июня 2012, 00:30:42 | Сообщение # 9
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
DragoN, Я не понимаю, зачем некоторые объявляют структуры как массив? Ведь не легче просто передавать в нее данные, а значения держать в хеше или глобалках?

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


Сообщение отредактировал lawson - Воскресенье, 10 Июня 2012, 00:30:52
 

SirNikolasДата: Воскресенье, 10 Июня 2012, 07:57:41 | Сообщение # 10
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Code
function A takes nothing returns nothing
    call ExecuteFunc("B")
endfunction

function B takes nothing returns nothing
    call A()
endfunction


 

Ty3uKДата: Воскресенье, 10 Июня 2012, 08:08:50 | Сообщение # 11
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
собственно как я и говорил (;

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

FaionДата: Воскресенье, 10 Июня 2012, 14:50:37 | Сообщение # 12
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Quote (lawson)
DragoN, Я не понимаю, зачем некоторые объявляют структуры как массив? Ведь не легче просто передавать в нее данные, а значения держать в хеше или глобалках?

Читаем статьи на тему структур, там все доступно описано, или юзаем поиск, вопрос обсуждался 100500 раз.


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

lawsonДата: Воскресенье, 10 Июня 2012, 16:00:07 | Сообщение # 13
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Faion, Ну как бы я тоже с этого, когда мне надо было несколько структур. А потом я просто стал создавать структурки и просто их аттачить к объектам, или передавать в них значения через тот же хеш.

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

FaionДата: Воскресенье, 10 Июня 2012, 16:25:06 | Сообщение # 14
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Лично я вообще юзаю параллельные массивы.

О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Вопрос] Вызов функций
  • Страница 1 из 1
  • 1
Поиск:

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