| 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 27 public class AnimatedTankCanvas implements Runnable { 28 29 30 private VVDisplay vvDisplay = null; 31 32 35 public AnimatedTankCanvas() { 36 vvDisplay = new VVDisplay(new VVCanvas()); 37 } 38 39 42 public void run() { 43 JFrame frame = new JFrame("Vector Visuals Animated Tank Canvas Example"); 44 frame.setSize(640, 480); 45 frame.getContentPane().setLayout(new BorderLayout()); 46 frame.getContentPane().add(vvDisplay.getViewPane(), BorderLayout.CENTER); 47 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 48 49 frame.setVisible(true); 50 51 vvDisplay.getViewPane().setBackground(Color.DARK_GRAY); 53 vvDisplay.setWorldViewTranslation(320, 240); 54 vvDisplay.setWorldViewScale(1); 55 56 ArmyTank tank = new ArmyTank(); 57 58 AffineTransform transform = AffineTransform.getTranslateInstance(125, 0); 60 tank.setTransform(transform); 61 vvDisplay.addObject(tank); 62 63 IndefiniteOscillationTask task = new IndefiniteOscillationTask(tank.getTurret(), 1); 65 task.setRate(1); 66 vvDisplay.getTaskManager().addTask(task); 67 68 IndefiniteRotationTask task2 = new IndefiniteRotationTask(vvDisplay.getRootObject()); 70 task2.setRate(-0.5); 71 vvDisplay.getTaskManager().addTask(task2); 72 } 73 74 79 public static void main(final String [] args) { 80 Runnable example = new AnimatedTankCanvas(); 81 example.run(); 82 } 83 84 } 85 | Popular Tags |