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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.12.2009, 03:54
noode вне форума Посмотреть профиль Отправить личное сообщение для noode Найти все сообщения от noode
  № 1  
Ответить с цитированием
noode
 
Аватар для noode

Регистрация: Dec 2008
Сообщений: 95
Post Длина массива и "-1"

Всем привет, после просмотра урока о эффекте для движения курсора, задался вопросом в коде..
Буду признателен тем кто объяснит...

Код AS1/AS2:
onClipEvent(load){
	Mouse.hide();
	trail = new Array();
	trailNum = 0;
	speed = 4;
 
}
 
onClipEvent(enterFrame){
	var m:MovieClip = _root.attachMovie('mc', 'mc'+trailNum, trailNum);
	m._x = _root._xmouse;
	m._y = _root._ymouse;
 
	trail.push(m);
	trailNum++;
 
	for(i=trail.length-1;i>=0;i--){
		trail[i]._alpha-=speed;
		trail[i]._xscale-=speed;
		trail[i]._yscale-=speed;
		trace(i)
		if(trail[i]._alpha<=0){
			trail.splice(0,1);
			trail[i].removeMovieClip();
			}
		}
 
 
	}

Непонятен именно этот момент:

i=trail.length-1

Старый 11.12.2009, 04:13
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 2  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
это цикл от последнего элемента к первому. length - длина. Если в массиве один элемент, то length = 1, но индекс первого элемента - [0], если в массиве n эелементов, то индекс последнего элемента в массиве - [length-1].
__________________
мой пустой блог

Старый 11.12.2009, 09:13
noode вне форума Посмотреть профиль Отправить личное сообщение для noode Найти все сообщения от noode
  № 3  
Ответить с цитированием
noode
 
Аватар для noode

Регистрация: Dec 2008
Сообщений: 95
это то все ясно...
но зачем "-1"

Старый 11.12.2009, 10:02
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Ключевое слово во втором посте — «индекс».

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

Регистрация: Dec 2008
Сообщений: 95
тоесть в массиве первый элемент всегда должен быть с индексом 0 ?

Старый 11.12.2009, 10:45
Zik. вне форума Посмотреть профиль Отправить личное сообщение для Zik. Найти все сообщения от Zik.
  № 6  
Ответить с цитированием
Zik.
 
Аватар для Zik.

Регистрация: Nov 2007
Сообщений: 1,724
Допустим есть массив
Код AS1/AS2:
var a:Array = [10, 20, 30, 40, 50, 60, 70, 80, 90]
Длина массива - 9
Индекс последнего элемента - 8
Потому что отсчет идет с нуля
Код:
10 - [0]
20 - [1]
30 - [2]
40 - [3]
50 - [4]
60 - [5]
70 - [6]
80 - [7]
90 - [8]
Собственно, если мы напишем просто .length, то в цикле произойдет ошибка, так как последнего элемента не будет существовать, так как мы будем обращаться к девятому индексу (length = 9), а конечный индекс = 8

Старый 11.12.2009, 17:49
noode вне форума Посмотреть профиль Отправить личное сообщение для noode Найти все сообщения от noode
  № 7  
Ответить с цитированием
noode
 
Аватар для noode

Регистрация: Dec 2008
Сообщений: 95
"Потому что отсчет идет с нуля"
этого ответа было достаточно!))

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

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

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


 


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


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