2013-12-11 6 views
0

아주 빠른 질문입니다. math.random()을 허용하지 않는 Google 네트워크의 일부 플래시 배너로 작업하고 있습니다. 랜덤을 모방 한 맞춤 배열로 대체 할 수있는 방법이 있습니까? 예 :AS3의 배열로 math.random() 바꾸기

var MyArray : Array = [3,6,4,3,6,7,4,6,3,3,5].

기본적으로 math.random을 다음과 같은 구문의 배열 번호로 바꾸는 방법을 알아야합니다. 숫자가 순차적으로 나오면 문제가되지 않습니다.

function myFunction():void { 
    myVariable = myVariableTwo + Math.random()*myVariableThree; 
} 

배열을 반복하고 번호를 추출해야합니까? 그렇다면 어떻게해야합니까?

나는 여전히 AS3에서 돌아 다니고있어, 당신이 아이에게 말하고있는 것처럼 그것을 설명하는 것을 두려워하지 마십시오.

도움이 될 것입니다.

+0

배열을을 예를 들어, [2,4,9,084341110]과 같이. 이 배열에서 숫자가 필요한 횟수를 미리 알아야합니다. 그런 다음 번호가 필요하면 myArray.shift()를 호출하십시오. 이렇게하면 배열의 첫 번째 자식을 줄뿐만 아니라 배열에서도 제거 할 수 있습니다. shift() 후에 예제 배열을 사용하여 첫 번째 실행을하면 [4,9,0,8 ... 등]이됩니다. 배열에서 옮겨 놓은 값을 저장하여 사용하고 myArray.push (일부 값)를 사용하여 배열의 맨 위에 다시 넣을 수도 있습니다 – DodgerThud

+0

@DodgerThud @DodgerThud @DodgerThud 관심을 가져 주셔서 감사 드리며 문제를 해결하는 데 많은 도움을 주실 수 있습니다! – dblaursen

답변

0

random seed algorithm을 구현하면 Math.random을 사용하지 않고 함수 호출에서 임의의 동작을 생성 할 수 있지만 Math.random을 사용하는 것을 좋아하지 않으므로 본질적으로 다른 형식의 동작을 에뮬레이션하는 것을 좋아하지 않을 수 있습니다.

대안은 단지 단에 다시 배열의 첫 번째 요소를 반환하고 푸시 기능과 함께 결과의 고정 배열을 재사용하도록 할 것이다 : 수동으로 추가로

package Rnd 
{ 
    public class Rnd 
    { 
     private static var VALUES:Array = [ 1, 5, 4, 5, 3, 8, 3, 2, 1, 1, 6, 9 ]; 

     public static function getValue():uint 
     { 
      var val:uint = Rnd.VALUES.shift(); 
      Rnd.VALUES.push(val); 
      return val; 
     } 
    } 
} 
+0

바로 그 자리에! 무리 감사! – dblaursen