기본적으로, 나는 페인트 된 이미지에서 봄 동작을 시뮬레이트하고 싶습니다. 나는 그것이 봄에 고정되는 것처럼 그것을 위아래로 스케일링하는 몇 번의 반복을 통해 실행하게하고 싶다.봄 동작 시뮬레이션
내가이 클래스에 그물 리드에있는 모든 예 - FloatSpring.java
다양한 FloatSpring 클래스 설정에 따라 스프링과 같은 효과를 적용 A 지점에서 B 지점으로 이동하는 데 필요한 계산을 제공해야한다. 문제는 내가 제대로 사용하는 방법을 하나의 명확한 예제를 찾지 못했습니다. zoom
재산권 타이머 사이클 내 3F에 1F에서 반사하여 최종적으로 3 배 성분 화상 표시 야기한다 본 예에서는
public static void main (String[] args)
{
// Some image to bounce
final ImageIcon icon =
new ImageIcon (WebProgressOverlayExample.class.getResource ("icons/ava1.jpg"));
// Component to paint image on
JComponent spring = new JComponent()
{
// Zoom value (1f = 100% = normal size)
float zoom = 1f;
{
// Basic spring settings
final FloatSpring fs = new FloatSpring (100);
fs.setPosition (zoom);
// Animation delay
final int delay = 1000/24;
// Animator
new Timer (delay, new ActionListener()
{
private float elapsed = 0f;
public void actionPerformed (ActionEvent e)
{
// Increasing elapsed time and updating spring
elapsed += delay;
fs.update (3f, elapsed);
// Updating zoom value and component
zoom = fs.getPosition();
repaint();
}
}).start();
}
protected void paintComponent (Graphics g)
{
super.paintComponent (g);
// Scaled image
int width = Math.round (icon.getIconWidth() * zoom);
int height = Math.round (icon.getIconHeight() * zoom);
g.drawImage (icon.getImage(), getWidth()/2 - width/2,
getHeight()/2 - height/2, this);
}
public Dimension getPreferredSize()
{
return new Dimension (500, 500);
}
};
JFrame frame = new JFrame();
frame.add (spring);
frame.pack();
frame.setLocationRelativeTo (null);
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
frame.setVisible (true);
}
:
난에FloatSpring
을 테스트하기 위해이 작은 예를 만든 줌. 단순한 애니메이션 전환과 같은 것입니다.
FloatSpring 클래스가 잘되어 있어야합니다. 올바르게 사용하는 방법을 모르겠습니다. 정확하게하려면 - 내가 springK
및 dampingK
값으로 지정하고 또한 time
속성 목적이 불분명 ...
정말 거기에 어떤 도움을 주셔서 감사합니다 것입니다해야하는지.
덕분에, 내가 찾던 정확히 이잖아! –