Evgan
04.08.2009, 01:12
доброго времени суток
недумал что когда-нибудт с такой проблемой сталкнусь
может кто переболел таким?:
двигаются картинки галереи по средством переодичного прирощения к их координате значение параметра V
var Vmax:Number=1;
var V:Number=Vmax;
var dV:Number=0.1;
если наводим на на стрелочки ускорения движения, то переопределяем максимальную скорость:
Vmax=5;
или (в зовисимости от на какую именно навели)
Vmax=-5;
в переодичной функции, где происходит прирощение координаты, до этого события есть блок "плавного изменения скорости", что бы плавно "набирали" новую скорость:
if (V<Vmax) {
V += dV;
}
if (V>Vmax) {
V -= dV;
}
и бывает такие случаи, что установившееся значение скорости принимает непонятные значения:
при Vmax=-5, V=-5.1
при Vmax=2, V=-1.9
при Vmax=3, V=-2.9
при Vmax=4, V=-4.9
пытался найти момент сбоя и нашол (с помощью треев):
trace('_root.Vmax = '+_root.Vmax);
trace('_root.V n = '+_root.V);
trace(_root.V<_root.Vmax);
if (_root.V<_root.Vmax) {
_root.V += _root.dV;
trace('_root.V изм1 = '+_root.V);
}
trace('_root.Vmax = '+_root.Vmax);
trace('_root.V m= '+_root.V);
trace(_root.V>_root.Vmax);
//trace(_root.V == _root.Vmax);
if (_root.V>_root.Vmax) {
_root.V -= _root.dV;
trace('_root.V изм2 = '+_root.V);
}
trace('_root.V на прир = '+_root.V);
вот что трей выдал (по завершению набора скорости Vmax=-5):
_root.Vmax = -5
_root.V n = -5
false
_root.Vmax = -5
_root.V m= -5
true
_root.V изм2 = -5.1
_root.V на прир = -5.1
В шестой строчки мы видим true, но как такое может быть что один больше другого, если до этого мгновение трей показывает что действительно V и Vmax равно по -5?! что за чудеса такие?
спасибо всем кто откликниться по поводу этого недорозумения
недумал что когда-нибудт с такой проблемой сталкнусь
может кто переболел таким?:
двигаются картинки галереи по средством переодичного прирощения к их координате значение параметра V
var Vmax:Number=1;
var V:Number=Vmax;
var dV:Number=0.1;
если наводим на на стрелочки ускорения движения, то переопределяем максимальную скорость:
Vmax=5;
или (в зовисимости от на какую именно навели)
Vmax=-5;
в переодичной функции, где происходит прирощение координаты, до этого события есть блок "плавного изменения скорости", что бы плавно "набирали" новую скорость:
if (V<Vmax) {
V += dV;
}
if (V>Vmax) {
V -= dV;
}
и бывает такие случаи, что установившееся значение скорости принимает непонятные значения:
при Vmax=-5, V=-5.1
при Vmax=2, V=-1.9
при Vmax=3, V=-2.9
при Vmax=4, V=-4.9
пытался найти момент сбоя и нашол (с помощью треев):
trace('_root.Vmax = '+_root.Vmax);
trace('_root.V n = '+_root.V);
trace(_root.V<_root.Vmax);
if (_root.V<_root.Vmax) {
_root.V += _root.dV;
trace('_root.V изм1 = '+_root.V);
}
trace('_root.Vmax = '+_root.Vmax);
trace('_root.V m= '+_root.V);
trace(_root.V>_root.Vmax);
//trace(_root.V == _root.Vmax);
if (_root.V>_root.Vmax) {
_root.V -= _root.dV;
trace('_root.V изм2 = '+_root.V);
}
trace('_root.V на прир = '+_root.V);
вот что трей выдал (по завершению набора скорости Vmax=-5):
_root.Vmax = -5
_root.V n = -5
false
_root.Vmax = -5
_root.V m= -5
true
_root.V изм2 = -5.1
_root.V на прир = -5.1
В шестой строчки мы видим true, но как такое может быть что один больше другого, если до этого мгновение трей показывает что действительно V и Vmax равно по -5?! что за чудеса такие?
спасибо всем кто откликниться по поводу этого недорозумения