Java中的加速度

在画图的过程中,如果设置了图形方向的转换,在图形经过界面边界的时候,我们会发现这时候方向的突然改变会使得界面显得不连贯,没有美感!那可以怎么美化呢?
我们在这里介绍到vector方法,简言之就是将目标点看成一个矢量点或者说运动学点,可以改变其方向和加速度,然后定义一个矢量类,并定义其中的属性和方法(建立直角坐标系),分别设置相应的速度加速度对象,这样,你的图形将形象而美丽。
正如它的表面意思,vector是矢量的意思,要使图形更自然可以设置运动学点的属性,改变其加速度和速度,使其顺应不同的物理规律运动 ,
比如我们可以画一个简单的烟花动图。首先我们要形成一个界面,并在界面上加上监听器,这在前面的内容中已经有介绍,在这些基础打好之后呢,我们可以先定义一个PVector类

public class PVector {
  int x;
  int y;
  public PVector add(PVector b) {
    x = x + b.x; 
    y = y + b.y;
    return this;
  }
}

就包括了即将建立的速度加速度以及位置坐标对象(位置坐标可以看成以界面原点为起点的矢量,而速度加速度分别对应单位时间的位置变化量及速度变化量),类的定义非常简单,只需要定义其中的横纵坐标,并为了方便后续计算定义的一个两个矢量相加的函数 。

ectors[j] = ectors[j].add(v[j]);//坐标发生改变

v[j].add(a[j]);//速度发生改变

完成之后,我们可以进一步增加“烟花”释放的数目,以及设置是否同时释放,这里我们可以增加一个暂停函数在监听器的类里,

// 暂停
 try {
 	Thread.sleep(40);
 } catch (InterruptedException e1) {
	 e1.printStackTrace();
 }

这样就可以看到烟花释放的过程,还是很神奇的。

更进一步,你还可以消除之前的图形,将图形设置为动态,或者改变图形的颜色形状,甚至设置目标点的运动方向,等等诸如此类,你将获得更加有趣的图形体验!

你可能感兴趣的:(Java)