好,第二个步骤是绘制海葵,绘制海葵用到了一些API,我们来看一下这些API,回顾一下我们所写的。尤其是大家要掌握这些API如何来作用于场景,
首先这对API,save和restore我们已经用到了好几次,那就是在这两个API之间的方法或者定义,只作用于它们之间,一旦出了区间范围,这里面的东西就不再起作用了,比如我的lineCap是round等我出去之后,到这底下来,那这个属性就已经消失了,如果在顶上定义lineCap是另外一种类型,那么我restore之后,在这个位置的lineCap的属性就是save之前的属性,那么像这类属性:
ctx2.globalAlpha=0.6;
ctx2.lineWidth=20;
ctx2.lineCap="round";
ctx2.strokeStyle="#3b154e";
它只需要定义一次就可以了,因为这些都是属于属性类的,而不是命令类,也就是说跟这样的:
ctx2.beginPath();
ctx2.moveTo(this.x[i],canHeight);
ctx2.lineTo(this.x[i],canHeight-this.len[i]);
ctx2.stroke();
其中的
ctx2.moveTo(this.x[i],canHeight);我要告诉场景到某个位置,
ctx2.lineTo(this.x[i],canHeight-this.len[i]);画线段到某个位置,
这一类跟上一类是不一样的,属性哪一类写在for循环外面,定义一次就可以了,但是像这些命令呢,必须写在for循环里面,每一次循环都要执行的,哦,这个是大家要注意的。
画完了海葵,我们画了果实,果实这里面有一个比较重要的概念,那就是池,我们设置了30个果实的池子来一直循环不断的应用这些果实,一旦这个果实离开了屏幕,完成了任务,那把它的状态更改为停滞的状态,然后在这里等待,然后新生的果实有这样的需要的时候,我们就去池子里面找哪一个果实,可以去执行这个任务,我们就把这个任务赋给它,这个概念是比较重要的
如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h62508.shtml