如何使用 ActionScript3 将矩形转换为梯形
我的梯形是 3D 房间的地板,我想对其进行纹理化(位图图 block )。
_____________
| | | |
| |_____| |
| / \ |
| / trapez.\ |
|/__________\|
最佳答案
这取决于“矩形”在程序中的表示方式。几个选项:
如果您的矩形是矢量,并且您可以访问 anchor :
---> o------o <--- | | | | o------o
变成:
o--o / \ / \ o------o
只需平移两个顶部点并将它们彼此压缩即可。
如果该“矩形”实际上是一个
DisplayObject
,您将需要“缝合”两个相同的 DisplayObject 以创建一个新的 DisplayObject。 This page有您想要的示例以及示例代码。另一个选择是使用 Papervision3D - 以上述渲染方法为基础。
这个有点棘手,但它是一个选择。您可以使用位移贴图,如here所述。 。代码是 AS2,但“移植”应该相当简单。
编辑
如 this answer 所示,我建议您使用 Papervision3D(请参阅第三个选项)来执行此操作,因为您可能想要在“房间”周围移动相机。它还会照顾其他墙壁。
关于actionscript-3 - 从长方形变成梯形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1858777/