![]() |
Re: Избежание погрешностей (AI)
Тебе уже подсказали в этой теме, смотри на 1 странице ;)
Округляй. |
Re: Избежание погрешностей (AI)
видел я эту подсказку...только что именно округлять? Я так понимаю, что нужно округлять позицию ии, но я же не могу переставить просто перетащить объект куда нужно...хорошо. Не могли бы вы это на примере показать? Я же не просто так пишу...у меня трудности.
|
Re: Избежание погрешностей (AI)
Наконец-то я с ноута, а не с телефона! Я только не понял что именно нужно округлять, что бы добиться того, что мне нужно
|
Re: Избежание погрешностей (AI)
Получаешь координату объекта, округляешь и двигаешь в округлённую позицию.
Тока не всегда нада округлять. |
Re: Избежание погрешностей (AI)
Цитата:
Округлю ее по формул, которую мне тут любезно предоставили...мне не совсем ясно, как двигать этот самый объект к округленной позиции. |
Re: Избежание погрешностей (AI)
PositionEntity Entity,int(EntityX(Entity)),int(EntityY(Entity)),i nt(EntityZ(Entity))
|
Re: Избежание погрешностей (AI)
Цитата:
|
Re: Избежание погрешностей (AI)
Цитата:
|
Re: Избежание погрешностей (AI)
Вообщем я себе уже представляю как можно это все организовать, но возникла загвоздка! Как я узнаю (выполню проверку) что имеет место быть погрешность?
Вот тут мне привели пример: If Int(Position_X)-Position_X<.001 then Position_X=Int(Position_X) Я не совсем понял, как этим кодом можно проверить, есть ли погрешность? Или я чего-то тут недогоняю |
Re: Избежание погрешностей (AI)
Цитата:
Мысли лучше всего приходят во время кодинга, когда пробуешь, так и быстрее и лучше всего ;) |
Re: Избежание погрешностей (AI)
Цитата:
|
Re: Избежание погрешностей (AI)
Fant неправ :)
Проверяй это всегда, но шаг поставь может поменьше, например не .001 а .05, ну это от скорости перемещения челов зависит, чтобы шаг нубыл больше чем четверть средней скорости перемещения (эо если сокрость изменяется сглажено), а если не сглажено тогда шаг делай половину макс скорости. |
Re: Избежание погрешностей (AI)
Цитата:
|
Re: Избежание погрешностей (AI)
Провел опыт:
If KeyDown(31) Then If Int(EntityZ(en1\obj))-EntityZ(en1\obj)<.001 Then PositionEntity en1\obj,EntityX(en1\obj),5,Int(EntityZ(en1\obj)) End If MoveEntity en1\obj,0,0,.1 Стабильно убирает сотые части, но так же стабильно держит .1 То есть делает погрешность в одну десятую |
Re: Избежание погрешностей (AI)
Шаг, это число которое щас .001.
А погрешность т.к. ты двигаешь после стабилизации. Сделай так: MoveEntity en1\obj,0,0,.1 If KeyDown(31) Then If Int(EntityZ(en1\obj))-EntityZ(en1\obj)<.001 Then PositionEntity en1\obj,EntityX(en1\obj),5,Int(EntityZ(en1\obj)) End If |
Часовой пояс GMT +4, время: 22:59. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot