0

먼저 Flash/AS를 처음 사용한다고 말하면서 미리 설명해야합니다.ActionScript 3 (AS3) SharedObject에서 데이터 수집

간단히 말해서, 저는 Flash에서 매우 기본적인 퀴즈 게임을 진행하고 있습니다. 사용자는 질문을 받고 답변을 선택해야합니다 (그들이 옳고 그른 대답을 선택했는지 여부에 관계없이).

내 직장에서 교육 도구로 사용됩니다, 우리는 등

내 최초의 생각, 사람들은 추가 교육을 필요로하는 사람들, 잘못/우 가지고 무엇을 결정하기 위해 사용자의 답변을 추적 할 수 있어야합니다 SharedObjects를 사용하여 답변을 수집하는 것입니다 (SO가 사용자별로 다르므로 이해가가는 것처럼 보입니다). 내 질문에도 불구하고 SO 데이터에 액세스하고 전자 메일을 보내고 관리자에게 텍스트 파일 (또는 무언가)을 내보낼 수있는 방법이 있습니까? 배열에 클릭을 저장하고 내보낼 수 있습니까?

다른 것은 우리가 사람들이 퀴즈를 다시 할 수 있기를 바라지 않는다는 것입니다. (90 % 이상의 질문에 대해서는 인센티브가 있습니다). 다른 생각은 사용자가 최종 화면에 도달하고 로그인 할 때 (게임을 이미 끝냈는지 확인하기 위해) 일단 데이터를 쓸 수 있다는 것입니다.

어쨌든, 그게 내가 겪고있는 문제입니다. 이메일을 보내거나 SO 데이터를 내보낼 수없는 경우 다른 옵션은 무엇입니까?

+0

또한이 게임에는 여러 장면이 있으므로 모든 장면에서 데이터를 저장하는 방법이 필요합니다. 지금 설정하는 방식으로 배열 데이터는 항상 현재 장면에서 수집 한 데이터로 덮어 씁니다. –

답변

0

먼저 SharedObjects를 사용하여 중요한 정보를 저장하는 것에 대한 메모 - 재검사를 막기 위해 퀴즈가 완료되었는지 여부를 저장하는 경우 귀하의 경우에는 바보가 아닙니다. 모든 사용자는 공유 객체를 삭제하거나 변경할 수 있으며 더 이상 해당 데이터가 없습니다.

답변을 추적하고 이메일로 전송하는 한 완전히 완료 할 수 있습니다. 사용자가 여러 세션을 통해 퀴즈를 풀도록하려는 경우 (퀴즈를 부분적으로 완료 한 후 나중에 다시 시도 할 때) 공유 대상에 저장하는 것은 불필요합니다. 단일 "세션"중에 공유 객체에 저장하는 것은 응용 프로그램이 실행되는 동안 메모리에 쉽게 저장 될 수 있습니다.

마지막으로 장면을 사용하고 있다고 언급했습니다. 대부분의 개발자는이를 권장합니다. 플래시 응용 프로그램을 개발하는 구식 모드입니다. 현재 개발 프로세스의 한 단계에서 그 부분을 제거 할 수 있다면, 적극 권장합니다. 같은 방식으로 이전과 공유 객체에 대한 참조를 잡을 수 있고, 다른 장면에서

// in your first Scene (here, labeled "Scene 1"), grab a reference to a SharedObject, I named mine "quiz" 
var so:SharedObject = SharedObject.getLocal("quiz"); 

// set up any necessary data structure for the data you plan to store 
if(!so.data.results){ 
    so.data.results = {}; 
} 

// you can check to see if data has already been written to the shared object, if so, you can use this to determine the flow of the quiz 
if(so.data.results.scene1Results){ 
    trace("scene 1 already completed: ",so.data.results.scene1Results); 
} 
else{ 
    so.data.results.scene1Results = "some value"; 
    so.flush(); 
    trace("scene 1 data stored"); 
} 

을 : SharedObject.getLocal("quiz");과 같이 데이터를 추가 여기 옆

주의 사항은, 당신이 어떻게 할 것입니다 퀴즈 진행.

  1. 이 (제안) 사용자가 선택한 주소로 POST 요청 및 이메일을 통해 정보를 수신하는 서버 측 스크립트를 구축 : 결과를 메일 링에 관해서는

    , 당신은 두 가지 옵션이 있습니다.
  2. (권장하지 않음) 퀴즈 결과가 이메일 본문으로 포함 된 mailto url을 생성하십시오. 이 문제는 사용자가 의도 한 수신자에게 보내기 전에 자신의 메일 클라이언트에서 결과를 편집 할 수있게합니다.
+0

철저히 답변 해 주셔서 감사합니다. 나는 장면이 선호되는 방법이 아니라는 것을 안다. 그러나 그것이 내가 가장 잘 알고있는 것이고 프로젝트의 시간 제한은 나의 손을 어느 정도 강요하는 종류이다. (sharedobjects와 함께)이 방법의 한계를 지적 해 주셔서 감사합니다 ... 저는 방탄이 아니지만 100 % 신뢰를 얻지 못했습니다. (a) 응답이 어디에서나 저장되거나 (b) 그들이 그것을 바꿀 수 있다는 것을 알아라. 메일 제안에 감사드립니다. 일반 mailto 솔루션은 확실히 문제입니다. 나는이 코드를 월요일에 시험해 볼 것이다. 다시 한번 감사드립니다. –