ich möchte folgendes erreichen: An einer bestimmten Stelle in einer Funktion wird eine figure geöffnet/erstellt, die im Vordergrund bleibt. In dieser Figure wird etwas dargestellt (was, sollte erstmal egal sein), nach einer Weile wird es gelöscht oder unsichtbar gemacht. Wenn man auf eine Taste (auf der Tastatur) drückt, wird es vorzeitig gelöscht/unsichtbar gemacht.
Ich hab das so versucht, daß per handle etwas in die Figure gezeichnet wird, anschließend wird mit
unsichtbar gemacht. Daneben habe ich eine nested function, die das Gezeichnete auf Unsichtbar setzt, wenn man auf der Tastatur eine Taste drückt. Das klappt nicht, wenn man während der Pause von n Sekunden drückt.
Ist das über die Pause-Funktion grundsätzlich unmöglich, oder kann man das per Callback-Funktionen machen?
Das habe ich mir aus diversen Beispielen und der Dokumentation zusammengebaut, aber soweit ich das sehe, benutze ich da noch keine Callback-Funktion, außer disp(). Nur, wenn ich das Sichtbar-/Unsichtbarmachen in die KeyPressFcn verlege, wird ja die Pause trotzdem ausgeführt, sodaß Tastatureingaben in der Zeit ignoriert werden, oder?
Nur, wenn ich das Sichtbar-/Unsichtbarmachen in die KeyPressFcn verlege, wird ja die Pause trotzdem ausgeführt, sodaß Tastatureingaben in der Zeit ignoriert werden, oder?
function an(~,~) for i = 1:3 set(handles.ding,'String',[num2str(i) '/1'],'visible','on');
pause(a);
set(handles.ding,'visible','off');
pause(b);
set(handles.ding,'String',[num2str(i) '/2'],'visible','on');
pause(a);
set(handles.ding,'visible','off');
pause(b);
set(handles.ding,'String',[num2str(i) '/3'],'visible','on');
pause(a);
set(handles.ding,'visible','off');
end end
Wenn man die Funktion aufruft, öffnet sich eine Figure. Wenn man eine Taste drückt, wird nacheinander folgendes angezeigt:
1/1
1/2
1/3
2/1
3/3
Drückt man währenddessen eine Taste, beginnt die Sequenz sofort von vorne, anschließend wird nachgeholt, was vom ersten Durchlauf der Sequenz noch nicht angezeigt wurde. Kann man das unterbinden?
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.