Java动画编程基础第三部分

原创 2001年05月05日 01:21:00

双缓冲技术:
另一种减小帧之间的闪烁的方法是使用双缓冲,它在许多动画applet
中被使用。
主要原理是创建一个后台图象,将一帧画入图象,然后调用drawImage()
将整个图象一次画到屏幕上去。好处是大部分绘制是离屏的。将离屏图象一次
绘至屏幕上比直接在屏幕上绘制要有效得多。
双缓冲可以使动画平滑,但有一个缺点,要分配一张后台图象,如果图象
相当大,这将需要很大一块内存。
当你使用双缓冲技术时,应重载update()。

Dimension offDimension;
Image offImage;
Graphics offGraphics;

public void update(Graphics g) {
Dimension d = size();

if ((offGraphics == null)
|| (d.width != offDimension.width)
|| (d.height != offDimension.height)) {
offDimension = d;
offImage = createImage(d.width, d.height);
offGraphics = offImage.getGraphics();
}

offGraphics.setColor(getBackground());
offGraphics.fillRect(0, 0, d.width, d.height);
offGraphics.setColor(Color.Black);

paintFrame(offGraphics);

g.drawImage(offImage, 0, 0, null);
}

public void paint(Graphics g) {
if (offImage != null) {
g.drawImage(offImage, 0, 0, null);
}
}

public void paintFrame(Graphics g) {
Dimension d = size();
int h = d.height / 2;
for (int x = 0; x < d.width; x++) {
int y1 = (int)((1.0 + Math.sin((x - frame) *
0.05)) + h);
int y2 = (int)((1.0 + Math.sin((x + frame) *
0.05)) + h);
g.drawLine(x, y1, x, y2);
}
}

java语言程序设计基础篇第十一章编程练习题

1package yongheng; import java.util.Scanner;public class Main { public static void main(String a...
  • gyhguoge01234
  • gyhguoge01234
  • 2016年09月08日 22:19
  • 2215

java语言程序设计基础篇第十二章编程练习题

1package yongheng; import java.util.Scanner;public class Calculator { public static void main(Str...
  • gyhguoge01234
  • gyhguoge01234
  • 2016年09月08日 22:21
  • 2535

java语言程序设计基础篇第七章编程练习题

1 import java.util.Scanner; public class Main{ public static void main(String[] args){ int maxSc...
  • gyhguoge01234
  • gyhguoge01234
  • 2016年07月09日 17:12
  • 3808

Java笔记 第四章(3) Java面向对象编程基础 第三部分(对象概述)

Java笔记 第四章 Java面向对象编程基础 第三部分(对象概述) 一开始学习面向对象的时候,总是分不清类和对象,容易把概念混淆。后面发现其实很简单,用一句话概括:类是程序员在编程中所用来描述某一些...
  • yunfankeji
  • yunfankeji
  • 2015年12月23日 17:32
  • 340

Java 高手真经 编程基础卷 第三部分

  • 2014年12月05日 10:33
  • 70MB
  • 下载

JAVA面试精选【Java基础第三部分】

上一篇,我们给出了大概35个题目,都是基础知识,有童鞋反映题目过时了,其实不然,这些是基础中的基础,但是也是必不可少的,面试题目中还是有一些基础题目的,我们本着先易后难的原则,逐渐给出不同级别的题目,...
  • zhixiang2010
  • zhixiang2010
  • 2013年12月27日 08:34
  • 893

Java编程语言.(第三版)第一部分

  • 2008年10月14日 13:53
  • 14.44MB
  • 下载

Property Animation Part III(属性动画 第三部分)

TypeEvaluator的介绍、Interpolators的介绍、如何指定关键帧、ViewPropertyAnimator的使用、属性动画的XMl定义...
  • duanymin
  • duanymin
  • 2015年03月18日 16:37
  • 489

第三部分 核心动画的层--第五章 层的变换

第三部分 核心动画的层 第一部分 核心动画开篇 免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播。同时,转载时不要移除本申明。如产生任何纠纷,均与...
  • mengtnt
  • mengtnt
  • 2012年02月19日 22:22
  • 6447

Java 高手真经 编程基础卷 第二部分

  • 2014年12月05日 10:21
  • 70MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java动画编程基础第三部分
举报原因:
原因补充:

(最多只允许输入30个字)