|
|
|||||
Интересно что думает макромедия вот по этому поводу:
onClipEvent (enterFrame) { trace(this._alpha); if(this._alpha == 100) this.direction = -5; if(this._alpha == 0) this.direction = 5; this._alpha += this.direction; } 100 94.921875 89.84375 84.765625 79.6875 74.609375 69.53125 64.453125 59.375 54.296875 49.21875 44.140625 ..... и тд Или я просто плохо соображаю в час ночи??? |
|
|||||
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
макромедия об этом вообще-то пишет в хэлпе :))
правда в хэлпе МХ2004 я что-то не наблюдаю упоминаний... я в своё время тоже порадовался.. http://www.flasher.ru/forum/showthre...EE%F0%EE%ED%FB и вот тут потом http://www.flasher.ru/forum/showthre...930#post297136 только в хэлпе под пятерку и МХ была лажа - написано было про 128 уровней альфы, а их 256 там, судя по полевым испытаниям. |
|
|||||
Да, тормознул таки...
В принципе очевидно конечно, и пока до дома ехал понял, что вряд ли какой нибудь драйвер поддерживает альфу измеряющуюся в процентах Хотя раз альфа может быть отрицательной значит все эти градации про которые говорит макромедия фигня.... |
|
|||||
Регистрация: Aug 2001
Адрес: vg
Сообщений: 352
|
Не убивайтесь, эти грабли смотрятся куда веселее при подсчете чужих денег
|
|
|||||
МЕГАФЛЭШЕР
Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
|
насколько я понимаю, везде, тип double по определеню имеет приблизительное значение,
в Java, к примеру есть специальный класс для работы с числами с плавающей запятой BigDecimal... так если посмотреть на его внутреннее устройство, он работает с цифрами как со строками, и хранит отдельно что что слева от запятой и что справа, и представте себе затраты на такую работу с цифрой..... но это единственно возможный вариант, в делфи чтото похожее, .... поэтому на флэш тут грешить не нужно, единственное упущение - почему не дают работать с целыми числами, без всяких там даблов..... Последний раз редактировалось john; 03.07.2004 в 14:42. |
|
|||||
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
компадре вчера тестил эту фишку на нескольких системах и процах... и знаете, под виндой всё одинаково - везде одинаково закономерная ошибка (а следовательно это вполне можно считать фичей), а на линухе проглючивает фрагментарно так... где да где нет :)
2john ты прав, на флэш гнать не стоит, но почему это работает так неравномерно-то? :) не понимаю.. |
|
|||||
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
Цитата:
|
|
|||||
Регистрация: Aug 2001
Адрес: vg
Сообщений: 352
|
в том смысле что при конвертации, купле дензнаков одной страны за дензнаки другой, 0,005 в большинстве случае превращается в 0,0049999 со всеми вытекающими
в принципе это всего цент, но вот если его умножить на количество дневных сделок на нашем шарике, то получается весело. |
|
|||||
Ага. Кто-то злобный уже засел за очередной интернет-магазин на флэше.
__________________
судью - на мыло, из игроков - вить веревки. |
|
|||||
Регистрация: Jul 2004
Адрес: Москва
Сообщений: 28
|
Господа, все куда как проще!
Не буду вдаваться глубоко в подробности (в инете инфы по этой теме уйма) Эти все глюки растут из FPU (Floating point unit), т.е. математического модуля процессора, который собственно и занимается всеми вычислениями. Так вот у него есть так называемый регистр control word, где каждый битик отвечает за тот или иной аспект поведения этого юнита при различных вычислениях. Всякие там вызывать исключения при делении на 0, и т.п. Среди прочих там есть битики отвечающие за правила округления и точность. Так вот винда устанавливает этот регистр FPU во вполне определенное значение (разные версии винды в разные ) и этим объясняются обсуждаемые здесь "глюки". В принципе этот регистр можно менять самому, я это делал под Дельфой, но сомневаюсь что это позволит флеш. Кстати, что касается суммовых операций то тут все куда проще, смещаем принудительно разрядную сетку на 4 разряда (умножаем все суммы на 10000) а после любых вычислений делаем round результата, в итоге получаем целое число, которое точно представимо всегда (если не выходит за пределы разрядной сетки, но сильно я сомневаюсь что Вы оперируете подобными суммами ) Кстати, на этом же принципе сделан и денежный тип currency в той же Дельфи. |
Часовой пояс GMT +4, время: 23:22. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|