00086. Движения объектов и эффектов
Движения объектов и эффектов|Опять возвращаемся к объектам. На этот раз мы будем их перемещать. Всё это нужно, что бы мы могли двигать эффекты.|wmysterio|wmysterio||||Думаю во многих модах вы видели, когда к эффекты, например огня, двигаются. Отсюда и вопрос - как заставить их двигаться, ведь нет опкодов для перемещения эффектов. Именно для этого мы вернёмся к движению объектов.
Рассмотрим, уже вам известные опкоды, для перемещения объектов:
Опкод "034E" отличается тем, что перемещение происходит плавно. Единственный минус, что этот опкод используется, как условие и использовать нужно только в циклах, например: в "while" или в блоках условий. Здесь:
Здесь: 0@ - хендл объекта 2413.5225 -1659.0372 13.3828 - координаты, куда должен переместится объект 0.5 1.0 1.0 - скорость перемещения: 1-й параметр - по оси X, 2-ой - по оси Y, 3-й - по оси Z. Если поставить все значения в 0.0, то никакого перемещения не будет, так как итерация равна нулю. Тоесть, если к координатам прибавить эти нули, то координаты не поменяют свои значения 0 - флаг. Если 0, то объект будет перемещаться до тех пор, пока не будет в заданной точке. Если поставить 1, то перемещение может прекратится ещё до заданных координат. Чем это объянить я не знаю, поэтому используем 0
Давайте напишем пример с перемещением объекта:
Аналогично перемещаются и эффекты. Суть в том, что мы должны прицепить эффект к объекту. Давайте допишем парочку строчек к нашему примеру:
Таким образом, при перемещении объекта будет перемещаться и эффект. Так как эффекта почти не видно из за объекта, нужно как то замаскировать его :) Не вопрос! Есть опкод, который делает невидимым объект:
Здесь: 0@ - хендл объекта 0 - установить видимость. Если 0 - невидимый, 1 - видимый
А так же сделаем немного медленнее перемещение, что бы эффект был заметнее:
Обратите внимание на то, что делать невидимым объект нужно после того, как создали и запустили эффект. В противном случаи эффект может скрыться вместе с объектом :)
Используя эти возможности вы можете как-то усовершенствовать эти знания, добавив, например, вращение объекта по осям. Ваше задание - проверить как будет лететь эффект, если задавать в цикле меняющийся угол поворота поворота объекта. Для достижения нужного результата установите в опкоде "066E" оффсет "0.0 1.0 0.0". Результат вас удивит.
P. S. Можно делать невидимыми не только объекты, но и транспорт и даже актёров!
0338: set_car $CAR visibility 0
0337: set_actor $ACTOR visibility 0
Эффект действует на всех актёров, кроме СЖ.|1791|1|0|53422508jpg
500300
400`240``||dvizhenija_obektov_i_ehffektov|1500712228
Last updated