![]() |
|
||||||||||
|
|||||
|
при установке flash6 в семплах есть такой файл, где двигается божья коровка с помощью джойстика, управляемого мышкой. Когда отпускаешь джойстик, то он возвращается в исходное положение. Этот возврат осуществляется с помощью такого кода:
получаются такие своеобразные колебания. Почему-то этот код не работает во flash8!!!! Последний раз редактировалось pupo4kin; 09.11.2006 в 16:14. |
|
|||||
) всё гениальное просто!!!СПАСИБО!! |
|
|||||
|
ещё одна проблема появилась! не получается создать два такких объекта. Т.е. создать получается, но выходит какая-то белиберда с возвращением...почему-то не в те точки возвращаются мувики!!
|
|
|||||
|
Вот так выглядит код для муви клипа "mc":
tension =0.5;
decay =0.5;
x=mc._x;
y=mc._y;
xSpeed=0;
ySpeed=0;
onEnterFrame = function() {
r=Math.sqrt((_root._xmouse-x)*(_root._xmouse-x)+(_root._ymouse-y)*(_root._ymouse-y));
r=Math.ceil(r);
with(mc){
if (r<=50){
_x=_parent._xmouse;
_y=_parent._ymouse;
} else {
xSpeed =-_x*tension+(xSpeed*decay);
_x += xSpeed+x;
ySpeed = -_y*tension+(ySpeed*decay);
_y += ySpeed+y;
}
}
}
tension=0.5;
decay=0.5;
x=mc._x;
y=mc._y;
x1=mc1._x;
y1=mc1._y;
xSpeed=0;
ySpeed=0;
onEnterFrame=function() {
r=Math.sqrt((_root._xmouse-x)*(_root._xmouse-x)+(_root._ymouse-y)*(_root._ymouse-y));
r=Math.ceil(r);// расстояние от курсора до центра муви клипа
with(mc){
if (r<=100){
_x=_parent._xmouse;
_y=_parent._ymouse;
} else {
xSpeed =-_x*tension+(xSpeed*decay);
_x += xSpeed+x;
ySpeed = -_y*tension+(ySpeed*decay);
_y += ySpeed+y;
}
}
r=Math.sqrt((_root._xmouse-x1)*(_root._xmouse-x1)+(_root._ymouse-y1)*(_root._ymouse-y1));
r=Math.ceil(r);
with(mc1){
if (r<=50){
_x=_parent._xmouse;
_y=_parent._ymouse;
} else {
xSpeed =-_x*tension+(xSpeed*decay);
_x += xSpeed+x1;
ySpeed = -_y*tension+(ySpeed*decay);
_y += ySpeed+y1;
}
}
}
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Назвать мувиклипы mc0 и mc1, а потом вставить скрипт
tension = 0.5;
decay = 0.5;
onEnterFrame = function () {
for (var i = 0; i < 2; i++) {
var mc = this["mc" + i];
if (!mc.flag) {
mc.flag = true;
mc.x = mc._x;
mc.y = mc._y;
mc.xSpeed = 0;
mc.ySpeed = 0;
}
var r = Math.ceil (Math.sqrt ((this._xmouse - mc.x) * (this._xmouse - mc.x) + (this._ymouse - mc.y) * (this._ymouse - mc.y)));
if (r < 101) {
mc._x = this._xmouse;
mc._y = this._ymouse;
} else {
mc.xSpeed = -mc._x * tension + (mc.xSpeed * decay);
mc._x += mc.xSpeed + mc.x;
mc.ySpeed = -mc._y * tension + (mc.ySpeed * decay);
mc._y += mc.ySpeed + mc.y;
}
}
};
|
|
|||||
|
ха! с циклом я тоже делал..тока без флага...
спасибо, очень помог....буду разбираться... |
|
|||||
|
зайди на http://www.gringos.ru/v3/ там ещё ничего не доделано, но меню, благодаря тебе, получилось..
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Посмотрел, надо либо уменьшить зону реагирования, либо растояние мужде кружками подобрать чтобы они не пересекались, либо и то и другое. А то я умудряюсь собрать в одну кучу web, logo и print.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 00:36. |
|
|
« Предыдущая тема | Следующая тема » |
|
|