使用函数绘制具有不同设置的粒子
由于您是编码新手,我想知道您是否知道functions。
-
function 是可重用的代码块。
- 您可以发送
arguments 以获取要使用的功能。
- 参数可以使函数在执行其代码时应用不同的设置。
这是一个使用单个 function 的简单示例,它接受不同的参数来绘制具有不同设置的粒子。
通常,您可以通过创建一个接受参数的函数来绘制不同的设置来应用不同的设置。这样您就可以使用不同的设置多次调用同一个函数。
// draw a small red circle at [x=50,y=50] with full alpha
drawParticle(50,50,10,'red',1.00);
// draw a large green circle at [x=150,y=100] with half alpha
drawParticle(150,100,50,'green',0.50);
function drawParticle(cx,cy,radius,color,alpha){
ctx.beginPath();
ctx.arc(cx,cy,radius,0,Math.PI*2);
ctx.fillStyle=color;
ctx.globalAlpha=alpha;
ctx.fill();
}
对于更复杂的设置,您可以使用if 语句来绘制各种设置
例如,这个函数可以让你绘制一个从 0 到 100 “年龄”的粒子。
将粒子的年龄作为参数传递,该函数使用if 语句在粒子老化时降低粒子的 alpha。
function drawParticle(cx,cy,radius,color,age){
ctx.beginPath();
ctx.arc(cx,cy,radius,0,Math.PI*2);
ctx.fillStyle=color;
if(age<25){
ctx.globalAlpha=1.00;
}else if(age<50){
ctx.globalAlpha=.75;
}else if(age<75){
ctx.globalAlpha=.50;
}else{
ctx.globalAlpha=.25;
}
ctx.fill();
}