for (var i:int = 0; i < 6; i++) {
randomizedTexts[i].alpha = 0;
}
var itemLookingFor = randomizedTexts[randomizedTexts.length - 3];
itemLookingFor.alpha = 1;
一切都很好,但是...我添加了两个箭头(左和右)的事件:
leftArrow.addEventListener(MouseEvent.CLICK, goLeft);
rightArrow.addEventListener(MouseEvent.CLICK, goRight);
在goLeft和goRight函数中,我需要显示位置3上的元素,如果我按左键显示randomizedArray [3] - 1直到randomizedArray [0]并且右边显示randomizedArray [3] + 1直到randomizedArray [ 5]。
我需要提一下我的数组已经洗牌了!!!
我的尝试:
private function goRight(e:MouseEvent):void
{
for (var i:int = 0; i < 6; i++) {
randomizedTexts[i].alpha = 0;
}
var toRight:Number = 3;
toRight++;
trace(toRight);
randomizedTexts[toRight].alpha = 1;
}
我知道每次goRight函数加入var并且右设置为3时都不好。(。
再一次,如果我不清楚......我得到了Shuffled数组,我隐藏了所有元素并从位置3的数组中显示元素,我得到了2个箭头,从数组开始向左和向右循环数组[ 3]。我试图实现的是如何循环向左和向右。谢谢:)
答案 0 :(得分:1)
根据您拥有的内容,您需要更多跟踪goLeft和goRight位置的变量。您还应该创建一个单独的函数来清除所有alpha。每次调用goLeft或goRight函数时,它都会向上或向下迭代它应该定位的索引。
var leftPosition: int;
var rightPosition: int;
var centerPosition: int; // this can be used if you want your center position to be dynamic
var randomizedTexts: Array;
var itemLookingFor: Sprite;
init();
private function init() {
centerPosition = 3; // Change this number if you switch to something dynamic
rightPosition = centerPosition + 1;
leftPosition = centerPostion - 1;
leftArrow.addEventListener(MouseEvent.CLICK, goLeft);
rightArrow.addEventListener(MouseEvent.CLICK, goRight);
itemLookingFor = randomizedTexts[centerPosition];
zeroAlphas();
}
private function zeroAlphas():void {
for (var i:int = 0; i < randomizedTexts.length; i++) {
randomizedTexts[i].alpha = 0;
}
}
private function goRight(e:MouseEvent):void {
if(rightPosition < randomizedTexts.length -1) {
randomizedTexts[rightPosition++].alpha = 1;
}
}
private function goLeft(e:MouseEvent):void {
if(leftPosition > 0) {
randomizedTexts[leftPosition--].alpha = 1;
}
}