Сброс всплывающего меню между выборами в MATLAB GUI - PullRequest
0 голосов
/ 09 ноября 2019

Я пытаюсь построить анимацию, используя функцию анимированной линии, а также контролирую скорость анимации с помощью всплывающего меню. (например, 1 / 2x, 1x, 2x, 4x и т. д.).

У меня нет проблем при создании анимации с разной скоростью.

Проблема, например, в том, что ящелкните «случай 3», чтобы начать анимацию, и когда я щелкну случай 4 (не дожидаясь окончания анимации случая 3), он создаст новый (случай 4). До сих пор у меня нет никаких проблем. Однако, когда «дело 4» заканчивается, продолжается предыдущий выбор (дело 3). Я хочу выяснить эту проблему. Что я хочу, так это то, что он должен забыть предыдущий, как только я сделаю новый выбор.

Я прикрепил свой код ниже.

Есть ли какое-нибудь решение для этой проблемы?

Заранее спасибо.

 switch get(handles.threeDOF_animation_speed,'Value')  
    case 1       
    case 2
        run('threeDOF_create_animation.m')
        set(handles.button_3DOF_save_gif,'Enable','on')
     case 3

        run('threeDOF_create_animation.m')
        set(handles.button_3DOF_save_gif,'Enable','on')
    case 4
        run('threeDOF_create_animation.m')
        set(handles.button_3DOF_save_gif,'Enable','on')
     case 5
        run('threeDOF_create_animation.m')
        set(handles.button_3DOF_save_gif,'Enable','on')
end

1 Ответ

0 голосов
/ 09 ноября 2019

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

function ClearLinesFromAxes()
  axesHandlesToChildObjects = findobj(gca, 'Type', 'line');
  if ~isempty(axesHandlesToChildObjects)
    delete(axesHandlesToChildObjects);
  end  
  return; % from ClearLinesFromAxes

Источник: https://nl.mathworks.com/matlabcentral/answers/21006-how-to-erase-a-line

и что может работать:

You probably want cla(), but perhaps you want clf()

Источник: https://nl.mathworks.com/matlabcentral/answers/40925-how-to-clear-a-plot-in-gui

...