000111. Vector - Что это такое и с чем его едят
Vector - Что это такое и с чем его едят|В этом уроке речь в этом уроке пойдёт о векторах.|wmysterio|wmysterio||||Всем привет! Мы продолжаем изучать скриптинг GTA IV. На очереди в нас "вектор". Термин весьма широкий и нужно сделать уточнение о том, что это в скриптинге.
В SannyBuilder мы писали координаты как последовательность чисел. В таком формате в C# обычно не пишут. Для этого создали несколько классов, которые описывают эту последовательность. Эти числа не всегда отвечают именно за координаты. Их можно представить в виде углов и прочего. На примере координат их легче всего понять.
А таких видов в нас три:
Разница в них только в том, что хранят они разное к-во параметров "координат". Например, дляVector3 существуют три основных свойства, для хранения этих "координат":
Кроме этого, есть одно удобство - структура имеет много методов, которые полезно будет использовать в скриптах. Рассмотрим эти функции:
``` cs /* Получает дистанцию между двумя точками: / MyVect3.DistanceTo(MyVect3_1); / Здесь: MyVect3_1 - другой объект Vector3 Возвращаемый тип: float */ 050A: 0@ = dist_XYZ 1@ 2@ 3@ and_XYZ 4@ 5@ 6@ cs /* Получает случайную точку, относительно вектора: / MyVect3.Around(30.0F); / Здесь: 30.0F - радиус поиска Возвращаемый тип: объект Vector3 */ 02C0: store 1@ 2@ 3@ ped_path 4@ 5@ 6@ 02C1: store 1@ 2@ 3@ car_path 4@ 5@ 6@ cs /* Получить длину вектора (точно не скажу какую именно): / MyVect3.Length(); / Здесь: Возвращаемый тип: float */ cs /* Получить грунт вектора: / MyVect3.ToGround(); / Здесь: Возвращаемый тип: объект Vector3 */ 02CE: 4@ = ground_z_at 1@ 2@ 4@ cs using System; using System.Windows.Forms; using GTA; namespace TestScript { public class Thread : Script { public Thread() { Vector3 MyVect3; MyVect3.X = 10.0F; MyVect3.Y = 10.0F; MyVect3.Z = 2.0F; while (true) { if ( Game.isKeyPressed(Keys.Tab)) { Player.TeleportTo(MyVect3); } Wait(0); } } } } |
Last updated