javascript - 向左和向右循环遍历as3中的向量

标签 javascript actionscript-3

嘿伙计们,我被困在这里了...我有一个包含 6 个元素的向量。所有元素最初都是隐藏的,然后我只显示位置 3 上的元素,如下所示:

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 toRight 都设置为 3 :( 。

再一次,如果我不清楚...我得到了随机排列的数组,我隐藏了所有元素并在位置 3 上显示数组中的元素,并且我有 2 个箭头从数组开始向左和向右循环数组[ 3]。我试图实现的是如何向左和向右循环。谢谢:)

最佳答案

根据您所拥有的,您需要更多一些变量来跟踪 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;
    }
}

关于javascript - 向左和向右循环遍历as3中的向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26608172/

相关文章:

javascript - 选择它们时从选择中删除选项并将值添加到 div。当点击div时,将选项返回给select

javascript - 使用 select2 的多个选择框(pillbox)

javascript - 如何读取 angular4 中响应 HTTP 请求而收到的 protobuf 对象

javascript - 使用 flash/AS3 读取第一方 cookie

actionscript-3 - 每次播放器达到新水平时,as3都会添加声音

javascript - ChartJS 中条形图的“barradius”不起作用

javascript - 刷新时出现 D3 词云错误

javascript - 在 Adob​​e AIR HTML 应用程序中悬停时播放声音

actionscript-3 - 如何在 ActionScript 3 中创建数组的浅拷贝

apache-flex - FileReference.browse() 在某些 Flash Player 上停止播放