4

我无法让 BitmapTexture 平铺,或者作为另一种选择,让它伸展。在这两种情况下,目标都是覆盖网格......

例如,一个材质和圆柱体是这样创建的(假设 preExistingBitmapData 是一个有效的 BitmapData):

poleMaterial = new TextureMaterial(new BitmapTexture(preExistingBitmapData),true, true);
poleMaterial.repeat = true;
poleMaterial.animateUVs = true;

var cG:CylinderGeometry = new CylinderGeometry(10, 10, 400);
var mesh:Mesh = new Mesh(cG, poleMaterial);

cG.topClosed = true;
cG.scaleUV(1, 2);

addChild(mesh); 

.scaleUV 部分和 .animateUVs 只是尝试解决问题的猜测......</p>

知道如何制作位图拼贴吗?当我省略 scaleUV 时,它会显示一次。当我放入 scaleUV(1,2) 时,它确实有点像瓷砖,但高度只有一半,中间有间隙。

我只是想让它平铺平铺。如有必要,我可以重新创建纹理(现在是 64x64,但这是任意的)

即使圆柱几何形状的高度会发生变化,它也需要平滑平铺(这可能是游戏的一部分)

当然,这同样适用于拉伸。

谢谢!

4

1 回答 1

0

你很接近:

var plane = new Mesh(new PlaneGeometry(3000,3000,30,30),new         TextureMaterial(Cast.bitmapTexture(groundMaterial)));
plane.geometry.scaleUV(25, 25);  //  tiles my material of grass image 25x25
plane.material.repeat = true;   //repeats the my material
scene.addchild( plane );

如果您有问题,请告诉我 :) 每次您想更改材料平铺/拉伸的比例时,请使用新属性将材料再次添加到对象中。

于 2013-08-28T16:24:45.450 回答