![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Лан. Я чел в душе добрый (но только в душе)
. Ща займусь. А на счет долга не беспокойтесь. Это лишнее.Кстати, плиз выложи исходник в формате Флеша8, а не CS3, А то неоткрывается. Последний раз редактировалось Alex_beginner; 01.06.2008 в 15:24. |
|
|||||
|
Регистрация: Aug 2006
Сообщений: 40
|
Огромное спасибо!
Последний раз редактировалось mayday; 01.06.2008 в 15:28. Причина: замена вложения |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Мож я че то недопер! А в исходнике че кода вообще нету?
|
|
|||||
|
Регистрация: Aug 2006
Сообщений: 40
|
код не в руте
мувик container |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Нашел! Ну и запрятал. А че не в руте писал?
Как сделать прокрутку, то я сделал! posX=_root.mc._x;
posY=_root.mc._height/2;
posMask=0;
center = Stage.width/2;
var L:Number = 5;
//длина зазора между кнопками
var N:Number = 5;
//количество кнопок
var G:Number = 1;
//скорость для кнопок
var Q:Number = G;
//
for (var i:Number = 1; i<=N; i++)
{
this.attachMovie("photo"+i, "photo"+i, i);
this["photo"+i]._x = ((mcOld._x + mcOld._width) || mcOld._x)+L;
this["photo"+i]._y = posY;
mcOld = this["photo"+i];
}
this.onEnterFrame = function():Void
{
shag = (center-_xmouse)/30;
for (var i:Number = 1; i<=N;i++)
{
this["photo"+i]._x+=shag;
}
}
Последний раз редактировалось iNils; 01.06.2008 в 17:28. |
|
|||||
|
Регистрация: Aug 2006
Сообщений: 40
|
|
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
mayday! Я вам предоставлю полный код! Ждите.
Кстати, я забыл спросить, сегодня до скольки Вам нужно это сделать! Я уже знаю как сделать, только вот допишу щас в флеше. И еще я иногда пропадаю из форума - Интернет глючит (через WI-FI). Но не переживайте усе будет упорядке! |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
mayday! Вот оно. Не бог весть, что но работает.
Возможно, есть более красивые и простые варианты реализации этого, но я всего лишь beginner. А посему пусть этот код правят продвинутые флешеры, коих здесь на форуме неисчислимое множество. На счет кода - L я убрал чтоб мозг себе им не компостировать, когда разберетесь как работает код, вставьте L в нужные места и все будет отлично. Правда я подозреваю, что вся эта задача решается куда проще(пока незнаю как). posX=_root.mc._x;
posY=_root.mc._height/2;
posMask=0;
center = Stage.width/2;
var L:Number = 5;
//длина зазора между кнопками
var N:Number = 5;
//количество кнопок
var G:Number = 1;
//скорость для кнопок
var Q:Number = G;
//
var indexArr:Array = [];
for (var i:Number = 1; i<=N; i++)
{
this.attachMovie("photo"+i, "photo"+i, i);
this["photo"+i]._x = ((mcOld._x + mcOld._width) || mcOld._x);
this["photo"+i]._y = posY;
mcOld = this["photo"+i];
indexArr.push(i);
}
var mcLast1 = this["photo"+N]._x-60;//Здесь можно другую область скролирования поставить
var mcLast2 = -this["photo1"]._width;
var index:Number = null;
var tmpVar:Object = {};
this.onEnterFrame = function():Void
{
shag = (center-_xmouse)/10;
for (var i:Number = 1; i<=N;i++)
{
if ((this["photo"+i]._x)>mcLast1)
{
tmpVar =indexArr.pop();
this["photo"+tmpVar]._x=this["photo"+indexArr[0]]._x-this["photo"+tmpVar]._width;
indexArr.unshift(tmpVar);
}
if ((this["photo"+i]._x)<mcLast2)
{
tmpVar =indexArr.shift();
this["photo"+tmpVar]._x=this["photo"+indexArr[N-2]]._x+this["photo"+indexArr[N-2]]._width;
indexArr.push(tmpVar);
}
this["photo"+i]._x+=shag;
}
}
|
|
|||||
|
Регистрация: Aug 2006
Сообщений: 40
|
Эврика! Работает!
Alex_beginner, огромное спасибо!!! |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
Alex_beginner-ты крут - и правда все работает, я вот то же самое пытаюсь сделать только горизонтальный скролл.
У меня походу родились вопросы над которыми я попарился но так и не смог решить. 1. как сделать чтоб скролирование происходило только когда мышка над mc? я решил этот вопрос так: this.onEnterFrame = function():Void{
if (ok){
shag = (center-_xmouse)/10;
for (var i:Number = 1; i<=N;i++)
{
if ((this["photo"+i]._x)>mcLast1)
{
tmpVar =indexArr.pop();
this["photo"+tmpVar]._x=this["photo"+indexArr[0]]._x-this["photo"+tmpVar]._width;
indexArr.unshift(tmpVar);
}
if ((this["photo"+i]._x)<mcLast2)
{
tmpVar =indexArr.shift();
this["photo"+tmpVar]._x=this["photo"+indexArr[N-2]]._x+this["photo"+indexArr[N-2]]._width;
indexArr.push(tmpVar);
}
this["photo"+i]._x+=shag;
}
}
}
2.Дальше еще круче - что если у меня не пять картинок-кнопок а например 200? можно ли проделать все-это динамически динамически создавать клип и внего грузить определенную картинку скажем ico1.jpg, ico2.jpg и.т.д. естественно с заранее известным количеством фалов ico.jpg? 3.наконец для меня самое загадочное - как мне узнать номер кнопки на которую я нажал я вот так сделал потому что по другому не сумел: var indexArr:Array = [];
for (var i:Number = 1; i<=N; i++) {
this.attachMovie("photo"+i,"photo"+i,i);
this["photo"+i]._y = ((mcOld._y+mcOld._height) || mcOld._y)+L;
this["photo"+i]._x = posY;
mcOld = this["photo"+i];
indexArr.push(i);
this["photo"+i].onPress = function() {
var p = this;
loadMovie("media/pict/pict"+p+".jpg", "_parent.ekr");
};
}
|
![]() |
![]() |
Часовой пояс GMT +4, время: 22:20. |
|
|
« Предыдущая тема | Следующая тема » |
|
|