Просмотр полной версии : перейти к след. элементу массива
Подскажите, пожалуйста, как переходить к след. элементу массива? не конкретному, а следующему или предыдущему. У меня такой пример: есть несколько картинок в ряд и по бокам этих картинок стоят кпопки "назад" и "вперед" в общем при нажатии,допустим на кпопку "вправо" нужно чтобы от текущей картинки программа обращалась к соседней справа. В каждой картинки есть символ тени которая угосает когда обращаешься к конкретной картинки и картинка становиться светлее. Тени я поместил в массив. Подскажите, плз, как реализовать такой механизм? при помощи цикла может?
Fernando Costa
29.03.2008, 21:12
как-нибудь так: 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])
я попробовал, но не выходит то, что я хочу:
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.... и т.д.
не конкретному, а следующему или предыдущему.У самого массива нет таких понятий, текущей, следующий или предыдущий. К любому элементу массива можно обратиться только по индексу.
Поэтому вы должны завести переменную, которая хранит индекс текущего элемента и соответснно делать ++ или --, для того чтобы получить нужный индекс (при условии, что элементы идут без пропуска.)
спасибо за ответ, но я еще слабоват в ас, как именно это реализовать? можете написать простой пример, пожалуйста.
В общем я пытался сделать так:
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
Помогите кто нибудь, плз, очень надо ))
var allBottles:Array = [shadow1, shadow2, shadow3, shadow4];
var currentIndex:Number = 0;
btn.onRelease = function(){
trace(allBottles[currentIndex]);
currentIndex ++;
if(currentIndex >= allBottles.length){
currentIndex = 0;
}
}
Fernando Costa
30.03.2008, 03:17
это что по вашему должно случиться то?var indexArr = AllBottles[0];
indexArr++;AllBottles[0] - это же не нумбер. вот вам и НаН
Вот я вернулся опять :) я думал сделав трейсом все получиться и на клипах, но че то не получаетс.Подскажите плиз как и что нужно добавить?
var AllBotlles:Array = [shadow1,shadow2,shadow3,shadow4];
var currentIndex:Number = 0;
nt_btn.onRelease = function() {
trace(AllBotlles[currentIndex]);
currentIndex ++;
if(currentIndex >= AllBotlles.length){
currentIndex = 0;
}
}
Заранее благодарю. :)
Не понятно чего Вы хотите. Код на клип чтоли повесить?
не совсем на клип, хочу чтобы при клике на кнопку вправо или влево, клип (shadow1 или shadow2 и т.д.)уменьшал alpha до нуля...shadow это затемнение на картинках, которые должны осветлсяться, соответственно картинка под ними тоже светлее. ... трейсом переход от 1 до 4 го символа работает, но как это визуально реализовать не совсем пойму, как обьяснить программе что когда она перешла на текущий клип shadow то делать то то...а в данном случае уменьшать alpha до нуля. подскажите плз как сделать такое?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.