3

Scratch < http://scratch.mit.edu >でドラッグアンドドロッププログラミングインターフェイスのレプリカを作成しようとしていますが、javascriptで作成しています。ビルディングブロックの部分は完了しましたが、トークン化されたフィールドを構築する方法に特に興味があります。

Scratchには、数値またはテキストを入力できるフィールドと、変数または操作を表すトークンがあります。トークンは、独自の数値、テキスト、またはトークンを受け入れ、さらに変数や操作などをネストできます。

フィールド内のScratchのネストされたトークンシステムの例:http://i.stack.imgur.com/falmA.png

ドラッグ可能およびドロップ可能にjQueryUIとともにjQueryを使用しています。このようなフィールドを作成する方法についての推奨事項はありますか?

4

2 に答える 2

3

Waterbear と呼ばれる、一種の Scratch の Javascript 複製が既に存在します。

アイデアの実装を見てください。

于 2011-08-09T04:25:04.917 に答える
1

いい質問ですが、クマムシはあまり効果がないようですので、2ユーロセントの価値があると思いました...

ネストされた構造をツリーと考えてください。これは、内部的に記録される方法です。演算子(および、または、+など)には、2つのエントリである2つのブランチがあります。関数呼び出しには引数と同じ数のブランチがあり、「sum」などの一部にはさまざまな数があります。

視覚的には、各オブジェクト(演算子など)は適切な数のフィールドを表示する必要があります。再帰的アルゴリズムは操作ツリーをトラバースして表示を行い、ドロップするときに同じアルゴリズムを使用して表示を更新できます。

于 2011-11-28T13:37:46.123 に答える