• Добро пожаловать на Quest3D - Русскоязычное сообщество.
 

Новости:

Форум Quest3D восстановлен!

Главное меню

Массивы

Автор mixey, 30 ноября 2008, 02:40:43

« назад - далее »

mixey

Значит такой вопрос. У меня есть массив текста, который нужно вывести на экран. Какие есть варианты, кроме поочередного рендера через For Loop Channel?

mixey

Вообще у меня проблемы с массивами! Например если мне необходимо сделать так, что при нажатие на определенный текст, осуществлялся бы переход на другую сцену и я делаю массив текста, то лишь с последней строкой все работает, потому как пока For Loop все не обработает, до обработки событий мыши даже ничего не дойдет! Как решить это проблему? Есть ли какие-нибудь шаблонные алгоритмы для реализации проектов, с множеством ссылок и т.п.

mixey

Возник еще один вопрос! Есть такой волшебный Array Chanel, который может создать массив из лбых каналов! А что если мне нужен двумерный массив? ТОгда мне задавать этому каналу тип Array Text? Но ведь тогда мне придется заранее создать все Array Text и назначить этому Array Channel соответсвенно! А что если я не знаю сколько массивов текста у меня будет? Как создавать массивы во время работы приложения? Или все-таки как-то динамические можно массивы создать? Жду не дождусь ответов! Блин! Хоть что-нибудь напишите, а то у меня такое ощущение, что мои вопросы либо тупые, либо никто ответов не знает! Заранее Благодарен!

Viik

В папке проинсталенного квеста есть фолдер с туторами, еще есть мануал и функция поиска по форуму. Возможно никто не отвечает потому как нет желания разжовывать базовые вещи. В 4.1.2 фор луп работает нормально в более ранних версиях нужно ставить "Рилтайм" (Ctrl+T) на ченелах под фор лупом.

Const_47

Если бы у меня стояла такая задача, как у вас, то скорее всего
я бы использовал сhannel Table и Это
http://support.quest3d.com/index.php?title=Lua_Script#Lua_Script

mixey

Viik поймите меня правильно, но во-первых в подзаголовке данной ветке форума как раз отмечено, что вопросы для новичков и на справку самого квеста ссылаться не надо! :P Во-вторых я не думаю, что эта задача базовая, потому что не в одном уроке я подобные вещи не нашел, так как не люблю зря мучать людей вопросами, пока сам не попробую.  :-\И в-третьих под любым ответом я как раз и имел ввиду, что хотя бы написали, что я тупой шел юзать хелп! Это было бы не сложно, но тем ни менее мне бы помогло, а ведь именно для этого и существует форум! ;)

За совет спасибо! :) правда мне удалось решить задачу другим способом! Я думаю тут и моя вина тоже есть! В три часа ночи я проблему описал не слишком внятно для стороннего читателя, так что приношу свои извинения!  ;)

Ruslan

#6
Подскажите пожалуйста:
Можно ли какой-нибуть командой (может в Lua Script ?) создать новый ряд в массиве, кроме как создать его в менеджере массивов?

И еще вопрос:
каким образом можно сохранить массив(Array Table) в файл, с последующим чтением его из файла?

Мне нужно реализовать повтор в игре.
Планировал делать следующее:
- ввести счетчик, который с каждым вызовом увеличивается на 1
- как только пользователь нажмет, или отпустит клавишу(например "идти вперед") счетчик записывается в массив, а так же записывается состояние "клавиши" 0 или 1, затем счетчик обнуляется.
- при повторе я планировал читать данные из файла и "подсовывать" значения нажатия клавиш в момент времени, который был записан счетчиком.

Может есть альтернатива?
например как "сохранять" и "читать" channels Text в файл?
или как пользоваться channels Buffer ?

Ruslan

#7
На счет channels Buffer
на оффоруме нашел примерчик, правда, пока не знаю, как применить его в моем случае.  :-\

Нашел channels Save TextFile который позволяет сохранить текст в файл, но не могу найти, как загрузить текст из файла  ???

Ruslan

#8
Ответ, на вопрос про сохранение данных нашел:
https://guest3d.wohlnet.ru/forum/index.php?topic=727.new

Актуальным остается вопрос:
Можно ли какой-нибуть командой (может в Lua Script ?) создать новый ряд в массиве, кроме как создать его в менеджере массивов?

mixey

Как, имея ListBox и массив текста сделать так, чтобы список для ListBox читался из этого массива? Ведь для этого надо сделать какой-либо оператор перехода на новую строку и при этом организовать цикл... Но как-то не выходит :(

mixey

Ой, а я кажется решил проблему!  :D
Может конечно есть способы по лучше, но вроде бы все работает!

Ruslan

ЦитироватьМожно ли какой-нибуть командой (может в Lua Script ?) создать новый ряд в массиве, кроме как создать его в менеджере массивов?

Как оказалось, все банально просто:
нужно занести в массив данные по индексу, на единицу большую, чем общее количество row.

IDEV

#12
Привет! Мож немножко не по теме, но это нужно для файла массива. Какими нодами и как можно сравнить текст (на совпадение и т.п.)?
Да и ещё пжалста опишите способ вывода текстового столбца массива в листбокс (уже совсем до ручки дошел ;D)
я конечно вижу скриншот mixey, но по подробнее- какой text operator, откуда куда ярлыки? И последнее- как заблокировать cgr файл типа тех, что встречаются в папке квеста?

DimiS

сравнивать ValueOperator: Text Compare
картинку mixey дополнил

IDEV

допёрло! и начит в ноде текста между Array text и ярлыком Text
должен быть переход на следующую строчку. Спасибо :). Но вопрос о блокировке файлов остаётся открытым