XE8里面的ImageList和Box2D新特性

来源:互联网 发布:电子显示屏软件下载 编辑:程序博客网 时间:2024/06/06 08:24

在XE8版本里面,引入了ImageList和Box2D的新特性。我把2015年6月19日的视频录像上传到了Youku的embarcadero的账户下面。大家可以通过 http://i.youku.com/embarcadero 来访问Embarcadero的所有的视频内容。访问http://v.youku.com/v_show/id_XMTI2NTc2MDMwNA==.html?from=y1.7-1.2 可以直接看上次会议的视频。
新加入的ImageList这个控件是FireMonkey架构的,可以适应多种平台。请注意,它和VCL下面的ImageList不一样。不知道后续版本是否会增强并改进。在ImageList的控件上面双击就出现了可以加载图像和编辑图像的界面。在ImageList里面有resource列表,可以加入各种图片,并且每张图片都是可以上传不同分辨率的图片,来支持不同分辨率的Mac或者各种分辨率的移动设备。
在这个ImageList的控件里面还有图层的概念,就是可以将resource里面的不同的图片合成成一个。对一些图标(有透明部分)的编辑工作提供了帮助。同时也支持将工具条的图标做成1个图片,在添加到ImageList中的时候,自动分割成小图标(其实就是图层概念,这次是选择图片的不同部分)。
对于Box2D程序库,大家都知道Angry Birds的开发中,就使用了Box2D的物理引擎。网上介绍Box2D的文章也很多。我这里就简单介绍一下helloworld的程序,box2d可以模拟真实的世界,所以首先我们先创建一个g=10(9.8也可以,10好计算)的世界,之后在这个虚拟的世界中放置各种刚体,最后,通过Box2d的物理引擎,就可以计算出随着时间片变化(类似于动画中的帧),各个刚体的位置、速度等信息。
对于使用box2d的物理引擎,需要开发者了解基本的物理定律,例如牛顿定律,什么刚体?等物理知识。另外,在这个虚拟世界中的单位是MKS系统,就是长度是米M为单位,重量是公斤Kg为单位,S是时间的秒为单位。所以,带入box2d的数据和最终显示的图像之间,是需要自己换算成屏幕的像素的。当然,直接使用可伸展图像是最方便的,就和Angry Bird里面的图像的放大缩小功能类似。
最后,希望大家能使用XE8开发出更有意思的程序。
差点忘了,我修改的box2d的helloworld的程序代码,可以从 http://pan.baidu.com/s/1hqneFtE 网盘下载,就是添加了绘图,看着直观一些。



本文出自:http://blog.sina.com.cn/glassesfather
0 0