Войти
ПрограммированиеФорумОбщее

AngelScript (комментарии) (11 стр)

Страницы: 17 8 9 10 11 12 Следующая »
#150
15:34, 2 мар. 2012

Chaos_Optima
> Object.pos.x+=10.0f;
> Object.pos.setPos(10,0,0);
по-моему, логичнее всего использовать здесь property.
судя вашей статье в angel script они тоже есть.


#151
18:09, 3 мар. 2012

Chaos_Optima
> насколько я понял это что-то вроде статической типизации для языка так?
Плохо. goto google. Подсказка: foreign function interface
Chaos_Optima
> хм а у меня всё заточено под 3D. а 2D двиг и 3D различаются как небо и земля.
Ну насколько я знаю все 3d движки являются надмножеством 2d. На них можно спокойно писать 2д игры, движок шива тому подтверждение.
Chaos_Optima
> эм на графику процессорное время вообще не должно тратится т.к. обрабатываться
> должна на видюхе.
>
Мечты, мечты... Вызовы функций графического апи, вычисление позиций вершин, матриц трансформации, за один кадр столько всего копится. Да и сам драйвер видеокарты грузит систему по полной программе.
Chaos_Optima
> эм jQuery? а разве он не предназначен для быстрого доступа к элементам HTML? 
> зачем он в игровом двиге то?
Снова плохо. Для быстрого доступа к игровым объектам же:) Но jQuery это ещё управление событиями, анимации, дерево объектов, полезные функции для работы с массивами и ещё куча другого.

#152
21:20, 3 мар. 2012

RPG
> На них можно спокойно писать 2д игры, движок шива тому подтверждение.
можно но оптимизации и заточеность под 3D и 2D разные например октри, фруструм кулинг, скилетка, шейдинг всё это становится различно, если конечно хочется максимально оптимизированный двиг.
RPG
> Мечты, мечты... Вызовы функций графического апи, вычисление позиций вершин,
> матриц трансформации, за один кадр столько всего копится. Да и сам драйвер
> видеокарты грузит систему по полной программе.
это уже не отрисовка а логика. разные вещи.
RPG
> Снова плохо. Для быстрого доступа к игровым объектам же:) Но jQuery это ещё
> управление событиями, анимации, дерево объектов, полезные функции для работы с
> массивами и ещё куча другого.
ок.

#153
2:34, 4 мар. 2012

Chaos_Optima
> 3D и 2D разные например октри, фруструм кулинг, скилетка, шейдинг всё это
> становится различно
Просто в 2D ничего из этого не используется, вся то и разница. Вообще в 2д в 99.9% случаев используется рисование квада с текстурой. Думаю, с этим ваш двиг и сейчас справится.

Chaos_Optima
> это уже не отрисовка а логика. разные вещи.
если считать код, который выполняется в драйвере видеокарты логикой то как вообще вы различаете логику самой игры не понимаю. В моем понимании логика это все-таки контролы, правила игры и т. п.

#154
16:38, 4 мар. 2012

RPG
> Думаю, с этим ваш двиг и сейчас справится.
впринципе да
но для 2D я бы использовал инстансинг а он у меня сейчас не реализован, хотя за пару часов я думаю можно будет прикрутить. но нет физики, хотя можно попробовать Box2D прикрутить правда хз как это быстро будет.
RPG
> В моем понимании логика это все-таки контролы, правила игры и т. п.
а в моём понимании логика разделяется на множество частей. это геймплей, расчёты, оптимизация.
в общем у меня игра делится на 4 составляющие которые в свою очередь делятся на своё подмножество.
4 составляющие это
1) инициализация
2) логика
3) отрисовка
4) завершение
при этом
1 и 4 часть имеют право быть не совсем производительными, в то время как 2 и 3 должны быть максимально производительными.

#155
17:18, 29 мая 2012

В статье автор описывал какие-то трудности с перегруженными функциями и методами и предлагает использовать костыли.
Но оригинальный документ по этому поводу гласит:

Для функций:
The asFUNCTION takes the function name as the parameter, which works for all global functions that do not have any overloads. If you use overloads, i.e. multiple functions with the same name but with different parameters, then you need to use asFUNCTIONPR instead.

Для методов:
The same goes for asMETHOD and asMETHODPR. The difference between these and asFUNCTION/asFUNCTIONPR is that the former take the class name as well as parameter.

#156
20:34, 29 мая 2012

Я бы вообще не обращал внимания на эту бесполезную (если не сказать "вредную")  статью. Мануал от автора AngelScript - более чем исчерпывающая справка, с освещением всего, что нужно. Есть конечно пара неосвещенных вещей, взять те же параметры по-умолчанию. Но, в принципе, я в мануле нашел ответы практически на все вопросы.

#157
0:00, 30 мая 2012

Да, мануал не в пример содержательнее и полезнее.
Но лично я благодарен автору статьи за то, что этой самой статьей открыл для меня AngelScript.
Без сабжа я бы возможно и наткнулся на AngelScript, скептически на него бы посмотрел и закинул на задворки сознания, как вещь интересную, но скорее всего не практичную. И продолжал бы заниматься сексом со стеком lua и врапером наследованных классов.
А положительный отзыв на этом форуме сыграл свое дело и теперь I love AngelScript ).
Переделал в своем движке скрипты из lua на as и испытываю только положительные эмоции.


PS.
C некоторой "вредностью" статьи соглашусь.
Автор описывает три проблемы, которые пришлось решать. По первым двум все ясно, а с третьей еще проще.

Цитата: 
Если с глобальными переменными дела обстоят предельно просто, то с переменными в пределах класса всё немного сложнее. Стандартные средства не позволяют получить ID переменной по её имени или объявлению, поэтому для этого необходимо пройтись по всем переменным в классе самому и сравнить имена. Для поиска адреса по имени переменной нам потребуется само имя и указатель на экземпляр класса скрипта.

Ни одного слова правды.
RegisterObjectProperty прекрасно справляетя со своей задачей в одно касание.

Пример:
RegisterObjectProperty("Color", "uint8 A", asOFFSET(Color, A));

#158
22:21, 5 июня 2012

Chaos_Optima
> 1) инициализация
> 2) логика
> 3) отрисовка
> 4) завершение
а на физику, звук, сеть и пр. я так погляжу кое-кто забил... напрасно, где ты видел движок без всего этого?:)
у тебя какой-то рендер с доп. функциями получается... (типа OGRE + какие-нибудь скрипты)

И ещё, оптимизация должна происходить далеко не в первую очередь, а даже совсем наоборот. В движке не в этом соль, хотя, бесспорно, без этого - никак, но не на начальных этапах же...

Прошло более 8 месяцев
#159
13:41, 21 фев. 2013

Здравствуйте.
Не могу понять, как объявлять функции и enum глобально для всех модулей. То есть объявляем enum и функции в скрипте, грузим, как модуль, а используем в другом загруженном скрипте. Как это сделать?

#160
15:30, 21 фев. 2013

Hladov
> Как это сделать?
если всё в одном модуле то используй #include
если в разных модулях то import

#161
15:32, 21 фев. 2013

bumper
> Но лично я благодарен автору статьи за то, что этой самой статьей открыл для
> меня AngelScript.
это и было моей целью, всегда пожалуйста ))

#162
15:39, 21 фев. 2013

bumper
> Ни одного слова правды.
> RegisterObjectProperty прекрасно справляетя со своей задачей в одно касание.
я говорил не про регестрацию поля, а про получение указателя на уже существующее.
Некоторые вещи кстати добавились позднее, например asMETHOD, на момент написания, данного функционала не было.

#163
16:07, 22 фев. 2013

Прошлый вопрос решил. Столкнулся с новой сложностью.
В angelscript, как я понял, нет union типов? Предположим, у нас есть некая структура в программе и её адрес в скрипте. Эта структура представлена, как union, то есть в зависимости от первого байта, указывающего её тип, к остальным нужно обращаться по разному.
Обозначения возможных структур я добавил в скрипт, как классы. В общем-то вопрос - как обращаться к информации в этой структуре, имея её адрес в памяти? (хранится в типе uint в скрипте).

Дабы было более понятно, что это за union - event в SDL. Если из скрипта передавать uint указывающий на структуру event через SDL_PollEvent - то пашет, но как потом пользоваться в скрипте полученными данными - не понятно ((

#164
16:39, 22 фев. 2013

Hladov
Создаёшь класс и регистрируешь разные поля на один и тот же адрес, вот тебе и юнион

Страницы: 17 8 9 10 11 12 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.