课堂学习
n.picL( id,fname );
| 名称:调入设置一张图片 功能:把文件名为fname的图片调入,并设置对应为编号id,供后面显示图片pic等命令使用。(L表示load) 说明:图片格式可以是png、bmp、jpg等多种; 调入图片文件比较“费时间”,通常在程序开头就完成picL命令。 样例:p.picL(1,"bird.png"); |
pen.picL( idBeign,idEnd,fnames ); pen.picL( idBeign,idEnd,fname,sBegin );
| 名称:调入设置多张图片 功能:设一次调入多张图片,并设置对应为编号idBegin到idEnd,供后面显示图片pic等命令使用。 说明:参考” 调入设置一张图片”命令。 第1种命令格式中的idBegin是id的开始编号,idEnd是id的结束编号。fnames是多个图形文件名的字符串,文件名中间用”,”隔开。 第2种命令格式中的sBegin是图片文件的开始编号,图片文件名格式为:文件名+编号+.+后缀。 样例1:pen.picL(0,2,"car.png,pen.png,tree.png"); 这个命令相当于: pen.picL(0,"car.png").picL(1,"pen.png").picL(2,"tree.png"); 样例2:pen.picL(3,6,"bike.png",0); 这个命令相当于: pen.picL(3,"bike0.png").picL(4,"bike1.png").picL(5,"bike2.png").picL(6,"bike3.png"); |
pen.pic( id ); pen.pic(id, w, h); pen.pic(cav,id,w,h,angle,x,y);
| 名称:显示图片 功能:把编号为id的图片在笔位置显示。如果缺省w,h(宽和高)参数,就以图片原始大小显示。有7个参数的是增强格式,参数意义分别是:图层号、图片号、宽度、高度、方向、X坐标、Y坐标。 说明:默认的,笔的位置是图片的中心位置,显示时图片向上,如样例所示。可以参看picO和picUp命令来修改默认项。 样例: p.picL(1,"bird.png"); for (int i=0; i<4; i++) p.fd(150).pic(1).bk(150).rt(90); 
|
pen.picO( 1/0 );
| 名称:设置绘图位置 功能:如果执行pen.picO(1),就是设置笔的位置是图片的中心;如果执行pen.picO(0),就是设置笔的位置是图片的左下角。 说明:默认笔的位置是图片的中心位置。 样例: p.picL(1,"bird.png").picO(0); for (int i=0; i<4; i++) p.fd(150).pic(1) .o(10,1).bk(150).rt(90); 
|
pen.picU( 0/1 );
| 名称:设置图片方向 功能:执行pen.picU(1),设置图片的方向始终向上;执行pen.picU(0),设置的图片方向不是一直向上,而是按照笔的方向显示。(U是up的意思) 说明:默认图片方向是始终朝上的。 样例: p.picL(1,"bird.png").picU(0); for (int i=0; i<6; i++) p.fd(150) .pic(1).bk(150).rt(60); 
|
pen.cav( -1/0/1 );
| 名称:设置画布的层 功能:网络版GoC目前有三次画面供画笔绘图。pen.cav(-1)设置画笔在最下面一层;pen.cav(1)设置画笔在最上面一层;pen.cav(0)设置画笔在中间一层。 说明:默认画笔在中间层;cav对绘图命令和图片命令都影响。 样例: p.cav(1).ee(80,200,1).rt(60); p.cav(0).ee(80,200,2).rt(60); p.cav(-1).ee(80,200,3).rt(60); 
|
pen.ani(cavId, picId ); pen.ani(cavId, picId, w, h); pen.ani(cav,id,w,h,angle,x,y);
| 名称:动画图片 功能:与pic命令类似,但每次显示图片时,会自动清除画布上所以图形。cavId指定在第几层画布上显示,具体参见cav命令;picId为图形编号,具体参见cpicL命令。有7个参数的是增强格式,参数意义分别是:图层号、图片号、宽度、高度、方向、X坐标、Y坐标。 说明:这个命令在指定的画布层上,每次清除前面的图形,显示指定图片,比较方便一些动画制作。 样例: p.speed(10).picL(1,"car.png"); for (int i=0;i<20; i++) p.fd(50).ani(-1,1).rt(18); 
|
课堂训练

int main(){p.speed(6).c(1).size(150).picL(1,1,"car.png").hide();for(;;) p.fd(45).ani(1,1).rt(17).picU(18); return 0;
}

int main(){ p.picL(1,"jnb.jpg");p.pic(1).speed(5).hide();//画花环Ap.moveTo(100,-100); p.c(13); for(int i=0;i<12;i++){p.e(15,15,15);p.fd(30);p.rt( 360.0 /12 ); } //画花环Bp.moveTo(-200,-100);//画12个正方形for(int i=0;i<12;i++){p.c(15);for(int j=0;j<4;j++){p.fd(30).lt(90); } p.fd(30).rt( 360.0 /12 ); } pen.moveTo(50,320).text("英雄永远留在人们心中!",1,50);return 0;
}
课后作业
把下列参考程序改画8个三角形
int main(){pen.c(11).speed(5);for(int i=0;i<12;i++){for(int j=0;j<4;j++)p.fd(30).lt(90);p.fd(30).rt( 360.0 /12 ); }return 0;
}

int main(){pen.c(11).speed(10);for(int i=0;i<8;i++){ for(int j=0;j<3;j++)p.fd(30).lt(120);p.fd(30).rt( 360.0 /8 ); }return 0;
}