#mit-scratch
Вопрос:
Я пытаюсь реализовать это в Physica, моем физическом движке, основанном на царапинах. Я попытался добавить его, и шар вышел из строя (вообще не мог двигаться по оси x). Кто-нибудь знает, как это сделать?
Комментарии:
1. Вы никогда ничего не назначаете Xv, и в функции «Касание» вы никогда ничего не делаете с осью X. Я не думаю, что это такой же сбой, как отсутствие функциональности.
Ответ №1:
Если это физический движок, то каждый объект должен иметь добавленные переменные для скорости, а затем вы управляете скоростью:
Чтобы изменить скорость:
When ... (whenever your drag release is)
set Vx to 10
в этом примере есть функция перетаскивания:
https://en.scratch-wiki.info/wiki/Draggable_Sprite_Feature
В физическом движке скорость постоянно перемещает ваш объект:
When green flag
forever
add Vx to x
add Vy to y
Комментарии:
1. Да, но мне нужно знать, как почувствовать высвобождение сопротивления.
2. Пример перетаскивания на скретч-вики: en.scratch-wiki.info/wiki/Draggable_Sprite_Feature
Ответ №2:
@boisvert в значительной степени ответил на ваш вопрос. Но если вы хотите ощутить освобождение от перетаскивания, используйте этот код:
when green flag
set drag mode to draggable
forever
wait until touching mouse pointer and mouse down
wait until not mouse down
point toward mouse pointer
set V to distance to mouse pointer * 2
наряду с этим:
when green flag
forever
set V to V*0.9
move V steps
if on edge, bounce
Это не самый совершенный код, но он будет работать