![]() |
Глобальная переменная из функции?
Как создать глобальную перемеенную из функции?:4to:
|
Ответ: Глобальная переменная из функции?
Никак.
Глобальные переменные создаются только в main program (т.е. вне всяких циклов, функций, etc) Но ты можешь создать глобальную переменную, а внутри функции писать в неё значение. |
Ответ: Глобальная переменная из функции?
А как тогда сделать чтобы функция в цикле создавала переменные с различными именами, массив разве что...
|
Ответ: Глобальная переменная из функции?
Мда, сам на свой вопрос ответил)))
|
Ответ: Глобальная переменная из функции?
Есть такое дело.но ты всегда можеш завести себе файл где будешь хранить все свои глобалы.(на случай если не хочеш засорять свой main program).Хотя лично я предпочитаю отводить отдельную графу.
|
Ответ: Глобальная переменная из функции?
Ну а если мне их 100000 надо, мне что их по одной писать, проще массив)))
|
Ответ: Глобальная переменная из функции?
Тогда юзай классы или массивы.
Если не секрет, зачем тебе столько данных? |
Ответ: Глобальная переменная из функции?
Ну не столько)) Я для примера, просто у меня уровень в одной моделе, я из нее извлекаю хелперы dummy и с помощью entitydistance делаю чтото вроде триггеров.
|
Ответ: Глобальная переменная из функции?
Тогда юзай Классы, тебе нужно сперва для будущего комфорта выучить стандартный функционал языка. Работа с типами данными, локальность/глобальность, массивы, классы.
|
Ответ: Глобальная переменная из функции?
Все еще впереди, а чем в таком случае массив плох, ато я уже с помощью него сделал?
|
Ответ: Глобальная переменная из функции?
Если сделал им, и хорошо, можно сделать иначе, возможно более удобно.
|
Ответ: Глобальная переменная из функции?
Как, если не секрет (я нубец пока) ;)
Я сделал так: в main Global count = 2 Dim dummy(count) Функция: Function buildtriggers(name$,mesh) For i=1 To count dummy(i) = FindChild(levelmesh2,name$+i) Next End Function ps. А можно ли как нибудь подсчитать количество обьектов начинающихся на имя trig в меше? |
Ответ: Глобальная переменная из функции?
Массивы рулят!
Я вообще к ним положительно отношусь) Но нельзя заменить всё типами, или всё массивами. Тут уж сам выбирай, верный выбор приходит с опытом ;) Цитата:
Перебираешь все чайлды меша. GetChild, CountChildren Получаешь имя каждого чайлда. EntityName Первые четыре буквы этого имени сравниваешь с "trig". Mid Опционально: от регистрозависимости поможет избавиться Upper или Lower Если совпадает, то значит имя чилда начинается на "trig" В какую нить переменную приплюсовывешь единицу После перебора в той переменной получится количество чилдов с именем начинающимся с "trig" |
Ответ: Глобальная переменная из функции?
Спасибо, но не совсем понял как перебирать все чилды меша?
Допустим есть переменная и цикл : global count =0 for i=1 to countchildren(levelmesh) name$ = entityname (getchild (levelmesh,i)) if mid$(name,1,4)="trig" count=count+1 endif next так? |
Ответ: Глобальная переменная из функции?
В целом верно.
Молодец, я смотрю, хелп читаешь ;) Только вот count делать глобальной необязательно (если только этот код у тебя не в функции, а count требуется где-то за её пределами) |
Часовой пояс GMT +4, время: 07:43. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot