forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Type (http://forum.boolean.name/showthread.php?t=19891)

softcrasoft 03.07.2015 18:36

Type
 
Приветствую.
Из-за того, что в справке нет переведённых информаций по основам, прошу рассказать что такое type? И приимеры его использования.
Заранее благодарен! ! ! ! ! ! ! !

ABTOMAT 03.07.2015 21:12

Ответ: Type
 
http://forum.boolean.name/showthread.php?t=10

softcrasoft 04.07.2015 07:43

Ответ: Type
 
Непонял нич. есть еще что-то?

ABTOMAT 04.07.2015 13:12

Ответ: Type
 
Вот ещё, тут, вроде, попроще: http://blitzetc.ru/index.php/%D0%A1%...0%B2_B litz3D

Gector 04.07.2015 15:35

Ответ: Type
 
Смари. Так ты прописываешь тип (например Enemy):
Код:

Type Enemy
    Field Name$
    Field Mesh
End Type

Первой строчкой создаешь тип с названием Enemy. Следующие две определяют поля типа ($ - строковый тип данных). Поля - это переменные типа. Грубо говоря описание, которое будет повторяться при создании экземпляра типа.

Чтобы создать экземпляр типа:
Код:

E.Enemy = new Enemy
E - переменная для хранения нового объекта (название от балды).
.Enemy - название существующего типа после точки, говорит, что в этой переменной будет храниться экземпляр типа.
new - без этого ключевого слова ты получишь ошибку, т.к. компилятор будет искать переменную Enemy хранящю тип Enemy. Этой строкой ты создаешь новый экземпляр типа.
Можно так же присвоить переменной экземпляр уже существующий.
Код:

E.Enemy = new Enemy
E2.Enemy = E

Здесь мы тупо присвоили этой переменной экземпляр. Таким образом две переменные ссылаются теперь на один экземпляр типа (созданный в первой строчке).


Мы создали выше объект типа. Теперь можно обратиться к его полям:
Код:

E\Name = "Monster"
E\Mesh = LoadMesh("Monster.b3d")

Обращение к переменным дает возможность задать значение прописанных параметров.

Теперь как пройтись по всем экземплярам типа:
Код:

For E.Enemy = Each Enemy
    E\Name = "blah blah blah"
    E\Mesh = LoadMesh("Monster2.b3d")
Next

Советую думать типах как о пользовательском типе данных. То есть так же как float, int, string и т.п. являются типами данных, так же и Type определяет пользовательский тип данных. Наглядно это можно проследить в синтаксисе. Например:
Код:

myFloat#
myFloat.MyFloatType

Точно так же как ты указываешь тип данных через символ "#", ты указываешь свой тип данных .MyFloatType.

Так же и функции:
Код:

myFloatFunction#()
myFloatFunction.MyFloatType()

Имхо. Однако советую сразу отбросить все иллюзии на счет их офигительного удобства.

softcrasoft 04.07.2015 16:12

Ответ: Type
 
гыг и как это поможет допустим при создании 100 врагов?
читал что можно использовать type, но как это включить с объектами пока не представляю

Nerd 04.07.2015 16:15

Ответ: Type
 
Цитата:

Сообщение от softcrasoft (Сообщение 297182)
прошу рассказать что такое Type

Туре, Амаду Тумани (род. 1948) — президент Мали (1991—1992 и 2002—2012), выпускник Рязанского училища ВДВ.

Gector 04.07.2015 19:12

Ответ: Type
 
Цитата:

Сообщение от softcrasoft (Сообщение 297213)
гыг и как это поможет допустим при создании 100 врагов?
читал что можно использовать type, но как это включить с объектами пока не представляю

Молча.
Код:

for i=0 to 100
    e.Enemy = new Enemy
    e\name = "monster"
    e\mesh = loadMesh();
Next


softcrasoft 04.07.2015 20:10

Ответ: Type
 
гыг если для вас объект это type, то я не веноват.
Я вообще-то говорил про entity

ABTOMAT 04.07.2015 20:46

Ответ: Type
 
Цитата:

Сообщение от softcrasoft (Сообщение 297216)
гыг если для вас объект это type, то я не веноват.
Я вообще-то говорил про entity

Код:

Graphics3D 800,600,32,2
CreateCamera()


For i=0 To 100
        sph = CreateSphere()
        PositionEntity sph, Rnd(-50,50), Rnd(-50,50), 50
Next


Repeat

RenderWorld()
Flip()

Until (KeyHit(1))

End

Так чтоле?

Gector 04.07.2015 20:57

Ответ: Type
 
Цитата:

Сообщение от softcrasoft (Сообщение 297216)
гыг если для вас объект это type, то я не веноват.
Я вообще-то говорил про entity

1. Объектов в блице нет.
2. Type - это не объект как в нормальных ООП-языках.
3. Entity - это существующий объект, что находится на 3д сцене.
4. С помощью Type можно хранить сколько хочешь Entity, описывать их дополнительные параметры, как например имя. Что я и показал в примере.

softcrasoft 04.07.2015 22:34

Ответ: Type
 
В вашем примере я не видел createcube или createsphere
а как с помощью type делать 100 врагов, и хранить там хп и т.д с ПОМОЩЬЮ TYPE?

L-ee-X 04.07.2015 23:31

Ответ: Type
 
Так и делаешь как выше писали. Перечитывай 2ой и 5ый пост. Да и зачем в такие дебри лезть сразу выучив только CreateCube и CrateSphere ?!

L-ee-X 04.07.2015 23:38

Ответ: Type
 
Цитата:

Сообщение от softcrasoft (Сообщение 297219)
В вашем примере я не видел createcube или createsphere
а как с помощью type делать 100 врагов, и хранить там хп и т.д с ПОМОЩЬЮ TYPE?

В данный момент Type тупо тебе не поможет сделать 100 врагов :-D

Gector 04.07.2015 23:43

Ответ: Type
 
Цитата:

Сообщение от softcrasoft (Сообщение 297219)
В вашем примере я не видел createcube или createsphere

/(._. )
...Что мешает вместо LoadMesh подставлять CreateCube?

Цитата:

Сообщение от softcrasoft (Сообщение 297219)
а как с помощью type делать 100 врагов, и хранить там хп и т.д с ПОМОЩЬЮ TYPE?

Прописываешь поля hp и при создании экземпляра прописываешь их значения.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot