xd76, нет. Если ты просишь помощи, прояви хоть немного уважения к людям, у которых её просишь, и хотя бы постарайся писать грамотно, это ведь не тяжело. Я продолжу отвечать на вопросы, когда увижу грамотно заданный вопрос, с точками, запятыми и прописными буквами.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
Просто поставь // перед строками, которые нужно закомментировать, и они не будут считаться выполняемым кодом.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
Пока сам это не поймёшь, тебе следует воздержаться от написания кода.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
xd76, также можно порекомендовать какое-нибудь пособие по ООП. Если не найдешь никакой книжки, то посмотри в Викиучебники - это очень хорошо открывает глаза и развязывает руки, если они прямые и подключена голова, конечно же.
Добавлено (09.02.2012, 15:34) --------------------------------------------- Все, кто делал альтернативный огонь, направьте нуба. Процедуру альтернативного огня кроме PlayerWeapons.es еще где-то нужно прописывать?
Добавлено (09.02.2012, 17:36) --------------------------------------------- ура я от регулировал альт фир поздравьте кто хочет я не хочу хвастаться я просто обрадовался
Сообщение отредактировалxd76 - Четверг, 09.02.2012, 17:36
Помогите, пожалуйста, до конца понять, как работают функции RelativeToAbsolute и AbsoluteToRelative, а также в чем разница между Абсолютным вектором позиции и Относительным.
SeriousAlexej, абсолютная - это систама с точкой отсчета в (0, 0), а относительная - с точкой отсчета в определенном предмете(в вызове метода его нужно указать)
SeriousAlexej, мда.. В принципе, CREATER сказал почти правильно, нужно только уточнить, как работают эти методы. Все они являются частью CPlacement3D, а в нём самом не уточняется, к какой системе принадлежит расположение, т.к. то, что относительно с одной точки зрения, может оказаться абсолютным с другой. %] Ладно, по порядку. Пускай у тебя есть Объект1 и Объект2. Оба эти объекта находятся очень далеко от начала координат, но между ними (объектами) всего один метр. Допустим, ты хочешь отразить Объект2 относительно Объекта1 (типа как в центровой симметрии). Для начала ты, естественно, берёшь plObject2Placement=GetPlacement() у Объекта2. И получаешь большое-пребольшое значение, потому что этот объект находится вдалеке от начала координат. Теперь тебе надо сделать это расположение относительным к Объекту1. Псевдокод для этого будет таким: plObject2Placement.AbsoluteToRelative(Object1->GetPlacement()). Теперь plObject2Placement является относительным расположением, а базис его координат - расположение Объекта1. Поэтому цифровые значения этого расположения станут небольшими, тот самый метр. Теперь нужно инвертировать расположение Объекта2. Для этого все члены plObject2Placement.pl_PositionVector умножаем на -1, а ко всем членам plObject2Placement.pl_OrientationAngle добавляем 180. Получится инвертированное расположение, но в относительной системе координат, а нам нужны абсолютные, чтобы переместить туда Объект2. Поэтому мы выполняем обратное превращение: plObject2Placement.RelativeToAbsolute(Object1->GetPlacement()). И наше расположение - больше не относительно, его можно использовать в качестве аргумента для SetPlacement.
Сообщение отредактировалSLAwww - Четверг, 09.02.2012, 19:17
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
Да, один ты нарушаешь принцип инкапсуляции, входящий в состав объектно-ориентированной парадигмы. Говоря простым языком, в методах GetPlacement и SetPlacement могут производиться какие-то важные действия, о которых мы не знаем, но пропускать эти действия было бы рисковано. "И так все работает" - не оправдание, т.к. может иметь место бомба с часовым механизмом - утечка памяти.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
SLAwww, хмм, забыл про такую возможность. Жаль у нас нет исходников CEntity..
Видимо, Croteam немного порезали ООП в Entity Sources. Немножко обидно, так как попытка добавлять самые простые классы, .cpp и .h файлами напрямую(была такая необходимость) приводила к небольшому гемморою.
Тогда загадочно то, что и сами Croteam местами используют его напрямую. Видимо, действительно при GetPlacement происходят, к примеру, какие-то преобразования
Сообщение отредактировалCREATER - Пятница, 10.02.2012, 15:56
Croteam, по сути, создали свой собственный диалект языка С++, применяемый в .es-файлах и удобный именно для создания классов игровых объектов. Как и в любой сложной системе, классы в движке первого Сэма имеют весьма развитую инфраструктуру, обеспечивающую их организацию. Разработка ES-диалекта С++ позволила просто не писать из разу в раз одну и ту же организационную муть. Простые классы в .cpp и .h всё же можно добавлять, но их проблематично сделать классами игровых объектов.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
SLAwww, их проблематично использовать даже для объявления глобального пространства имен - гемморой тот ещё. Поэтому лучше вместо этого создать какой-нибудь класс с extern-функциями. Убедился на своей шкуре.