Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Минимальное приращение координаты. (http://www.flasher.ru/forum/showthread.php?t=71115)

Barss07 28.10.2005 18:32

Минимальное приращение координаты.
 
Так вышло, что мне клип надо было сдвигать на очень маленькое значение. И я столкнулся с проблемкой.

(Извините, если это всем известно.)

mov._x+=1/25; //(в цикле)

Из-за этой строки я чуть не свихнулся, потому что приращение оказалось может быть только кратным 0.05 :)
Т.е. 0.04 прибавить невозможно, оно все равно будет прибавлять 0.05.
Соответственно пришлось вводить какую-то "левую" переменную и "накручивать" ее.

Вот просто интересно - кто-нибудь сталкивался?

Gaen 28.10.2005 19:05

как-то не приходилось... :)

iNils 29.10.2005 13:06

Точность математических операций, оставляет желать лучшего.
Пример
for (var i = 6; i < 10; i += .1) {
trace (i);
}

Barss07 29.10.2005 15:36

Мдя :)
Но это все-таки несколько другой случай.
Тут - явная погрешность вычислений.

Мой же случай - связан именно с координатой.
Там стоит какое-то специальное ограничение, связанное, возможно, с тем, что вряд ли кому-то придется наращивать координату на такое маленькое значение. А у меня такая задача была, один объект должен двигаться в 25 раз медленне другого. И вот тут синхронизация неожиданно (для меня) нарушилась и я долго не мог найти причину.

(Вдруг кому-то пригодится... не наступайте на мои грабли :) )

iNils 29.10.2005 15:55

Колин Мука:
Дробные значения _x аппроксимилируются во Flash с помощью сглаживания. Базовая единица измерения во Flash - 1/20 часть пиксела, поэтому минимальное допустимое перемещение клипа составляет 0,05 пискела.

iNils 29.10.2005 15:59

Обойти можно есть два способа:
1. Ввести переменую которой присваивать значение +0.04, эту переменную потом присваивать как координату. Ошибки все равно будут, но они не будут накапливаться.

2. Увеличить объекты в 25, приращение увеличить до 1, и все это засунуть в клип который уменьшить в 25 раз. :)

Barss07 29.10.2005 16:25

Именно первый вариант я и реализовал.

А насчет Колин Мука - нету пока книги.
Три недели назад заказал по Инету и вот пока все жду...
Надеюсь, с появлением книги и некоторые другие вопросы разрешатся :)

iNils, спасибо за ответ.


Часовой пояс GMT +4, время: 14:42.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.