эх... обидно что нет советов... до сих пор нуждаюсь в помощи...
подскажите пожалуйста, в чём тут ошибка?..
АС матюкается на while... чего я добивался - при наведении мышки, чтобы "obj1_mc"(по привычке назвал) передвигалась(влево, вправо, верх, вниз), но без перестану, пока мышку мы не отведём с области "left"Код:import mx.transitions.Tween; import mx.transitions.easing.*; _root.left.onRollOver = function() { while (obj1_mc._x < 0) { _root.obj1_mc.varTweenY = new Tween(obj1_mc, "_x", Strong.easeOut, obj1_mc._x, obj1_mc._x-10, 1, true); } };
while - повторяй пока условие выполняется... почемуто мне кажеться что само условие как рас неправильное =)))
в общем жду коментариев =)
Последний раз редактировалось skinner; 06.06.2009 в 01:46.
эх... обидно что нет советов... до сих пор нуждаюсь в помощи...
Ну хоть бы написал что именно матюкается
очевидно ошибка синтаксиса какая-то
уже не матюкается... я поправил код, он перестал матюкаться...
но while не работает =(...
повторю код
без условия работает всё нормально, тоесть при наведении мышки двигается на "-10" пикселейКод:_root.left.onRollOver = function() { while (obj1_mc._x < 1) { _root.obj1_mc.varTweenY = new Tween(obj1_mc, "_x", Strong.easeOut, obj1_mc._x, obj1_mc._x-10, 1, true); }; };
пробывал условие двумя способами:Код:_root.left.onRollOver = function() { _root.obj1_mc.varTweenY = new Tween(obj1_mc, "_x", Strong.easeOut, obj1_mc._x, obj1_mc._x-10, 1, true); };
while (obj1_mc._x < 1) и while (obj1_mc._x > -1)
тоесть какое бы не было значение obj1_mc._x, оно всё равно попадёт в поле значений, либо в первом случае либо во втором, но увы нет...
и наконец уже попробывал самое тупое условие...
while (2 > -1)
... ноль эмоций...
наверное я чегото незнаю про использование while...
паралельно попробывал следующий код
код полностью рабочий. вывод значений правильный:Код:import mx.transitions.Tween; import mx.transitions.easing.*; _root.u.onRollOver = function () { var i:Number = 0; while (i < 4) { trace(i); _root.uu.varTweenY = new Tween(uu, "_x", Strong.easeOut, uu._x, uu._x-150, 1, true); i += 1; } }
0
1
2
3
но передвижение объекта "uu" происходит только один рас... хотя прибавление происходит после передвижения объекта...
до, после, и внутри вайла.Код:trace(obj1_mc._x); trace(_root.obj1_mc._x);
всё... до этого 2 раза ошибся... теперь правильный вывод...
вот что выводит:
540.95
540.95
0
540.95
540.95
1
540.95
540.95
2
540.95
540.95
3
540.95
540.95
540.95
540.95
390.95
390.95
0
390.95
390.95
1
390.95
390.95
2
390.95
390.95
3
390.95
390.95
390.95
390.95
240.95
240.95
0
240.95
240.95
1
240.95
240.95
2
240.95
240.95
3
240.95
240.95
240.95
240.95
я три раза навёл мышку на кубик(первый объект, кнопка), и кружок(второй объект, двигающийся) только три раза переместился...
Последний раз редактировалось skinner; 08.06.2009 в 22:00. Причина: Добавлено сообщение
То есть каждый раз ты создаёшь новый объект класса Tween, и каждый раз он реинициализируется - совершает определённые начальные действия для дальнейшей работы. Я не знаю что это за класс, но инициализация должна происходить однажды, после неё, для произведения какого-либо действия присущего классу, нужно использовать определённый метод созданого объекта._root.obj1_mc.varTweenY = new Tween(obj1_mc ...
Я ща пошарю в инете что это за класс Tween, но мне кажется твою задачу проще решить написав функциию вручную.
То ли я ещё играю роль, то ли роль уже играет мною.
на демиарте зареген?.. вот сылочка - http://demiart.ru/forum/index.php?sh...&refresh=38607
если нет, то кратко из описание:
1)Для чего предназначен Tween класс?
Tween класс позволяет создавать анимацию с помощью программного кода. Проще говоря - двигать, увеличивать, уменьшать, делать прозрачным, вращать нужный вам объект. Весьма удобное средство для создания и управления анимацией, по сравнению с ручным режимом . Этот класс экономит как размеры будущего исходного откомпилированного swf файла, так и оперативной памяти вашей рабочей лошадки.
http://livedocs.adobe.com/flash/8/ma...01.html#161886import mx.transitions.Tween;
import mx.transitions.easing.*;
var tawi = new Tween(ball, "_x", NULL, ball._x, 0, 3, true);
tawi.stop();
sq.onRollOver = function() {
tawi.resume();
};
sq.onRollOut = function() {
tawi.stop();
};
http://livedocs.adobe.com/flash/8/ma...2.html#3685179
Вроде оно.
P.S. Забивай на AS 2.0 :)
ЖРИ ЛСД @ СМОТРИ КОВЁР