![]() |
Минимальное приращение координаты.
Так вышло, что мне клип надо было сдвигать на очень маленькое значение. И я столкнулся с проблемкой.
(Извините, если это всем известно.) mov._x+=1/25; //(в цикле) Из-за этой строки я чуть не свихнулся, потому что приращение оказалось может быть только кратным 0.05 :) Т.е. 0.04 прибавить невозможно, оно все равно будет прибавлять 0.05. Соответственно пришлось вводить какую-то "левую" переменную и "накручивать" ее. Вот просто интересно - кто-нибудь сталкивался? |
как-то не приходилось... :)
|
Точность математических операций, оставляет желать лучшего.
Пример for (var i = 6; i < 10; i += .1) { trace (i); } |
Мдя :)
Но это все-таки несколько другой случай. Тут - явная погрешность вычислений. Мой же случай - связан именно с координатой. Там стоит какое-то специальное ограничение, связанное, возможно, с тем, что вряд ли кому-то придется наращивать координату на такое маленькое значение. А у меня такая задача была, один объект должен двигаться в 25 раз медленне другого. И вот тут синхронизация неожиданно (для меня) нарушилась и я долго не мог найти причину. (Вдруг кому-то пригодится... не наступайте на мои грабли :) ) |
Колин Мука:
Дробные значения _x аппроксимилируются во Flash с помощью сглаживания. Базовая единица измерения во Flash - 1/20 часть пиксела, поэтому минимальное допустимое перемещение клипа составляет 0,05 пискела. |
Обойти можно есть два способа:
1. Ввести переменую которой присваивать значение +0.04, эту переменную потом присваивать как координату. Ошибки все равно будут, но они не будут накапливаться. 2. Увеличить объекты в 25, приращение увеличить до 1, и все это засунуть в клип который уменьшить в 25 раз. :) |
Именно первый вариант я и реализовал.
А насчет Колин Мука - нету пока книги. Три недели назад заказал по Инету и вот пока все жду... Надеюсь, с появлением книги и некоторые другие вопросы разрешатся :) iNils, спасибо за ответ. |
| Часовой пояс GMT +4, время: 14:42. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.