Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 从矩形到梯形_Actionscript 3_Matrix_Transform - Fatal编程技术网

Actionscript 3 从矩形到梯形

Actionscript 3 从矩形到梯形,actionscript-3,matrix,transform,Actionscript 3,Matrix,Transform,如何使用ActionScript3将矩形转换为梯形 我的梯形是一个3D房间的地板,我想对它进行纹理处理(位图瓷砖) 这取决于“矩形”在程序中的表示方式。很少有选择: 如果矩形是矢量,并且您可以访问定位点: ---> o------o <--- | | | | o------o 简单地转换两个顶点并将它们彼此压缩 如果该“矩形”实际上是一个DisplayObject,则需要“缝合”两个相同的DisplayObject来创建一个新的。有

如何使用ActionScript3将矩形转换为梯形

我的梯形是一个3D房间的地板,我想对它进行纹理处理(位图瓷砖)

这取决于“矩形”在程序中的表示方式。很少有选择:

  • 如果矩形是矢量,并且您可以访问定位点:

    ---> o------o <---
         |      |
         |      |
         o------o
    
    简单地转换两个顶点并将它们彼此压缩

  • 如果该“矩形”实际上是一个
    DisplayObject
    ,则需要“缝合”两个相同的DisplayObject来创建一个新的。有您想要的示例以及示例代码

  • 另一个选项是使用-这是使用上述渲染方法作为基础

  • 这个有点棘手,但这是一个选择。可以使用所述的置换贴图。代码是AS2,但“端口”应该相当简单


  • 编辑

    作为PAR,我建议您使用PrimVISION 3D(见第三选项)来做这件事,因为您可能想把相机移到“房间”周围。它还将处理其他墙。

    如果您的目标是FlashPlayer 10,则可以通过旋转剪辑的旋转值来实现,有关详细信息,请参见

    否则,您将需要像Papervision这样的3D引擎。在FlashPlayer9中没有简单的方法进行非仿射变换


    祝你好运。

    我们的想法是将它分成三角形,然后对它们执行仿射变换(使用矩阵)。。。 (适用于AS2)


    网上也有一些LIB,但我现在找不到…

    请详细解释你想要什么。Papervision就是这样做的。不妨使用它,这是当今事实上的标准,但任何其他3D引擎也会这样做。在flash开发中,文件大小有时确实很重要。。。当然,你也可以从3d引擎中提取代码…:)只是不认为有必要重新发明轮子!如果问题被问及如何去做,那么提问者可能不会很快为自己去做。开发时间有时也是软件项目中的一个因素!;)抱歉,在发布我的评论之前,没有注意到您的Papervision参考资料。当做AlecMcE@alecmce:不过,你确实推出了Flash10的3D选项。我忘了那个。
    ---> o------o <---
         |      |
         |      |
         o------o
    
           o--o
          /    \
         /      \
         o------o