2013-08-13 3 views
0

나는 Action Script 3에서 객관식 퀴즈를 만들고 있는데, XML 파일에 질문과 답변을 저장하고 싶습니다. 퀴즈가 실행되면 XML 파일에서 20 개의 질문을 추출하여 무작위로 추출합니다. XML 파일의 모든 질문과 대답을 배열에 넣고 해당 배열을 무작위로 배열 할 수있는 방법에 대한 아이디어가 있습니까?XML 파일 무작위 화

답변

1

귀하의 XML 질문

덕분에 매우 구체적인하지 않았다, 그래서 나는 어디서부터 시작 당신이 모르는 가정 단지 것이다. This은 XML로드 및 파싱을 진행해야합니다. 질문의 배열이 있으면

, 당신은 간단한 루프를 사용하여 스물 무작위로 사람들을 끌어와 새로운 배열로 이동합니다 array.splice 수 있습니다

var questions:Array = new Array(); 
while(questions.length < 20) { 
    questions.push(xmlQuestions.splice(Math.floor(Math.random() * xmlQuestions.length), 1)); 
} 

이 0 사이의 임의의 인덱스를 선택하고 n (여기서 n은 모든 질문을 포함하는 배열의 길이) 요소를 제거한 다음 새 배열로 밀어 넣습니다.

1

먼저 각 질문과 해당 답변의 xml 노드를 내부 클래스로 변환하십시오. 이렇게하면 데이터를보다 쉽게 ​​관리 할 수 ​​있습니다.

이렇게하면 클래스 유형의 개체 배열이 출력됩니다. 는 그런 다음 thusly 히

myArray.sort(function(obj0:*,obj1:*):Boolean{ return Math.random() < 0.5; }); 

그런 다음 단지 루프 배열 하나 하나 배열 셔플. 데이터가 객체 자체에 있으므로 답변 및 기타 관련 객체는 정렬 영역에서 객체와 함께 이동합니다. 따라서 관련 답변도 바꿀 필요가 없습니다.

참고 : sort 함수는 어떤 개체 유형인지는 신경 쓰지 않으므로 매개 변수에 범용 형식을 사용했습니다.

+0

user1884296이 대답으로 문제가 해결됩니까? – Discipol