0

最初に、私は Flash/AS の初心者です!

簡単に言うと、私は非常に基本的なクイズ ゲームを Flash で作成しています。ユーザーには質問が表示され、続行するには回答を選択する必要があります (正しい回答を選択するか、間違った回答を選択するかに関係なく)。

これは私の職場でのトレーニング ツールとして使用されます。また、ユーザーの回答を追跡して、ユーザーの正解/不正解、追加のトレーニングが必要なユーザーなどを判断できるようにする必要があります。

私の最初の考えは、SharedObjects を利用して回答を収集することです (SO はユーザー固有であるため、これは理にかなっているように思えました)。私の質問ですが、SO データにアクセスして電子メールを送信し、テキスト ファイル (または何か) をマネージャーにエクスポートする方法はありますか? おそらくクリックを配列に保存してエクスポートしますか?

もう 1 つは、人々がクイズを再受験できるようにしたくないということです (90% 以上の質問に正解するインセンティブがあります)。もう 1 つの考えは、ユーザーが終了画面に到達したら SO にデータを書き込んで、ログイン時に (ユーザーが既にゲームを終了しているかどうかを確認するために) チェックできるようにすることでした。

とにかく、それは私が直面している問題です。SO データを電子メールで送信/エクスポートできない場合、他にどのようなオプションがありますか?

4

1 に答える 1

0

最初に、SharedObjects を使用して重要な情報を保存することに関する注意事項です。あなたの場合、再受験を防ぐためにクイズが完了したかどうかを保存します。これは絶対確実ではありません。どのユーザーも共有オブジェクトを削除または変更できますが、そのデータはもうありません。

彼らの回答を追跡して電子メールで送信する限り、それは完全に実行可能です. ユーザーが複数のセッションでクイズを受けられるようにする (部分的にクイズを完了し、後でそれに戻る) 場合を除き、それらを共有オブジェクトに格納する必要はありません。単一の「セッション」中に共有オブジェクトに保存するものはすべて、アプリケーションの実行中に簡単にメモリに保存できます。

最後に、シーンを使用していると述べました。ほとんどの開発者はそれを推奨しません。これは、Flash アプリケーションを開発する時代遅れのモードです。現在、開発プロセスの中でそれらを取り除ける段階にある場合は、そうすることを強くお勧めします。

警告はさておき、これを行う方法は次のとおりです。

// 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");し、クイズの進行に合わせてデータを追加できます。

結果の郵送に関しては、次の 2 つのオプションがあります。

  1. (推奨) POST 要求を介して情報を受信し、選択したアドレスに電子メールで送信するサーバー側スクリプトを作成します。
  2. (非推奨) メールの本文としてクイズの結果を含む mailto URL を生成します。これの問題は、ユーザーが目的の受信者に送信する前に、自分のメール クライアント内で結果を編集できることです。
于 2013-12-13T21:40:06.177 に答える