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

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

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

Регистрация: Apr 2007
Адрес: Ukraine,Kharkov
Сообщений: 103
По умолчанию перейти к след. элементу массива

Подскажите, пожалуйста, как переходить к след. элементу массива? не конкретному, а следующему или предыдущему. У меня такой пример: есть несколько картинок в ряд и по бокам этих картинок стоят кпопки "назад" и "вперед" в общем при нажатии,допустим на кпопку "вправо" нужно чтобы от текущей картинки программа обращалась к соседней справа. В каждой картинки есть символ тени которая угосает когда обращаешься к конкретной картинки и картинка становиться светлее. Тени я поместил в массив. Подскажите, плз, как реализовать такой механизм? при помощи цикла может?

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

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
как-нибудь так:
Код:
var arr:Array = [mcDsd,mcWasd,mcRasdfs,mcFffff]
var n:Number = arr.length;
for(var i=0; i<n; i++){
     arr[i].index = i;
}
trace(arr[mcRasdf.index-1])
__________________
: M F N W :

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

Регистрация: Apr 2007
Адрес: Ukraine,Kharkov
Сообщений: 103
Спс, сейчас попробую

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

Регистрация: Apr 2007
Адрес: Ukraine,Kharkov
Сообщений: 103
я попробовал, но не выходит то, что я хочу:


Код:
var AllBotlles:Array = [bottleButtonHolder.botkes_holder.shadow1, bottleButtonHolder.botkes_holder.shadow2, bottleButtonHolder.botkes_holder.shadow3, bottleButtonHolder.botkes_holder.shadow4];
 bottleButtonHolder.nt_btn.onRelease = function() {
		
var n:Number =AllBotlles.length;
for(var i=0; i<n; i++){
     AllBotlles[i].index = i;
	
	
	
}
// trace(AllBotlles[i].index);
trace("ddddddddd "+ AllBotlles[ bottleButtonHolder.botkes_holder.shadow1.index+1])
 
 
 
 }

При нажатии на кпопку "вправо" трейс выводит 2й элемент. А как сделать так чтобы при каждой нажатии на "вправо" выводил след элемент? 1 раз нажал трейс показал - 1 , 2й раз - показывает 2.... и т.д.

Старый 29.03.2008, 22:28
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 5  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Цитата:
Сообщение от Danss
не конкретному, а следующему или предыдущему.
У самого массива нет таких понятий, текущей, следующий или предыдущий. К любому элементу массива можно обратиться только по индексу.
Поэтому вы должны завести переменную, которая хранит индекс текущего элемента и соответснно делать ++ или --, для того чтобы получить нужный индекс (при условии, что элементы идут без пропуска.)
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Apr 2007
Адрес: Ukraine,Kharkov
Сообщений: 103
спасибо за ответ, но я еще слабоват в ас, как именно это реализовать? можете написать простой пример, пожалуйста.

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

Регистрация: Apr 2007
Адрес: Ukraine,Kharkov
Сообщений: 103
В общем я пытался сделать так:

Код:
var AllBottles:Array = [shadow1,shadow2, shadow3, shadow4];
nt_btn.onRelease = function() {
		
var n:Number =AllBottles.length;
for(var i=0; i<n; i++){
     AllBottles[i].index = i;
	
}
var indexArr = AllBottles[0];
indexArr++;
trace(indexArr);
Но трейс выводит мне NaN
Помогите кто нибудь, плз, очень надо ))

Старый 30.03.2008, 03:09
MrPoma вне форума Посмотреть профиль Отправить личное сообщение для MrPoma Посетить домашнюю страницу MrPoma Найти все сообщения от MrPoma
  № 8  
Ответить с цитированием
MrPoma
 
Аватар для MrPoma

Регистрация: Jul 2006
Адрес: Питер
Сообщений: 2,083
Отправить сообщение для MrPoma с помощью Skype™
Код:
var allBottles:Array = [shadow1, shadow2, shadow3, shadow4];
var currentIndex:Number = 0;

btn.onRelease = function(){
	trace(allBottles[currentIndex]);
	currentIndex ++;
	
	if(currentIndex >= allBottles.length){
		currentIndex = 0;
	}
}

Старый 30.03.2008, 03:17
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 9  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
это что по вашему должно случиться то?
Код:
var indexArr = AllBottles[0];
indexArr++;
AllBottles[0] - это же не нумбер. вот вам и НаН
__________________
: M F N W :

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

Регистрация: Apr 2007
Адрес: Ukraine,Kharkov
Сообщений: 103
Спасибо, заработало

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

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

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


 


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


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