2

このコンポーネントの目的は、特定の科目に関する学生の知識をテストすることです。以下の例では、地理です。生徒には、単語が欠落しているテキストが渡されます。彼/彼女は不足している単語を埋める (この場合はタイプする) 必要があります - したがって、この種のテスト/演習はギャップ埋めと呼ばれます。

ロンドンは ________ であり、______________ で最大の都市部です。2000 年間の重要な入植地であったロンドンの歴史は、____________ による創設にまでさかのぼります。

コンポーネントは、テキスト内に「フローティング」ギャップがあるテキストを表示できる必要があります。これらのギャップは、TextInput コントロールと同様の動作をします。学生が回答を送信すると、コンポーネントは入力された単語を返し、これらが予想される回答と比較されます。

コンポーネントはテキストを表示できる必要があり、ギャップは必要なすべてのパラメーターをテキストから動的に導出します。ギャップの位置は、テキスト内のギャップの位置とギャップのサイズ (文字数) を示す特別なトークン (#10# など) でマークできます。

したがって、上記のテキストは、コンポーネントにロードされる前は次のようになります。

ロンドンは#10#であり、#15#で最大の都市部です。2000 年間の重要な入植地であったロンドンの歴史は、#8# による創設にまでさかのぼります。

4

3 に答える 3

2

フローレイアウトをサポートするコンテナが必要です。これは標準のFlexフレームワークの一部ではありませんが、ここ(優れたFlexLibの一部)とここ(スタンドアロンの実装)でいくつかの実用的な実装を見つけることができます。

于 2008-09-25T11:11:02.040 に答える
0

キャンバスがあり、ラベルとテキスト入力を動的に追加できると思います。ここでの問題は、改行がどこにあるのかを知ることです。設定されたテキストからテキストベースのコントロールの幅を簡単に計算する方法はわかりませんが、可能でなければなりません。

あなたのためにこれを行うことができるレイアウト コントロールがあるかどうか疑問に思いましたが、制限が厳しすぎる HBox と VBox しか表示されません。一般的な自動折り返しレイアウト コントロールを作成または検索すると便利です。

于 2008-09-24T21:47:58.600 に答える
0

FlowBoxはその方法です。horizo​​ntalGap を使用して、テキストと入力ギャップの間の間隔を制御できます。

それをエンコードする方法に関しては、自由に閲覧できるjavascriptのバージョンがありました。レンダリングギャップフィル データのエンコードこれは、一般的な学習活動ジェネレーターのペット プロジェクトの一部でした。

それ以来、私は Flex に移行しました。Flex での学習活動のサンプルを用意しました。ギャップフィルは見つかりませんが、十分に近い回答を「入力」することができます。

すべてオープンソース。ただし、Flex を学んでいたときにこれを書いたことに注意してください。さまざまなテクニックを学ぶための言い訳でした。コードはほぼ確実に改善されます。

何か気の利いたことを思いついたら、eduforge のエクササイズ プロジェクトに貢献することを検討してください。

于 2008-09-27T03:21:51.280 に答える