快速业务通道

Java:在二维动画中使用基于图像的路径 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
People().size() == 0) {                cancel();             }           }        });     }   };   (new Timer (true)).scheduleAtFixedRate(task, 0, delay); }

下面是我们动画序列的几个屏幕快照。图 7 显示了在行动之前的逃生模拟( 完成了全部过程的大约 10%)。

图 7. 刚开始时的逃生序列

Java:在二维动画中使用基于图像的路径 - 编程入门网

Java:在二维动画中使用基于图像的路径(9)

时间:2011-08-31 IBM

图 8 显示在完成了大约 50% 时的动画序列。

图 8. 数次更新后的逃生序列

Java:在二维动画中使用基于图像的路径 - 编程入门网

图 9 显示接近完成时的序列(尽管序列实际上是无限循环运行的)。

图 9. 接近完成时的逃生序列

Java:在二维动画中使用基于图像的路径 - 编程入门网

在图 10 中可以看到实体是如何沿着控制路径移动的,它应当可以让您更好地 理解运行是如何实现的。

图 10. 实体沿着控制路径移动

Java:在二维动画中使用基于图像的路径 - 编程入门网

Java:在二维动画中使用基于图像的路径(10)

时间:2011-08-31 IBM

绘制舞台

类 BuildingViewer 创建让对象在其中移动的容器。 paintChldren() 方法首 先绘制背景图像,然后是报警消息,最后是表示不同实体的子组件。

清单 8. BuildingViewer.paintChildren

private int paintCount; private static final Color evacColor = new Color(255, 0, 0, 128);  : /** draw the background, massage and entities */ public void paintChildren(Graphics g) {    paintCount++;   if (background != null) {     Graphics g2 = g.create();     try {       // draw the background       g2.drawImage(background.getImage(),               (int)getLocation().getX(),              (int) getLocation().getY(),              (int)getLocation ().getX() + getWidth(),              (int)getLocation ().getY() + getHeight(),              0, 0,               background.getIconWidth(),              background.getIconHeight(),              Color.black, null);       // draw the alert message (if any)        if (alertMessage != null) {         if (paintCount % alertPeriod >= (alertPeriod / 2)) {           Font f = g2.getFont();           Font f2 = f.deriveFont((float) alertSize);           FontMetrics fm = Toolkit.getDefaultToolkit().             getFontMetrics (f2);           int fHeight = fm.getHeight(),              fAscent = fm.getAscent();           int sWidth = fm.stringWidth(alertMessage);            g2.setFont(f2);           Graphics2D g2d = (Graphics2D) g2;           g2d.setStroke(new BasicStroke(10));            g2.setColor(evacColor);            g2.drawString(alertMessage,                   (getWidth() - sWidth) / 2,                   (getHeight() - fHeight) / 2 +                     Ascent);         }       }     } finally {       g2.dispose();     }   }    super.paintChildren(g); }

Java:在二维动画中使用基于图像的路径(11)

时间:2011-08-31 IBM

要创建有效的动画,需要移动的对象。清单 9 显示的代码根据所提供的输入 创建一系列同样类型(即残疾的、非残疾的、消防员等)的

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号