Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > BlitzMax

Ответ
 
Опции темы
Старый 31.08.2009, 04:10   #1
Illidan
Разработчик
 
Регистрация: 06.08.2007
Сообщений: 473
Написано 131 полезных сообщений
(для 257 пользователей)
передвижение по списку

Скажем, есть общий лист на все обьекты(разные типы), есть переменная, содержащая ссылку на один из обьектов(любой из типов). Вопрос, как получить следующий обьект этого же типа из листа?
Для большей понятности еще так можно переформулировать... аналог блитцовских команд After,before.
(Offline)
 
Ответить с цитированием
Старый 31.08.2009, 11:46   #2
jimon
 
Сообщений: n/a
Ответ: передвижение по списку

Illidan
найди переменную в списке и считай следуйшую сравнивая тип, но имхо у тебя кривая архитектура раз тебе нужно такое делать
можно переписать класс списка так чтобы он строил дополнительно еще и масив для поиска, тогда операция поиска в списке была бы очень дешевая
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Illidan (31.08.2009)
Старый 31.08.2009, 16:40   #3
Illidan
Разработчик
 
Регистрация: 06.08.2007
Сообщений: 473
Написано 131 полезных сообщений
(для 257 пользователей)
Ответ: передвижение по списку

Насчет архитектуры вполне возможно, что она кривая. Я просто вообще не нашел как передвигаться по списку. Только через Tlink, но он выдает только базовый тип, а мне нужно выполнить метод искомого типа. Были мысли сделать всё через массивы, но тут опятьже нужен динамический массив, а как его сделать не чрезжопноя тоже незнаю.
Вобщем задача следующая, это для пользовательского интерфейса делаю. Есть значит несколько обьектов(окон), и при нажатии TAB они должны переключаться между собой. тоесть, если было активно предыдущее окно то оно становится неактивным и активным становится следующее по списку окно если доходит до последнего в списке то перечлючается опять на первое.
(Offline)
 
Ответить с цитированием
Старый 31.08.2009, 18:47   #4
jimon
 
Сообщений: n/a
Ответ: передвижение по списку

Illidan
ну так надо сделать некий TGuiObject, от него наследовать TWindow, сделать список окон и их крутить
а то что выдает TLink просто принудительно привести к TWindow и всё
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Illidan (31.08.2009)
Старый 31.08.2009, 18:58   #5
Illidan
Разработчик
 
Регистрация: 06.08.2007
Сообщений: 473
Написано 131 полезных сообщений
(для 257 пользователей)
Ответ: передвижение по списку

как его принудительно привести? крутить я умею только через eachin. какие еще способы есть для этого?
(Offline)
 
Ответить с цитированием
Старый 31.08.2009, 21:51   #6
jimon
 
Сообщений: n/a
Ответ: передвижение по списку

Illidan
пример
SuperStrict

Type mytype
Field myvar%
EndType

'приведение типов
Local temp:mytype = New mytype
Local temp2:Object = temp;
Local temp3:mytype = mytype(temp2)

Local list:TList = New TList

For Local i%=0 To 10
list.addlast(New mytype)
mytype(list.last()).myvar = i
Next

'как прокручивать TList
Local link:TLink = list.firstlink()

While link <> Null
Print "here we go : "+mytype(link.value()).myvar
link = link.nextlink()
Wend
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Illidan (31.08.2009)
Старый 31.08.2009, 23:06   #7
Illidan
Разработчик
 
Регистрация: 06.08.2007
Сообщений: 473
Написано 131 полезных сообщений
(для 257 пользователей)
Ответ: передвижение по списку

еслиб мог, поставил бы две пасибки))
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ландшафт (передвижение) Dakar 3D-программирование 7 18.09.2009 20:03
помогите! передвижение спрайта Jlemyp 2D-программирование 10 21.06.2009 21:09
Передвижение бота из пункта А в пункт В по вейпоинтам. Crystal 3D-программирование 17 14.12.2007 21:24
Передвижение игрока Fant 3D-программирование 27 09.03.2007 21:29


Часовой пояс GMT +4, время: 14:07.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com