Показать сообщение отдельно
Старый 01.11.2008, 03:21
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Честно говоря, у вас там ошибка на ошибке и стиль написания кода ужасный:

1. грузите в num, который является строкой! Наверно в s собирались грузить?

2. Бросайте писать
Код:
for (i = 1; i <= N; i++) {
и начинайте так
Код:
for (var i = 0; i < N; i++) {
особенно когда работаете с массивами, у них индексация начинается с нуля

3. Переменным давайте осмысленные названия, и вам легче будет помнить, что вы там храните, и другим (типа помогающим как я) будет понятнее, что у вас происходит.

4. Локальные переменные начинайте писать с var. Типизация тоже желательна.

5. onLoadInit вещается на слушатель (с помощью addListener), а не на экземпляр MovieClipLoader, причем MovieClipLoader нужен один.

6. onLoadInit срабатывает для каждой картинки, поэтому цикл там не нужен.

Должно получится примерно следущее
Код:
on (release) {
	//s = new Array();
	var s1 = new Array ();
	var N = 4;
	mcl = new MovieClipLoader ();
	mcl.addListener (this);
	for (var i = 0; i < N; i++) {
		f = 0;
		z = 1;
		rot = 0;
		coef = 1;
		num = "ph" + i;
		s = pic.duplicateMovieClip (num, 999 - i);
		if (i < 10) {
			var adress = "concert/concert_0" + i + ".jpg";
		} else {
			var adress = "concert/concert_" + i + ".jpg";
		}
		mcl.loadClip (adress, s);
		this.onLoadInit = function (target:MovieClip) {
			var phw = (736 - target._width) / 2;
			var phh = (572 - target._height) / 2;
			target._x = 72 + phw;
			target._y = 62 + phh;
			target._rotation = rot;
			var rot2 = rot;
			if (rot >= 14) {
				z = -1;
			}
			if (rot <= -2) {
				z = 1;
			}
			if (coef == -1) {
				rot = (rot) * coef;
			} else {
				rot = ((-1) * rot + 2 * z);
			}
			target._x += 2 * rot2;
			target._y -= 2 * rot2;
			coef = (-1) * coef;
			trace (this[num2] + " " + this);
		};
	}
}
__________________
(и)Нильс.ru | Плагины для FlashDevelop