![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
А как же мне это реализовать?
Я пока что не могу разобраться как динамически создавать листенеры... попробую разобрать ваш пример, что вы скидывали в начале... ![]() |
|
|||||
|
Регистрация: Aug 2008
Сообщений: 35
|
уважаеммые GooRoo //
я модифицировал данные исходники под себя .. теперь он работает черех xml ... подскажите как прикрутить к картинке внешнюю ссылку которая берется из xml .. подайте идею ... а я там сам что нужно попробую вставить .. а то бьюсь об эту задачю головой уже сутки .. и ничего не получается ![]() ![]() ![]() |
|
|||||
|
Регистрация: Oct 2008
Сообщений: 3
|
Нашел Ваш код, выражаю огромную благодарность за него. Он оказался очень полезен. Я - довольно плохо разбираюсь с кодами.. да и вообще во флеше. Хотел спросить как можно сделать так что бы вращающиеся кантинки не притормаживали а вращались максимально плавно?
на всякий случай код: var center:Number = Stage.width/2;
var speed:Number = 0.01;
var L:Number = 15;//длина зазора между клипами
var N:Number = 16;//количество кнопок
var count:Number = 3;//счетчик загрузки
var mcOld:MovieClip = null;//клип для смещения последующих клипов
var indexArr:Array = new Array();//массив для хранения клипов
var mcload:MovieClipLoader = new MovieClipLoader();// листенеры загрузки клипов
var mclListener:Object = new Object();
mcload.addListener(mclListener);
var tmpVar:Object;//MovieClip;
this.createEmptyMovieClip("menu_pic",this.getNextHighestDepth());
for (var i:Number = 1; i<=N; i++) {
var btn_menu:MovieClip = menu_pic.createEmptyMovieClip("mc_ico"+i, i);
mcload.loadClip("ico/ico"+i+".jpg", btn_menu);
}
mclListener.onLoadStart = function(btn_menu:MovieClip) {
};
mclListener.onLoadProgress = function(btn_menu:MovieClip) {
};
mclListener.onLoadComplete = function(btn_menu:MovieClip) {
};
mclListener.onLoadInit = function(btn_menu:MovieClip) {
indexArr.push(btn_menu);
btn_menu._x = ((mcOld._x+mcOld._width)+L || 0);
mcOld = btn_menu;
btn_menu._alpha = 100;
if ((count +=1) == N) go();
};
mclListener.onLoadError = function(btn_menu:MovieClip, errorCode:String) {
};
function go() {
var top_point:Number = menu_pic._x-3;
var bottom_point:Number = menu_pic._x+menu_pic._width+3;
this.onEnterFrame = function() {
var point = {y:10, x:indexArr[0]._x};
menu_pic.localToGlobal(point);
if ((point.x+menu_pic._width)>bottom_point) {
indexArr.unshift(indexArr.pop());
indexArr[0]._x = indexArr[1]._x-indexArr[0]._width-L;
}
if (point.x<top_point) {
indexArr.push(indexArr.shift());
indexArr[N-1]._x = indexArr[N-2]._x+indexArr[N-2]._width+L;
}
menu_pic._x += Math.floor((center-_xmouse)*speed);
};
}
|
|
|||||
|
Регистрация: Jul 2008
Сообщений: 2
|
![]() спасибо вам за код, всем, вот использовал под свои нужды и столкнулся с небольшими трудностями, а именно с attachMovie: 1. При атаче одинаковых картинок (по ширине и высоте) все как бы нормально (вложенный файл), но как только появляются меньшие/большие по высоте картинки - промежуток между ними нарушается, и они начинают либо налазить одна на другую (красная машина) либо слишком много место оставляют после (дом). Как бы это исправить? не силен в скрпте, копался-копался, но так ничего не смог придумать. и 2. При атаче, картинки внутри МувиКлипа выравниваются по левому краю. Не смог сделать по центру ![]() var N:Number = 14;
var L:Number = 20;
list3D = this.createEmptyMovieClip("list3D", this.getNextHighestDepth());
for (var i:Number = 1; i<=N; i++) {
list3D.attachMovie("mc3d"+i, "mc3d"+i, i);
list3D["mc3d"+i]._y = ((mcOld._y + mcOld._height) || mcOld._y)+L;
mcOld = list3D["mc3d"+i];
list3D["mc3d"+i]._x = list3D["mc3d"+i]._width/2;
}
![]() |
|
|||||
|
Регистрация: Jul 2008
Сообщений: 2
|
найдена ошибка - оказалось что при создании мувиклипов была выбрана "контрольная точка" мувиклипа "middle", этот код работает при "контрольной точке" - "top". почемуто.
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Также всегда всю графику следует "ставить в ноль", т.е. чтобы точка 0,0 была в верхнем левом углу изображения. Собственно, в простейшем случае выделяете всю графику в кадре и пишете в полях координат ноли. Программа не обладает телепатией, чтобы самой догадываться, где у Вашего клипа ПОДРАЗУМЕВАЕТСЯ ноль. Она просто использует реальный ноль))) По поводу кода - никогда так не делайте, создавайте ССЫЛКИ на клип и используйте их, не заставляйте процессор каждый раз высчитывать и разыскивать list3D["mc3d"+i] Последний раз редактировалось Wolsh; 01.08.2008 в 12:08. |
|
|||||
|
Регистрация: Jan 2006
Адрес: Novosibirsk
Сообщений: 353
|
создай функцию, которая будет обрабатывать xml документ.
а на счёт сколла. Не проще ли вычислять положение мувика при помощи Math.floor? Ведь удобно сделать скролл в контейнере, который можно разместить в любое место изменив conteiner._x и conteiner._y |
|
|||||
|
Регистрация: Oct 2008
Сообщений: 3
|
Вот для наглядности разместил мувик
http://rozenbaum2008.ru/baner/baner.html |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
У меня например никто не притормаживает, все движется плавно, единственно както неприятно для глаза - может фпс маленький?
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Oct 2008
Сообщений: 3
|
фпс ничего не дает... все равно поддергивание остается..
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:13. |
|
|
« Предыдущая тема | Следующая тема » |
|
|