"> и != генерируются автоматически на основе их обратных эквивалентов.
А что, они при этом не перегружаются? К чему это уточнение?
Подразумевалось повседневное использование, скажем, вместо глобалок X/Y для координат юнита.
Юзайте Location, оно как раз для этого было введено. Векторы нужны для описания движения (хотя, надо сказать, что все юниты, которых я передвигал, двигались вдоль векторов). Вообще могу поискать свою демку физики, там всё ну очень просто, и никаких проблем с использованием этих векторов не было.
Никто здесь не делал претензий на то, что пишет свой язык, (вурст говно кстати в плане удобства синтаксиса).
GetLocalPlayer, хотел сохранить конструктор create() без параметров, чтобы поведение класса было максимально предсказуемым. Про toString идея неплохая, и я думал её реализовать, но потом понял, что не вижу ни одного юзкейса, где это было бы нужно, даже для дебага. Тоже самое про equals(Vec3), кстати.
Когда делал демку физики, доводил до 3к физических объектов, в пике нагрузки жило до 4к векторов, так что даже в варкрафте можно ощутимый импакт на потребление памяти увидеть.
Либо можно в дебаг моде поставить иф, но если это точно выпилится вместе с проверкой
Там так и реализовано.
Я знаю, что такое нулевой вектор и что такое нормаль, само собой. Лично у меня никогда не возникало потребности в этой проверке на корректность, но для общего случая дебаг там действительно полезен.
Возвращать другой вектор - рецепт для еще большего числа ошибок. Нужна просто возможность этот баг поймать, то же самое, что вжасс пишет про double free.
Ну да, это понятно, просто высказал предположение, не более.
ScorpioT1000, помню, что специально изучал этот вопрос и даже раскладывал модель на низком уровне, чтобы выяснить как оно точно работает. Выходило, что вызов функции для экономии двух делений выгоднее, хотя, конечно, говорить о драматическом росте производительности тут нельзя никаким образом. Это относится только к Vec3, в Vec2 замена деления на умножение с вызовом давали в рассчёте очень-очень небольшой, но оверхед, однако оставил для consistency.
Использование подхода с setVal также в некоторой степени менее оптимально, но здесь во главу угла я ставил собственное удобство и компактность кода вкупе с его читаемостью.
Вопрос: стоит ли закинуть в Warcraft, или пусть здесь будет?
Таймеры запускают привязанную функцию по своему истечению, в этой функции и нужно совершать все действия после ожидания. Да, пробрасывать локальные переменные туда нельзя.
Fakov, такая, что максимальный размер массива 8192, что есть четырёхзначное число. Fakov, 0.56792
А, или вот тебе вариант: есть числа 0.012 и 0.12, как быть?
Ред. Clamp
» Clamp'ова кухня / Векторы
» WarCraft 3 / Лампы, Костры и Факелы
» Clamp'ова кухня / Векторы
» Clamp'ова кухня / Векторы
» Clamp'ова кухня / Векторы
Ред. Clamp
» Clamp'ова кухня / Векторы
» Clamp'ова кухня / Векторы
Ну и ещё потому что векторы всё-таки полезная тема и много где нужная.
» Clamp'ова кухня / Векторы
» Clamp'ова кухня / Векторы
» Игровые обзоры / Project Borealis update
» Clamp'ова кухня / Векторы
Я знаю, что такое нулевой вектор и что такое нормаль, само собой. Лично у меня никогда не возникало потребности в этой проверке на корректность, но для общего случая дебаг там действительно полезен.
Ред. Clamp
» Clamp'ова кухня / Векторы
» Clamp'ова кухня / Векторы
» Clamp'ова кухня / Векторы
Ред. Clamp
» Clamp'ова кухня / Векторы
» Clamp'ова кухня / Векторы
Одна операция деления и три умножения против трёх операций деления
Ред. Clamp
» Clamp'ова кухня / Векторы
» Clamp'ова кухня / Векторы
» Clamp'ова кухня / Пара библиотечек
» WarCraft 3 / TimerGetRemaining
Ред. Clamp
» Clamp'ова кухня / Пара библиотечек
» WarCraft 3 / GetRealId( )
» WarCraft 3 / GetRealId( )
» WarCraft 3 / GetRealId( )
Fakov, 0.56792
А, или вот тебе вариант: есть числа 0.012 и 0.12, как быть?