猿问

想要实现一个简单的动画,要求自动出现由小到大变换的圆,请问该怎么做?

功能要求:实现简单的动画。具体要求:自动出现由小到大变换的圆,位置与颜色随机,变到150直径时擦除,重新再出现圆;变换速度有HTML文件传入的参数控制(控制sleep时间)。界面要求:用Java Applet实现。

MM们
浏览 320回答 1
1回答

动漫人物

RandomCircle.java----------------------------------------------------------------------------------&nbsp;import&nbsp;java.applet.Applet;import&nbsp;java.awt.Color;import&nbsp;java.awt.Graphics;&nbsp;public&nbsp;class&nbsp;RandomCircle&nbsp;extends&nbsp;Applet&nbsp;implements&nbsp;Runnable{&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;static&nbsp;final&nbsp;long&nbsp;serialVersionUID&nbsp;=&nbsp;1L;&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;String&nbsp;sleep;&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;volatile&nbsp;Thread&nbsp;timer;&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;Color&nbsp;color;&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;int&nbsp;radius;&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;int&nbsp;width&nbsp;=&nbsp;300,&nbsp;height&nbsp;=&nbsp;300,&nbsp;x,&nbsp;y;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Override&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;init&nbsp;()&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep&nbsp;=&nbsp;null&nbsp;==&nbsp;getParameter&nbsp;("sleep")&nbsp;?&nbsp;"500"&nbsp;:&nbsp;getParameter&nbsp;("sleep");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;change&nbsp;();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resize&nbsp;(width,&nbsp;height);&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Override&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;update&nbsp;(&nbsp;Graphics&nbsp;graphics&nbsp;)&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;draw&nbsp;(graphics);&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Override&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;paint&nbsp;(&nbsp;Graphics&nbsp;graphics&nbsp;)&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;draw&nbsp;(graphics);&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;void&nbsp;draw&nbsp;(&nbsp;Graphics&nbsp;graphics&nbsp;)&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.clearRect&nbsp;(0,&nbsp;0,&nbsp;width,&nbsp;height);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.setColor&nbsp;(color);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;变到150直径时擦除,重新再出现圆&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;radius&nbsp;+=&nbsp;10;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(radius&nbsp;>=&nbsp;150)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;change&nbsp;();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.fillArc&nbsp;(x,&nbsp;y,&nbsp;radius,&nbsp;radius,&nbsp;0,&nbsp;360);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.dispose&nbsp;();&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;void&nbsp;change&nbsp;()&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;radius&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;位置随机&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x&nbsp;=&nbsp;(int)&nbsp;(&nbsp;Math.random&nbsp;()&nbsp;*&nbsp;(&nbsp;width&nbsp;/&nbsp;2&nbsp;-&nbsp;radius&nbsp;)&nbsp;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;y&nbsp;=&nbsp;(int)&nbsp;(&nbsp;Math.random&nbsp;()&nbsp;*&nbsp;(&nbsp;height&nbsp;/&nbsp;2&nbsp;-&nbsp;radius&nbsp;)&nbsp;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;颜色随机&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;r&nbsp;=&nbsp;(int)&nbsp;(&nbsp;Math.random&nbsp;()&nbsp;*&nbsp;255&nbsp;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;g&nbsp;=&nbsp;(int)&nbsp;(&nbsp;Math.random&nbsp;()&nbsp;*&nbsp;255&nbsp;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;b&nbsp;=&nbsp;(int)&nbsp;(&nbsp;Math.random&nbsp;()&nbsp;*&nbsp;255&nbsp;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color&nbsp;=&nbsp;new&nbsp;Color&nbsp;(r,&nbsp;g,&nbsp;b);&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Override&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;start&nbsp;()&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timer&nbsp;=&nbsp;new&nbsp;Thread&nbsp;(this);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timer.start&nbsp;();&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Override&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;stop&nbsp;()&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timer&nbsp;=&nbsp;null;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Override&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;run&nbsp;()&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread&nbsp;me&nbsp;=&nbsp;Thread.currentThread&nbsp;();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(timer&nbsp;==&nbsp;me)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread.sleep&nbsp;(Integer.parseInt&nbsp;(sleep));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(NumberFormatException&nbsp;ignore)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(InterruptedException&nbsp;ignore)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;repaint&nbsp;();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;String&nbsp;getAppletInfo&nbsp;()&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;"Title:&nbsp;java画随机的圆&nbsp;\n"&nbsp;+&nbsp;"Author:&nbsp;yugi111,&nbsp;2014&nbsp;\n"&nbsp;+&nbsp;"A&nbsp;simple&nbsp;circle.";&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;String[][]&nbsp;getParameterInfo&nbsp;()&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String[][]&nbsp;info&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;"<1>",&nbsp;"功能要求:",&nbsp;"实现简单的动画"},&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;"<2>",&nbsp;"具体要求:",&nbsp;"自动出现由小到大变换的圆,位置与颜色随机,变到150直径时擦除,重新再出现圆;"},&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;"<3>",&nbsp;"变换速度有HTML文件传入的参数控制(控制sleep时间)。",&nbsp;"界面要求:用Java&nbsp;Applet实现。"}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;info;&nbsp;&nbsp;&nbsp;&nbsp;}}&nbsp;---------------------------------------------------------------------------------RandomCircle.html---------------------------------------------------------------------------------&nbsp;<!DOCTYPE&nbsp;HTML><HTML>&nbsp;&nbsp;<HEAD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<meta&nbsp;charset="UTF-8"&nbsp;/>&nbsp;&nbsp;&nbsp;&nbsp;<TITLE>java画随机的圆</TITLE>&nbsp;&nbsp;</HEAD>&nbsp;&nbsp;<BODY>&nbsp;&nbsp;&nbsp;&nbsp;<h1>java画随机的圆</h1>&nbsp;&nbsp;&nbsp;&nbsp;<hr>&nbsp;&nbsp;&nbsp;&nbsp;<applet&nbsp;code="RandomCircle.class"&nbsp;width=300&nbsp;height=300>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alt="Your&nbsp;browser&nbsp;understands&nbsp;the&nbsp;&lt;APPLET&gt;&nbsp;tag&nbsp;but&nbsp;isn't&nbsp;running&nbsp;the&nbsp;applet,&nbsp;for&nbsp;some&nbsp;reason."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Your&nbsp;browser&nbsp;is&nbsp;completely&nbsp;ignoring&nbsp;the&nbsp;&lt;APPLET&gt;&nbsp;tag!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<param&nbsp;name="sleep"&nbsp;value="500">&nbsp;&nbsp;&nbsp;&nbsp;</applet>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;1&gt;&nbsp;功能要求:实现简单的动画。<br&nbsp;/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;2&gt;&nbsp;具体要求:自动出现由小到大变换的圆,位置与颜色随机,变到150直径时擦除,重新再出现圆;<br&nbsp;/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;3&gt;&nbsp;变换速度有HTML文件传入的参数控制(控制sleep时间)。界面要求:用Java&nbsp;Applet实现。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;applet&nbsp;code="RandomCircle.class"&nbsp;width=300&nbsp;height=300&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;param&nbsp;name="sleep"&nbsp;&nbsp;value="300"&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/applet&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<hr>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a&nbsp;href="RandomCircle.java">源代码</a>.&nbsp;&nbsp;</BODY></HTML>&nbsp;------------------------------------------------------------------------------RandomCircle.class------------------------------------------------------------------------------见附件&nbsp;------------------------------------------------------------------------------操作如下图所示:12---------------------------------------------------效果图:
随时随地看视频慕课网APP

相关分类

Java
我要回答