1 6 7 package com.thoughtriver.open.vectorvisuals.example.animation; 8 9 import java.awt.*; 10 import java.awt.geom.*; 11 12 import javax.swing.*; 13 14 import com.thoughtriver.open.vectorvisuals.*; 15 import com.thoughtriver.open.vectorvisuals.task.*; 16 17 26 public class AnimatedTank implements Runnable { 27 28 29 private VVDisplay vvDisplay = null; 30 31 34 public AnimatedTank() { 35 vvDisplay = new VVDisplay(new VVPanel()); 36 } 37 38 41 public void run() { 42 JFrame frame = new JFrame("Vector Visuals Animated Tank Example"); 43 frame.setSize(640, 480); 44 frame.getContentPane().setLayout(new BorderLayout()); 45 frame.getContentPane().add(vvDisplay.getViewPane(), BorderLayout.CENTER); 46 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 47 48 frame.setVisible(true); 49 50 vvDisplay.getViewPane().setBackground(Color.DARK_GRAY); 52 vvDisplay.setWorldViewTranslation(320, 240); 53 vvDisplay.setWorldViewScale(1); 54 55 ArmyTank tank = new ArmyTank(); 56 57 AffineTransform transform = AffineTransform.getTranslateInstance(125, 0); 59 tank.setTransform(transform); 60 vvDisplay.addObject(tank); 61 62 IndefiniteOscillationTask task = new IndefiniteOscillationTask(tank.getTurret(), 1); 64 task.setRate(1); 65 vvDisplay.getTaskManager().addTask(task); 66 67 IndefiniteRotationTask task2 = new IndefiniteRotationTask(vvDisplay.getRootObject()); 69 task2.setRate(-0.5); 70 vvDisplay.getTaskManager().addTask(task2); 71 } 72 73 78 public static void main(final String [] args) { 79 Runnable example = new AnimatedTank(); 80 example.run(); 81 } 82 83 } 84 | Popular Tags |