Поля токенов в стиле скретч в Javascript - PullRequest
3 голосов
/ 09 августа 2011

Я пытаюсь сделать копию интерфейса программирования методом перетаскивания в Scratch <<a href="http://scratch.mit.edu" rel="nofollow">http://scratch.mit.edu>,, но в JavaScript.Я уже закончил работу над строительными блоками, но меня особенно интересует, как я могу построить поля с токенами.

В Scratch есть поля, в которые можно вводить числа или текст, а также токены, представляющие переменные или операции.который, в свою очередь, может принимать свои собственные числа, текст или токены, а также может вкладывать другие переменные и операции и т. д.

Пример системы вложенных токенов Scratch в поле: http://i.stack.imgur.com/falmA.png

Я использую jQuery вместе с jQuery UI для dragggables и droppables.Любые рекомендации о том, как сделать поле, подобное этому?

Ответы [ 2 ]

2 голосов
/ 09 августа 2011

Уже существует своего рода Javascript-дубликат Scratch, называемый Waterbear

Посмотрите на их реализацию идей.

1 голос
/ 28 ноября 2011

Хороший вопрос, и Waterbear, похоже, мало что дает, поэтому я подумал, что я бы оценил свои два евроцента ...

Думайте о вложенной структуре как о дереве - так она и записывается внутри. Операторы (и, или, + и так далее) имеют две ветви, которые являются двумя записями. У вызовов функций столько веток, сколько у них аргументов, а у некоторых, например, «сумма» имеет различное число.

Визуально каждый объект (оператор и т. Д.) Должен показывать правильное количество полей. Рекурсивный алгоритм пересекает дерево операций для отображения, и при отбрасывании тот же алгоритм может использоваться для обновления отображения.

...