3D图形的运动

3D图形的运动

  • 其实了解java越多,就越发现,很多我们认为很神奇的特效,都可以通过我们的代码跑出来,就比如上一篇文章里的分形,我们用代码跑公式,然后画出神奇的分形图案,不过有句话说得好,只要是对称的图形,随便怎么画都好看。

还是老规矩,整个界面出来。

public class AA {

	public void showUI() {
		//创建窗体
		JFrame drawFrame = new JFrame("画板");
		drawFrame.setSize(1000,600);
		drawFrame.setLocationRelativeTo(null);
		drawFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
		//设置窗体可见
        drawFrame.setVisible(true);
        }
	public static void main(String[] args) {  
  	  AA ui = new AA();
  	  ui.showUI();
    }
}

然后写我们的方法

public class DrawListene implements MouseListener{
	    int startx,starty;
	    int x;
		int y;
		Graphics g;
		public void mousePressed(MouseEvent e) {
			//获取坐标
			startx = e.getX();
			starty = e.getY();
		}
		public void mouseReleased(MouseEvent e) { 
			int r=100;
			//颜色不断加深
			for(int i=0;i<255;i++) {
			Color c = new Color(i,255-i,255-i);
			g.setColor(new Color(i,i,i));
			//画圆的位置不断变化
		    g.fillOval(startx+i/3, starty+i/3, 255-i, 255-i);
			}
			//放慢动作慢慢看
            try {
				Thread.sleep(50);
			} catch (InterruptedException a) {
				a.printStackTrace();
			}
		System.out.println(startx+","+starty);
	}
		public void mouseClicked(MouseEvent e) {}
	    public void mouseEntered(MouseEvent e) {}
	    public void mouseExited(MouseEvent e) {}
	}

在界面加上监听器

//创建监听器
        DrawListene drawL = new DrawListene();
        //获取窗体的画布
        drawL.g= drawFrame.getGraphics();
        
        //添加监听器
        drawFrame.addMouseListener(drawL);

看效果
在这里插入图片描述
然后我们让它动起来

在这里插入图片描述
这里是最终效果,其实就是绕着圆画了三十次球,在我们眼里看着就像是动起来了一样
之后再调节颜色
调节颜色的方法只需要在setColor那里调就好了
在这里插入图片描述
懂了这个方法,我们就可以画出其他的东西,比如画矩形,画线,发挥你天马行空的想象力与创造力,创造出你喜欢的图案吧~
over~

发布了13 篇原创文章 · 获赞 1 · 访问量 303

猜你喜欢

转载自blog.csdn.net/Alagagaga/article/details/103606737