PDA

Просмотр полной версии : Помогите с панорамным движением


sqrt
13.07.2007, 18:47
У меня есть панорамная картинка 11700х270. мне надо что она двигалась, а когда доходила до конца, то опять ишла по кругу.Пример как на сайте citroen.ru. Я сделал так что она по умолчанию движеться слева направо, с левого и правгого бока сделал кнопочки при наведении на них взависимости от стороный картинка изменяет скорость и направление(если левая кнопка-влево+скорость, права-вправо+скорость). Теперь чтоб она проигрывалась по кругу. понятней будет если зайти на сайт citroen.ru. Помогите пожалуйста

ScaredShard
13.07.2007, 19:34
две картинки рядом в мувике построй и "крути" две сразу с проверкой координат

sqrt
13.07.2007, 20:24
w=11700;
ow=11650;
_root.rb.useHandCursor=false;
_root.lb.useHandCursor=false;
onEnterFrame=function()
{
gl._x-=2;
gl1._x-=2;
rb.onRollOver=function(){
onEnterFrame=function(){
gl._x-=4;
gl1._x-=4;
}}
rb.onPress=function(){
onEnterFrame=function(){
gl._x-=10;
gl1._x-=10;
}}
rb.onRelease=function(){
onEnterFrame=function(){
gl._x-=4;
gl1._x-=4;
}}
rb.onRollOut=function(){
onEnterFrame=function(){
gl._x-=2;
gl1._x-=2;
}}
lb.onRollOver=function(){
onEnterFrame=function(){
gl._x=gl._x+4;
gl1._x=gl1._x+4;
}}
lb.onPress=function(){
onEnterFrame=function(){
gl._x=gl._x+10;
gl1._x=gl1._x+10;
}}
lb.onRelease=function(){
onEnterFrame=function(){
gl._x=gl._x+4;
gl1._x=gl1._x+4;
}}
lb.onRollOut=function(){
onEnterFrame=function(){
gl._x-=2;
gl1._x-=2;
}}
x1=_root.gl1._x;
x2=_root.gl._x;
x1+=2;
if(x1<-_root.ow){
x1+=_root.ow;
}
if(x1>0){
x1=-_root.ow;
}
x2=x1+_root.ow;
_root.gl1._x=x1;
_root.gl._x=x2+2;
}вот исходный код.
gl,gl1-картинка 1 и 2
lb,rb-соответственно кнопки.
мне просто надо чтоб при нажатии было проигрывалось быстрей и при наведении медленей

iNils
13.07.2007, 20:29
Для оформления своего кода, надо использовать теги .

Wolsh
15.07.2007, 03:45
Примерно так:
speed=2;// скорость
napr=1;// направление
_root.rb.useHandCursor=false;
_root.lb.useHandCursor=false;
onEnterFrame=function()
{
gl._x+=speed*napr;
rb.onRollOver=function(){
speed=-4;
napr=1;
}
rb.onPress=function(){
speed=-10;
napr=1;
}
rb.onRelease=rb.onRollOver;
rb.onRollOut=function(){
speed=-2;
napr=1;
}
lb.onRollOver=function(){
speed=4;
napr=1;
}
lb.onPress=function(){
speed=10;
napr=1;
}
lb.onRelease=lb.onRollOver;
lb.onRollOut=function(){
speed=-2;
napr=1;
}
napr*=gl._x>-10 ? -1 : gl._x<(Stage.width+10-gl._width) ? -1 : 1;
}

Только я тут предположил что ты воспользовался советом свыше и засунул все картинки в ОДИН мувик :)
---------------- u p d a t e -----------------------
Cорри, я тут с утра на свежую голову перечитал - тебе другое нужно.
Здесь картинка до конца доходит и начинает двигаться в обратную сторону, а тебе надо по кругу.
Код не удаляю, может кому пригодится, а тебе попробую написать другой.

Wolsh
15.07.2007, 13:01
Ну вот это работает, только мигает в момент подстановки... Не знаю, можно ли както вылечить. gl и gl1 - два совершенно одинаковых мувика, их надо поставить в ряд вплотную.
speed=2;
smesh=-gl._width;
_root.rb.useHandCursor=false;
_root.lb.useHandCursor=false;
onEnterFrame=function()
{
gl._x=gl._x+speed;
gl1._x=gl._x+smesh;
//кнопки
rb.onRollOver=function(){
speed=-4;
}
rb.onPress=function(){
speed=-10;
}
rb.onRelease=rb.onRollOver;
rb.onRollOut=function(){
speed=-2;
}
rb.onReleaseOutside=rb.onRollOut;
lb.onRollOver=function(){
speed=4;
}
lb.onPress=function(){
speed=10;
}
lb.onRelease=lb.onRollOver;
lb.onRollOut=function(){
speed=-2;
}
lb.onReleaseOutside=lb.onRollOut;
//условия перестановок
if(gl._x>-100 && gl1._x>gl._x){
smesh = -gl._width;
}
if(gl._x<(Stage.width+100-gl._width)&& gl1._x<gl._x){
smesh = gl._width;
}
if(gl._x>gl._width-100){
gl._x = gl._x-gl._width*2;
}
if(gl._x<-100-gl._width){
gl._x = gl1._x+gl._width;
}
}

sqrt
18.07.2007, 13:34
не работает

они и так стоят вместе

CGandA
18.07.2007, 15:10
Вот так работает

Wolsh
18.07.2007, 16:21
куда там не работает. я штоли прямо из головы тебе сюда написал :) всё протестено.

sqrt
26.07.2007, 14:57
ну а как избавиться от мигания??

CGandA
26.07.2007, 15:07
ну а как избавиться от мигания??
А вы исходник в 8-м посте смотрели?

Wolsh
26.07.2007, 15:15
Кстати да, там элегантненько решено для вашего случая, когда картинка широкая - всё ништяк и не мигает.

Ведьмак
26.07.2007, 15:37
я когда что-то подобное делал.. так сделал, чтобы когда мувик доходит до границы ему вслед аттачится такой же... когда новый мувик заполняет собой экран прежний удаляется со сцены..