% animacao Level 2 M-File S-function: cria animacao do salto 'bungie jump'
function animacao2(block)
% Configura parmetros inicials:
setup(block)
% Inicia tela de animacao
animinit('Bungie02');
axis([-50 50 -120 10]); % Define Eixos
hold on;
x=[0 0];
y=[0 0];
plot([-40 40],[0 0],'LineWidth',5) % Desenha linha base
hndlList(1)=plot(x,y,'LineWidth',5,'EraseMode','background'); % Desenha corda
hndlList(2)=plot(0,0,'.','MarkerSize',40,'EraseMode','back'); % Desenha corpo
set(gca,'DataAspectRatio',[1 1 1]);
set(gca,'UserData',hndlList);
% Estado atual: desenha posicao corrente
block.RegBlockMethod('Outputs' ,@Desenha);
function setup(block)
block.NumInputPorts = 1;
block.NumOutputPorts = 1;
block.InputPort(1).Dimensions = 1;
block.InputPort(1).DirectFeedthrough = false;
block.OutputPort(1).Dimensions = 1;
block.NumDialogPrms = 0;
block.SampleTimes = [0.1 0];
function Desenha (block)
hndlList=get(gca,'UserData');
sigVal = block.InputPort(1).Data;
x=[0 0];
y=[0 sigVal];
set(hndlList(1),'XData',x,'YData',y); % Desenha corda
set(hndlList(2),'XData',x(2),'YData',y(2)); % Desenha corpo
drawnow;