📅  最后修改于: 2023-12-03 15:03:26.674000             🧑  作者: Mango
textureWrap()
是 p5.js 中的一个方法,它用于设置纹理的循环模式(即如何处理纹理坐标超出 0.0 至 1.0 范围的情况)。
textureWrap(mode)
mode
:纹理循环模式。可选值为 REPEAT
(默认值)或 CLAMP
.textureWrap()
方法用于设置纹理的循环模式,它的作用是指定如果超出了纹理坐标的 0.0 至 1.0 的范围应该如何处理。
如果循环模式设置为 REPEAT
,那么超出的部分会被无限循环重复。如果循环模式设置为 CLAMP
,那么超出的部分会被拉伸到最近的纹理坐标。
下面是一个简单的例子。它使用纹理从图片库中加载一张图片,并将其应用到矩形上。然后,通过按键将循环模式设置为 REPEAT
或 CLAMP
。
let img;
let textureMode = 'REPEAT';
function preload() {
img = loadImage('assets/texture.jpg');
}
function setup() {
createCanvas(400, 400, WEBGL);
texture(img);
}
function draw() {
background(200);
rotateX(frameCount * 0.01);
rotateY(frameCount * 0.01);
box(200, 200, 200);
}
function keyPressed() {
if (keyCode === UP_ARROW) {
textureMode = 'REPEAT';
textureWrap(REPEAT);
} else if (keyCode === DOWN_ARROW) {
textureMode = 'CLAMP';
textureWrap(CLAMP);
}
console.log('Texture mode: ' + textureMode);
}
在这个例子中,按向上箭头将循环模式设置为 REPEAT
,按向下箭头将循环模式设置为 CLAMP
。每当按下箭头时,它都会记录当前的纹理循环模式,并输出到控制台。