Показать сообщение отдельно
Старый 15.07.2008, 14:03   #7
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: помогите новичку с b3d

Типы..
Да все когда-то их постигали. Расскажу образно:
К примеру, один тип - это помещение.
Что-либо в помещении - эллемент.
Эллементов может быть неограничено, и каждый эллемент содержит данные, которые объявлены в комнате.
К примеру есть данное - указатель на объект. Объект к примеру кубик или какая нибудь загруженная моделька.
Комнатка преобретает такой вид:
Type TK
Field Entity%
End Type

Каждый эллемент в комнате, имеет своё значение, к примеру в комнате 2 эллемента, у одного в переменной Entity будет указатель на кубик а у друго-го на какуюнибудь модельку.
Т.к. у объекта есть данные позиции, то это уже добовляет понятия где находится эллемент, как повёрнут и т.п.
К примеру эллемент должен падать, а что такое падение, это просто уменьшение глобальной координаты Y, до каких-то пор. Это делается простым перебором всех эллементов в комнатке, и если координата Y объектов (Field Entity), выше нуля, то уменьшаем Y.
Но усложним задачу, и добавим что если Y ниже нуля, то отражаем его, получится эффект подпрыгивания
Но, ведь у каждого эллемента своя координата Y и один может уже отпрыгнуть а другой нет. Значит нужно завести координату скорости по Y:
Type TK
Field Entity%
Field nY#
End Type

Теперь каждый эллемент содержит данное с какой скоростью ему двигатся по глобальной оси Y.
Итак, теперь пробегаемся по всем эллементам комнатки и изменяем nY, просто применяя гравитацию и ускорение падения, но затем делаем проверку, если Y координата объекта ниже нуля, то инвентируем nY (nY=nY*-1), таким образом будет уже не падение а взлёт, и затем прибовляем к координате Y объекта это данное, на которое по прежнему действует гравитация.
Таким образом мы можем накидать множество эллементов и каждое будет прыгать независимо.
Класс (правдо в б3д классом это не назовёшь), можно применять как угодно и эллементы могут нести любые данные какие только будут необходимы. Главный моммент это лёгкость содержания больших мас эллементов с собственными данными, и их просто обновлять перебирая все.

Массив, ну так тут совсем просто (все мы так говорим )
Представь у тебя есть книжка, а в ней есть страницы, на каждой странице информация.
Представь такую ситуацию, у тебя книжка состоит из 128 страниц (предположим), и не забывай что существует и нулевая . Так вот, на каждой странице к примеру строчка (Dim Stranica$(12), и ты можешь просто получить значение переменной обратившись по номеру. К примеру нужна строчка с 20 страницы, вот она: Stranica(20). Это просто переменные но пронумерованные.
(Offline)
 
Ответить с цитированием