Function 如何使用mouseClicked函数以随机大小缩放图形,而图形不会丢失它';s整体形状p5.js
我有一张画在里面的画布。我的目标是使用mouseClicked函数生成图形,并在画布上的任意位置以任意大小绘制(使用mouseClicked函数),而不会丢失其形状。形状的比例正确,而且它们似乎要到正确的x和y坐标;但是,当图形缩小时,形状会展开,当图形放大时,形状会移近。如何缩放图形,使其相对于x和y坐标,并且不丢失其整体形状Function 如何使用mouseClicked函数以随机大小缩放图形,而图形不会丢失它';s整体形状p5.js,function,scale,mouseclick-event,p5.js,Function,Scale,Mouseclick Event,P5.js,我有一张画在里面的画布。我的目标是使用mouseClicked函数生成图形,并在画布上的任意位置以任意大小绘制(使用mouseClicked函数),而不会丢失其形状。形状的比例正确,而且它们似乎要到正确的x和y坐标;但是,当图形缩小时,形状会展开,当图形放大时,形状会移近。如何缩放图形,使其相对于x和y坐标,并且不丢失其整体形状 函数设置(){ createCanvas(800800); 背景(“红色”); } 函数draw(){} 米老鼠(米老鼠,米老鼠,米老鼠大小){ //耳朵 笔划(“
函数设置(){
createCanvas(800800);
背景(“红色”);
}
函数draw(){}
米老鼠(米老鼠,米老鼠,米老鼠大小){
//耳朵
笔划(“黑色”);
冲程重量(4);
填充(“黑色”);
椭圆(米老鼠,米老鼠,米老鼠大小,米老鼠大小);
椭圆(米老鼠+170,米老鼠,米老鼠大小,米老鼠大小);
//头
笔划(“黑色”);
冲程重量(4);
填充(“黑色”);
椭圆(米老鼠+85,米老鼠+90,米老鼠大小*1.5,米老鼠大小*1.5);
}
函数mouseClicked(){
var mickeySize=随机(0,宽度/5);
drawMickey(mouseX、mouseY、mickeySize)
}
您可能应该查看map()
函数,它将一个数字从一个范围重新映射到另一个范围。您可以使用它来获得根据大小绘制椭圆的距离,贴图(米老鼠大小,0,宽度/5,20,85)
。正确使用此处的函数:
希望这能让你走上正轨。对于这样的问题,你能做的最好的事情就是拿出一些图表,画一些例子。考虑底部圆的中心在哪里,顶部圆圈在哪里与它有关。 您可能希望相对于底部圆定位顶部圆,同时考虑圆的大小 下面是一个小例子:
function setup() {
createCanvas(800, 800);
}
function draw() {
var circleX = 600;
var circleY = 400;
var circleSize = 50;
ellipse(circleX, circleY, circleSize, circleSize);
ellipse(circleX - circleSize/2, circleY - circleSize/2, circleSize/2, circleSize/2);
ellipse(circleX + circleSize/2, circleY - circleSize/2, circleSize/2, circleSize/2);
}
就像我说的,你能做的最好的事情就是画出一堆例子,直到你注意到一个模式。如果你仍然有问题,请在一个新的问题帖子中发布这样的问题。祝你好运