快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
int [][][] {{{120, 52}, {560, 20}},                {{155, 24}, {560, 20}},               {{122, 27}, {460, 30}},               {{100, 59}, {460, 30}}};   initLoop(manager, employIcon, locs, names, starts, appear, stops);   // A firemen   locs = new int[] { 25 };    names = new String[] { "FD", "FD 2", "FD 3" };   starts = new int [] { 400, 400, 400};   appear = new int[] { 400, 400, 400 };    stops = new int [][][] {{},{}, {}};   initLoop(manager, fireIcon, locs, names, starts, appear, stops);    :    :  **** many additional definition sets omitted ****    : }

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

时间:2011-08-31 IBM

最后,清单 11 显示了如何创建一个 Alarm 实体。显然,我们可以容易地根 据需要增加更多的报警。

清单 11. 创建报警

/** Make some demo alarms */ static public void createAlarms (BuildingManager manager) {   final int alarms[] = { 12 };    LinkedList startPts = (LinkedList)manager.                 getAvailableStartingPoints();   for (int i = 0; i < alarms.length; i++) {     manager.addEntity(       new Alarm(manager, (Point2D)startPts.get(alarms[i])));   } }

结束语

在本文中,我们展示了如何用无损图像、Swing 技术和自定义的动画引擎来生 成 2D 动画中的运动路径。这种方法使我们可以用控制路径以一种快速和可预言 的方式可视化地创建动画。这种技术的优点如下:

易于使用 大多数编辑程序都有几种生成直线、圆弧和其他形状的方法。这些 选择使我们可以手工迅速生成一些路径,同时减少错误。这对于某些行为是非常 有用的。

引用图像 当动画相对于背景图像运动时(如在 图 1中),我们可能希望让对 象在图像中的某些区域内运动,如让对象保持在走廊中。许多图像编辑程序可以 让我们使用半透明的图层在背景图上面生成控制图像。这样我们就可以容易地创 建与背景图相匹配的控制路径,因为在生成控制图像时可以同时看到叠加在一起 的两幅图像。

增加绘制 通过混合颜色,我们可以在一个位置上编码多种行为。例如,使用 RGB 颜色时,可以用红色 (0xFF0000) 表示一个对象所要走的路径,绿色 (0x00FF00) 编码另一个对象要走的路径。使用增加绘制时,在路径交叉的点将会 是黄色 (0xFFFF00)。

使用这种增加绘制模型时,当使用比如说一个 32 位颜色模型时,可以从一个 给定位置以位掩码的形式提取出 32 种不同的行为。尽管我们只描述了一种简单 的行为,但是可以编码的行为的数量只受在该图像格式中每种颜色所具有的位数 的限制。

我们还给出并描述了沿着一组路径移动对象的一个简单动画引擎。在例子中, 每一个对象称为 Entity 并实现为 JLabel ,它们被驱动周期性地更新其位置和/ 或者外观。使用一个长期运行的计时器线程驱动这个过程。用一个 JPanel 作为 所有对象的容器,并作为绘制背景的方法。

代码下载: http://download.boulder.ibm.com/ibmdl/pub/software/dw/library/j-animat -source.zip

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号