Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.07.2008, 12:28
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 1  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
А как же мне это реализовать?
Я пока что не могу разобраться как динамически создавать листенеры...
попробую разобрать ваш пример, что вы скидывали в начале...

Старый 01.08.2008, 18:21
shurco2 вне форума Посмотреть профиль Отправить личное сообщение для shurco2 Найти все сообщения от shurco2
  № 2  
Ответить с цитированием
shurco2

Регистрация: Aug 2008
Сообщений: 35
уважаеммые GooRoo //
я модифицировал данные исходники под себя .. теперь он работает черех xml ...
подскажите как прикрутить к картинке внешнюю ссылку которая берется из xml .. подайте идею ... а я там сам что нужно попробую вставить .. а то бьюсь об эту задачю головой уже сутки .. и ничего не получается

Старый 30.10.2008, 11:25
nevedomskiy вне форума Посмотреть профиль Отправить личное сообщение для nevedomskiy Найти все сообщения от nevedomskiy
  № 3  
Ответить с цитированием
nevedomskiy

Регистрация: 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);
	};
}
Заранее спасибо.

Старый 29.07.2008, 12:50
ventblanc вне форума Посмотреть профиль Отправить личное сообщение для ventblanc Найти все сообщения от ventblanc
  № 4  
Ответить с цитированием
ventblanc

Регистрация: 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;
	
}
спасибо, если кто поможет
Вложения
Тип файла: rar lfj_3d.rar (187.2 Кб, 81 просмотров)

Старый 01.08.2008, 10:46
ventblanc вне форума Посмотреть профиль Отправить личное сообщение для ventblanc Найти все сообщения от ventblanc
  № 5  
Ответить с цитированием
ventblanc

Регистрация: Jul 2008
Сообщений: 2
найдена ошибка - оказалось что при создании мувиклипов была выбрана "контрольная точка" мувиклипа "middle", этот код работает при "контрольной точке" - "top". почемуто.

Старый 01.08.2008, 12:01
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
этот код работает при "контрольной точке" - "top". почемуто.
Потому что программно создаваемые клипы имеют начало координат в левой верхней точке. Поэтому код всегда опирается на этот стандарт (ну кроме каких-то конкретных случаев, например связанных с вращением клипа вокруг его центра).
Также всегда всю графику следует "ставить в ноль", т.е. чтобы точка 0,0 была в верхнем левом углу изображения. Собственно, в простейшем случае выделяете всю графику в кадре и пишете в полях координат ноли. Программа не обладает телепатией, чтобы самой догадываться, где у Вашего клипа ПОДРАЗУМЕВАЕТСЯ ноль. Она просто использует реальный ноль)))
По поводу кода - никогда так не делайте, создавайте ССЫЛКИ на клип и используйте их, не заставляйте процессор каждый раз высчитывать и разыскивать list3D["mc3d"+i]
Код:
for (var i:Number = 1; i<=N; i++)  {
	var m3d:MovieClip = list3D.attachMovie("mc3d"+i, "mc3d"+i, i);
	m3d._y = ((mcOld._y + mcOld._height) || mcOld._y)+L;
	mcOld = m3d;	
	m3d._x = m3d._width/2;
}


Последний раз редактировалось Wolsh; 01.08.2008 в 12:08.
Старый 18.10.2008, 02:51
NoCD вне форума Посмотреть профиль Отправить личное сообщение для NoCD Найти все сообщения от NoCD
  № 7  
Ответить с цитированием
NoCD
 
Аватар для NoCD

Регистрация: Jan 2006
Адрес: Novosibirsk
Сообщений: 353
создай функцию, которая будет обрабатывать xml документ.
а на счёт сколла.
Не проще ли вычислять положение мувика при помощи Math.floor?
Код:
conteiner //созданный мувик под контейнер
mx=Math.floor(conteiner.this._x/размер мувика) //целое число текущего положения по x
my=Math.floor(conteiner.this._y/размер мувика)//целое число текущего положения по y
Ведь удобно сделать скролл в контейнере, который можно разместить в любое место изменив conteiner._x и conteiner._y

Старый 31.10.2008, 12:16
nevedomskiy вне форума Посмотреть профиль Отправить личное сообщение для nevedomskiy Найти все сообщения от nevedomskiy
  № 8  
Ответить с цитированием
nevedomskiy

Регистрация: Oct 2008
Сообщений: 3
Вот для наглядности разместил мувик
http://rozenbaum2008.ru/baner/baner.html

Старый 31.10.2008, 12:22
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 9  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
У меня например никто не притормаживает, все движется плавно, единственно както неприятно для глаза - может фпс маленький?
__________________
Reality.getBounds(this);

Старый 31.10.2008, 15:15
nevedomskiy вне форума Посмотреть профиль Отправить личное сообщение для nevedomskiy Найти все сообщения от nevedomskiy
  № 10  
Ответить с цитированием
nevedomskiy

Регистрация: Oct 2008
Сообщений: 3
фпс ничего не дает... все равно поддергивание остается..

Создать новую тему Ответ Часовой пояс GMT +4, время: 08:13.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 08:13.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.