问题在标题中:
ActionScript3.0如何在坐标处获取像素的颜色(uint)?(Stage3D,Flare3D)
我正在使用Flare3D库在iPad2上渲染3D场景。我需要得到的颜色值在768个不同的坐标每次屏幕被重新绘制。以前,在简单的stage (2D)上,我只能在转换为指定坐标的1x1位图上绘制它,现在它在stage3D上不起作用。另外,我有点担心这会不会影响性能,因为我真的需要尽可能多地这样做-实际上每次绘制屏幕时都会这样做。如果当前显示屏幕像某个地方的位图,那就太好了,这样我就可以像简单的array...but一样访问它是的,我没有屏住呼吸:)
发布于 2013-01-21 23:50:17
因为Stage3D渲染到后台缓冲区并且不能直接访问它,所以您还需要使用Context3D.drawToBitmapData()方法渲染到BitmapData。渲染到位图非常慢,特别是在视口很大的情况下。由于您只需要访问这768个像素,因此可以使用Context3D.setScissorRectangle渲染场景768次,并将剪裁矩形的大小设置为1x1以及所需的坐标。我自己还没有测试过,所以我不知道渲染700次场景会不会比渲染一次慢,但你可能想试一试。:)
https://stackoverflow.com/questions/14440884
复制相似问题