Просмотр полной версии : Почему _alpha выдает странные результаты?
Mr. Fixit
06.10.2007, 23:04
n._alpha -=2;
trace(n._alpha) // 97.65625
или
trace(n._alpha=99) // 99
trace(n._alpha) // 98.828125
DarkLight
06.10.2007, 23:15
вобщем реально во флеше альфа 16ричная...поэтому остальные округляются...это обсуждалось на форуме и есть в книге Ш. Бхангала Флеш. Трюки. Поэтому если к альфе 0 100 раз сделать ++ она станет 78 всего. Точны только 0,25,50,75,100.
Mr. Fixit
06.10.2007, 23:20
ого, спасибо.
А еще хня была с классом Tween, где по оси _x мувик перемещался не на 260, а на 259.95 каждый раз.. почему так?
tweenSlider = new mx.transitions.Tween (_root.previewAnim_mc.preview_mc, '_x', mx.transitions.easing.Strong.easeInOut, _root.previewAnim_mc.preview_mc._x, to, 1, true);
Потому что у Flash Player по математике 2.
Я обчно на complete (или какое там событие? у меня свой твин) вешаю точные координаты.
DarkLight
07.10.2007, 00:01
что меня бесит во флеше: погрешности и антиализинг векторной графики, изза которого нарисовать ряд из 40 столбиков с тонкими ровными промежутками - уже головная боль(
Потому происходит конвертация значений 0—100 в 0—255.
Это еще хорошо. Пишу следующий код:
var a:Number = 0.16
var b:Number = 0.65
trace(a+b)
и выводит 0.80999999999999 вместо 0.81.
Что интересно, когда пишу
var a:Number = 0.16545
var b:Number = 0.65417
trace(a+b)
выводит 0,81962, т.е. все правильно
Казалось бы, что в первом случае результат должен быть точнее, но нет.
Альфа бывает и больше сотни. Если мувик имеет полупрозрачную заливку, при альфе 100 он полупрозрачен, а при альфе 200 - нет.
Это еще хорошо. Пишу следующий код:
var a:Number = 0.16
var b:Number = 0.65
trace(a+b)
и выводит 0.80999999999999 вместо 0.81.
А у меня выводит 0.81
Mr. Fixit
07.10.2007, 03:19
выводит 0.81
И в CS3, и во Flash 8 такой же результат - 0.80(9).
Только сложение дробных чисел до 2 знаков после запятой дает такой результат. Парадокс.
Нет никаких парадоксов, уже обсуждали это все пару сотен раз.
Нет никаких парадоксов, уже обсуждали это все пару сотен раз.
В математических способностях флеша парадокса - нет, но есть в том, что у iNils`а, например, выводит как надо, у меня - нет, во Flex та же самая ситуация.
У меня, у iNils и Mr. Fixit выводит 0.81.
screamge
07.10.2007, 14:48
Я тоже проверил, всё чётко.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.