一个客户端要求我使用一个巨大的4000 x 4000 px movieClip (或者更大的--不确定大小限制是什么)包含pan/滚动类型功能的形状数据。这已经被建议作为写瓷砖引擎的一种替代。
我担心Flash将不得不渲染整个区域,并使用过多的内存。我还没有跟上Flash内部的变化。有谁能确认闪存是否有特定movieClip的“全部或无”呈现策略,或者它是否能够识别屏幕上将显示的内容?
或者,是否有一个具有简单API的开源贴图引擎?我不想仅仅为了平铺功能而处理游戏引擎的复杂性。
应用程序是一个地图表示工具。
更新:
我应该更加明确:我是在问如何呈现向量数据--如果向量数据的movieClip大于阶段,那么Flash只呈现可见的部分吗?

发布于 2015-08-17 19:00:24
是否有一个具有简单API的开源平铺引擎?我不想仅仅为了平铺功能而处理游戏引擎的复杂性。
我认为,如果您要求一个引擎,如果只有一个源映像,这是过于复杂了。
创建一个Rectangle,其大小为您希望看到的部分的大小,即屏幕大小。
var rect:Rectangle = new Rectangle (/* size and position go here*/);添加一个Bitmap和BitmapData,它们作为视图和模型(可以这么说),其大小与矩形相同:
var bitmapData:BitmapData = new BitmapData(rect.width, rect.height);
var bitmap:Bitmap = new Bitmap(bitmapData);然后,只需将所需的矩形从源copyPixels()到bitmapData。
bitmapData.copyPixels(sourceImage, rect, new Point());若要查看图像的不同区域,请修改Rectangle对象并再次复制。
上面的代码只是为了说明,而且可能甚至不编译,但它表明,它没有太多,您应该能够在代码的几个留置点内获得所需的功能。
对大小的限制如下所示:根据文件:
在AIR 1.5和Flash 10中,BitmapData对象的最大大小在宽度或高度上是8191像素,像素总数不能超过16,777,215像素。(因此,如果一个BitmapData对象宽8191像素,那么它只能有2048像素高。)在Flash Player 9及更早版本和AIR 1.1及更早版本中,限制是高度为2,880像素,宽度为2,880像素。
https://stackoverflow.com/questions/32056821
复制相似问题