晚上回到宿舍,突然想起,我可以把昨天晚上的代码修改一下,来让我的蒲公英达到飘动的效果,然后就把代码乱修改了一番,代码如下,但是飘动的效果得在运行的时候才能看出来,具体代码如下:
import java.awt.BasicStroke; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics2D; import java.awt.Toolkit; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JFrame; import javax.swing.JPanel; /** * 画出一颗动态的蒲公英。。。。(画出蒲公英的改进版,使得蒲公英可以飘动) * @author LONG * */ public class TheTree extends JFrame { private static final long serialVersionUID = 1L; private Dimension di = null; private Graphics2D gr = null; private int x,y; //蒲公英初始飘动的点 private JPanel jp = null; //将面板声明为全局变量 private int count = 0; //用来记录次数 /** * 程序主入口 * @param args */ public static void main(String[] args){ TheTree tt = new TheTree(); tt.showFrame(); } /** * 展示窗体,将窗体显示出来 */ public void showFrame(){ this.setTitle("The Tree"); Toolkit tl = Toolkit.getDefaultToolkit(); di = tl.getScreenSize(); this.setSize(di.width,di.height); this.setDefaultCloseOperation(3); jp = new JPanel(); jp.setPreferredSize(new Dimension(di.width,di.height)); x = di.width; //初始化坐标值,使其最大 y = di.height; //初始化坐标值,使其最大 this.add(jp); this.setResizable(false); jp.setBackground(Color.BLACK); this.setVisible(true); gr = (Graphics2D) jp.getGraphics(); //给界面添加监听器,判断执行次数 jp.addMouseListener(new MouseAdapter(){ public void mouseReleased(MouseEvent e){ draw(e); } }); } /** * 初始进行选择,来判断是初次绘画还是改变后 * @param e 传入点击事件 */ public void draw(MouseEvent e){ while(y > 0){ if(count == 0){ x = e.getX(); //自己选择蒲公英生长的位置 y = e.getY(); }else{ y -= 5; //非初次的话,那么进行改变位置,传入参数 x += 6; } init(x,y); //执行下面的函数 } } //用来初始化蒲公英的位置,达到飘动的效果 public void init(int xx,int yy){ BasicStroke bs = new BasicStroke(4); gr.setStroke(bs); gr.setColor(Color.GREEN); gr.drawLine(xx, yy, xx, yy - 400); //用来先画出蒲公英的主干 doSomething(xx,yy - 400,150); } /** *那我们来画蒲公英吧 * * @param x1 起始点x坐标 * @param y1 起始点y坐标 * @param h 长度h */ public void doSomething(int x1, int y1, int h){ //使循环将所有的蒲公英分支画出来 for(int i = 0; i < 90; i++){ double angle = i * 2 * Math.PI/90; //得到等分的九十个角 int x2 = x1 + (int)(Math.sin(angle) * h); int y2 = y1 - (int)(Math.cos(angle) * h); BasicStroke bs_next = new BasicStroke(); gr.setStroke(bs_next); gr.setColor(Color.gray); gr.drawLine(x1, y1, x2, y2); gr.setColor(Color.WHITE); gr.fillOval(x2 - 1, y2 - 1, 5, 5); } try { Thread.sleep(120); } catch (InterruptedException e) { e.printStackTrace(); } //再次将蒲公英画黑,重复上面的画的动作,只不过是将所有的颜色都改为黑色的,已达到飘动的效果 BasicStroke bs = new BasicStroke(4); gr.setStroke(bs); gr.setColor(Color.BLACK); gr.drawLine(x1, y1 + 400, x1, y1); for(int i = 0; i < 90; i++){ double angle = i * 2 * Math.PI/90; int x2 = x1 + (int)(Math.sin(angle) * h); int y2 = y1 - (int)(Math.cos(angle) * h); BasicStroke bs_next = new BasicStroke(); gr.setStroke(bs_next); gr.setColor(Color.BLACK); gr.drawLine(x1, y1, x2, y2); gr.setColor(Color.BLACK); gr.fillOval(x2 - 1, y2 - 1, 5, 5); } count++; } }
相关推荐
此外,还可以考虑碰撞检测,当蒲公英触碰到页面底部时,让它们向上反弹,或者消失后重新生成,增加视觉效果。 以上就是利用HTML5和JavaScript实现飘落蒲公英动画的基本步骤。这个特效展示了HTML5的动态性能和...
此外,Flash的动作脚本语言AS3(ActionScript 3)还可以用来添加更复杂的交互性,例如让花瓣随风向飘动,或者根据鼠标移动而变化。 对于“短片剪辑”这一标签,我们可以理解这款素材特别适合用于电影、短片、广告...
2. **动画循环**:通过设置定时器,JavaScript不断地更新每个蒲公英的位置和状态,让它们看起来像在不断飘落。 3. **事件处理**:如果需要,还可以添加交互元素,比如点击屏幕让蒲公英加速飘落,或者改变风向等。 ...
此外,JavaScript可能也会被用于实现更丰富的交互效果,比如鼠标悬停蒲公英种子飘动、点击触发动画等。如果涉及动态数据展示或用户交互,还可能需要用到PHP、JavaScript框架如jQuery或现代前端框架如React、Vue.js等...
- **图层管理**:通过在FLA文件中创建多个图层,设计师可以分层次地组织元素,如背景、中间层和前景,使得蒲公英的飘散看起来有深度感和层次感。 - **关键帧动画**:Flash允许在时间轴上设置关键帧,然后自动生成...
3. **动画效果**:PowerPoint的动画功能可以让蒲公英图片动态化,例如通过添加飘动的蒲公英种子动画,增加观众的互动体验。 4. **主题一致性**:如果整个演示文稿都采用蒲公英主题,可以考虑将这个背景应用到所有...
本压缩包“飞舞的蒲公英PPT背景图片.rar”提供的是两张以蒲公英为主题,风格简约的PPT背景图片,旨在为你的演示文稿增添自然与宁静的气息,让观众在欣赏美丽的同时,更好地接收信息。 首先,我们来深入理解一下PPT...
描述进一步揭示了这个PPT背景图片的具体内容和用途,它包括3页不同的设计,每页都有光晕效果和飘动的蒲公英图像,适合用于表达情感、记录美好回忆或阐述理想抱负的PPT制作。 1. **PPT设计基础**:PPT(PowerPoint)...
在优化过程中,每个解决方案被视为一个蒲公英种子,它们在问题空间内随机飘动,寻找最佳生长条件(即最优解)。这个过程中,算法会考虑种子的飘散距离、方向以及受到的环境影响,如风力(模拟适应度函数的梯度信息)...
在PPT中实现此效果,可以通过动画路径设置,让蒲公英图片沿着预设路径飘动。 2. 飘动的气球:飘动的气球效果可以为演示添加欢乐和庆祝氛围,适用于开场或结束时。利用“路径动画”和“时间延迟”功能,可以让多个...
开发者通过定义蒲公英的形状、颜色和运动轨迹,使它们在Canvas上飘动,创造出逼真的飘落效果。 JavaScript是实现动画的主要工具,它负责控制蒲公英粒子的生成、移动、消失等行为。动画的核心算法通常包括以下几个...
"飞舞的蒲公英"可能是一个动态的图像序列,例如GIF或PNG格式,展示了蒲公英在风中飘动的情景。这样的素材可能用于教学演示,帮助学生理解运动物体的绘制技巧,或者在设计中作为背景元素增加自然感。如果是视频文件,...
此外,蒲公英的飘散可能需要更细致的风力模拟,以使种子随着风的方向飘动。 最后,提到的“flash背景透明代码”是指在Flash中设置对象或舞台的透明度。通过调整Alpha值,开发者可以让背景变得半透明或完全透明,...
5. **词语辨析** - 题目要求学生区别相似的词义,如"飘动"与"漂浮",以及在不同情境下的用法,这有助于提升学生的语言运用能力。 6. **形容词搭配** - 学生需要填写合适的形容词来描述名词,如"______的脑袋"、"___...
这150款素材涵盖了多种类型的花草,包括但不限于玫瑰、樱花、向日葵、薰衣草、蒲公英等,每种都有独特的动画设计,可以根据不同的场景和情感需求选择适合的元素。此外,素材的分辨率和质量都经过精心处理,确保在...
在“选择设置”中,软件提供了多种预设的Flash动画效果,如飘动的蒲公英等。挑选一个符合你设计风格的特效,可以增加Banner的动态感和吸引力。 5. **编辑文字和图像** “文字图像”选项是编辑Banner内容的核心。...
3. **漂浮物**:漂浮物粒子可能指的是像蒲公英种子那样轻盈飘动的物体。"dandelion3_.png"和"dandelion1_353x500_44.png"可能就是这类效果的代表,它们可以用于模拟风中的飘浮物,为场景增添自然和动态元素。 4. **...