日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

线程动画屏保小球碰撞c语言,线程小动画之屏保--模仿小球碰撞反弹(一)

發(fā)布時(shí)間:2024/8/1 编程问答 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 线程动画屏保小球碰撞c语言,线程小动画之屏保--模仿小球碰撞反弹(一) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

相信大家都對(duì)屏幕保護(hù)中的小球碰撞動(dòng)畫深有印象吧,許多色彩繽紛的小球在屏幕上滾動(dòng),碰撞,然后一直重復(fù)如此過(guò)程......現(xiàn)在就讓我們自己嘗試去做一下吧,或許你做的比它的要更好呦!

不必說(shuō),最重要也是最先弄的,自然是要產(chǎn)生小球啦,因此就要先創(chuàng)建一個(gè)球的線程類。這里先放上一些關(guān)于線程創(chuàng)建的知識(shí),有助于大家鞏固記憶啦。

線程的創(chuàng)建有兩種方式,分別為繼承Thread類(已經(jīng)實(shí)現(xiàn)了Runnable接口)與實(shí)現(xiàn)Runnable接口。

1.Thread類

常用方法包括:start()、interrupt()、join()、run()方法等。start()方法用于啟動(dòng)線程,run()方法為線程實(shí)現(xiàn)功能的方法,可以根據(jù)需求覆寫run()方法。

構(gòu)造函數(shù)8個(gè),常用4個(gè):

Thread thread=new Thread();????????????????????????????????? //無(wú)參的Thread類構(gòu)造函數(shù)

Thread thread=new Thread(Runnable simple);?????????????????? //參數(shù)為實(shí)現(xiàn)Runnable接口類對(duì)象的構(gòu)造函數(shù)

Thread thread=new Thread("ThreadName");????????????????????? //參數(shù)為線程名稱的構(gòu)造函數(shù)

Thread thread=new Thread(Runnable simple,"ThreadName");????? //無(wú)參的Thread類構(gòu)造函數(shù)

2.Runnable接口

它只有一個(gè)方法就是run()方法,實(shí)現(xiàn)Runnable()接口后必須覆寫run()方法。

嗯,如上所說(shuō),先創(chuàng)建一個(gè)球的線程類:

import java.awt.Color;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.util.Random;

import javax.swing.JPanel;

public class MyThread extends Thread{

private JPanel panel;

private int x,y;//坐標(biāo)位置

private int radius=50;//球半徑

private int vx,vy;//橫縱坐標(biāo)該變量

private Color color;

public MyThread(JPanel panel)

{

this.panel=panel;

Random random=new Random();//創(chuàng)建一個(gè)隨機(jī)類變量

vx=random.nextInt(20)+10;

vy=random.nextInt(10)+5;

radius=random.nextInt(10)+20;

color=new Color(random.nextInt(256),random.nextInt(256),random.nextInt(256));

}

//重寫run的方法

public void run()

{

Random random=new Random();

//Graphics g=panel.getGraphics();//獲得窗體界面

Graphics2D g2=(Graphics2D)panel.getGraphics();

panel.setBackground(Color.BLACK);

while(true)

{

try{

Thread.sleep(100);//調(diào)用線程睡眠方法,讓線程能暫緩進(jìn)行

}catch(InterruptedException e ){

e.printStackTrace();

}

//覆蓋小球先前的軌跡

g2.setColor(panel.getBackground());//獲得窗體背景顏色

g2.fillOval(x, y, 2*radius, 2*radius);

x+=vx;

y+=vy;

g2.setColor(color);

g2.fillOval(x, y, 2*radius, 2*radius);

//若小球碰撞到面板邊緣,則反彈

if(x<0||x>panel.getWidth()-2*radius)

{

vx=-vx;

}

if(y<0||y>panel.getHeight()-2*radius)

{

vy=-vy;

}

}

}

}

這里大概要注意兩點(diǎn)吧:

1.要覆蓋小球先前的軌跡,不然所有時(shí)刻的軌跡都會(huì)顯現(xiàn)在窗體上。

2.考慮小球出界時(shí)的情況,設(shè)定反彈條件

之后當(dāng)然就是寫一個(gè)測(cè)試類

import java.awt.BorderLayout;

import java.awt.Dimension;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

public class TestFrame {

private JPanel centerpanel;

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

TestFrame tf=new TestFrame();

tf.init();

}

//初始化界面的方法

public void init()

{

JFrame jf=new JFrame("線程入門");

jf.setSize(800, 600);

jf.setDefaultCloseOperation(3);

jf.setResizable(false);

JPanel northpanel=new JPanel();

northpanel.setSize(800, 200);

JButton jbu=new JButton("開(kāi)始");

//jbu.setPreferredSize(new Dimension(50,50));

jbu.addActionListener(al);

northpanel.add(jbu);

jf.add(northpanel,BorderLayout.NORTH);

centerpanel=new JPanel();

jf.add(centerpanel,BorderLayout.CENTER);

jf.setVisible(true);

}

ActionListener al=new ActionListener(){

@Override

public void actionPerformed(ActionEvent e) {

MyThread thread=new MyThread(centerpanel);//創(chuàng)建一個(gè)線程

thread.start();//啟動(dòng)線程

}};

}

提醒下的是,最好創(chuàng)建兩個(gè)面板,北邊面板放按鈕,中間面板當(dāng)畫布,這里小球運(yùn)動(dòng)時(shí)就不會(huì)影響到按鈕的輪廓。

這樣操作完后,就能產(chǎn)生許許多多的小球啦。

總結(jié)

以上是生活随笔為你收集整理的线程动画屏保小球碰撞c语言,线程小动画之屏保--模仿小球碰撞反弹(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: aaa国产视频 | 亚洲黄色三级 | 九九九在线 | 深夜视频在线看 | 亚洲欧美中文字幕 | 在线观看三级视频 | 日韩精品一区二区亚洲av | 精品网站 | 99精品国产成人一区二区 | 日韩欧美一区二区一幕 | 亚洲免费观看视频 | 日本黄色片一级 | 人妻精品久久久久中文字幕 | a级黄色一级片 | 日韩av手机在线播放 | 婷婷色伊人 | 婷婷五月综合久久中文字幕 | 午夜性视频 | 欧美 日韩 国产 一区 | 黑丝美女av | 日本免费无人高清 | 有声小说 成人专区 | 成人网在线视频 | 久在线观看 | 九九九九九精品 | 黄色三级网站在线观看 | 国产成人综合精品 | 国产高清成人久久 | 麻豆中文字幕 | 涩涩涩涩av | 人妻少妇偷人精品无码 | 亚州激情 | 久久久久无码国产精品一区李宗瑞 | 亚洲人妻一区二区三区 | 国产黄色av网站 | 蜜臀av色欲a片无码精品一区 | 超碰人人网 | 色综合99 | 少妇又色又紧又爽又刺激视频 | 男男黄网站 | 精品视频久久久久久 | 国产精品第一国产精品 | 老太婆av | 亚洲精品在线91 | 亚洲激情自拍偷拍 | 精品人妻在线一区二区三区 | 久久精品视频免费看 | 欧美理论片在线观看 | 日本xx视频免费观看 | 五月婷婷激情五月 | 亚洲一区二区av在线 | 五十路中文字幕 | 日韩av有码 | 揄拍自拍 | 欧美一线天 | 日韩黄色影院 | 亚洲综合第一 | 屁屁影院一区二区三区 | 麻豆国产在线播放 | 色峰视频 | 国精品一区二区 | 欧美黄色一区 | 久久视频在线看 | 日韩视频在线观看 | 午夜少妇久久久久久久久 | 女人下部全棵看视频 | 中国二级毛片 | 日本久久综合网 | 99热这里只有精品18 | 久久久久久久久久一区二区三区 | 综合五月| 小色哥网站| 国产一级特黄a高潮片 | 日韩视频一区在线 | 香蕉网站在线观看 | 福利电影一区二区三区 | www.99爱| 国产精品久久久久久久妇 | 另类一区二区三区 | 欧美日韩国 | 久久99久久98精品免观看软件 | 欧美在线一区二区 | av丝袜在线 | 国产人妻互换一区二区 | 久久精品在线免费观看 | 三级电影在线看 | 国产91亚洲精品 | 日本少妇喷水 | 美女av免费看 | av日日夜夜| 欧美日韩二三区 | 精品视频无码一区二区三区 | 可以直接看的无码av | 日本中文字幕网站 | 蜜桃av乱码一区二区三区 | 久久一级大片 | 中文字幕一区二区三区免费看 | 懂色av一区二区三区 | 海角社区在线视频播放观看 |