资源简介 第十一课:可移动的风车学习目标 1.了解Shapes对象,能用Shapes对象编写简单的动画程序。2.了解Program对象,能用Program对象优化动画程序的运行效果。3.继续学习编写事件驱动的程序。教学重难点1、本课的教学重点是:了解Shapes对象的各种操作,并能根据Shapes对象的各种操作的英文含义,自主地选择Shapes对象的操作来编写动画程序;www.21-cn-jy.com2、教学的难点是在动画的设计过程中所涉及的坐标运算。一、风车是由叶子和基座组成,画移动的风车程序比较长,可以分成如下几个步骤来完成。? ? 第一步:画静止的风车。 掌握Shapes.AddRectangle()和Shapes. Move()命令的使用方法。? ? 第二步:在程序中加上响应鼠标事件的命令。? ? 第三步:编写让风车叶片旋转的程序。 通过修改Shapes.Rotate()和 Program.Delay()命令的参数。? ? 第四步:编写点击鼠标事件发生时响应的子程序onKD。 leaf=shapes.addrectangle(200,10)在图形窗口添加一个宽200、高10的实心矩形,图形取名leafshapes.move(leaf,200,200)把图形leaf移到(200,200)处?i=1用i表示旋转的角度,初值为1?While "true"无限循环?shapes.rotate(leaf,i)将图形leaf旋转到i度的位置i=i+1旋转的角度增加1度endwhile循环标志风车的叶片和基座的位置需要根据图片经过计算获得。二、Shapes对象1、例如:下面的程序可以画一个不断旋转的风车叶 leaf=shapes.addrectangle(200,10)21世纪教育网版权所有shapes.move(leaf,200,200)?i=1While "true"shapes.rotate(leaf,i)?i=i+1endwhile2、Shapes 【对象】Shape 对象允许您添加移动和旋转 GraphicsWindow 中的形状。—Shapes.AddEllipse 【操作】以特定的宽和高增加一个椭圆。—Shapes.AddImage ?【操作】以图形的方式添加一个图像以使其可以移动,动画或旋转。—¬Shapes.AddLine? 【操作】在特定的点之间增加一条线。—Shapes.AddRectangle 【操作】以特定的长和宽增加一个矩形。—Shapes.AddText? 【操作】以图形的方式添加一些文本以使其可以移动,动画或旋转。—Shapes.AddTriangle? 【操作】增加一个由特定的点表示的三角形。—Shapes.Animate? 【操作】移动特定名字的图形到新的位置。—Shapes.GetLeft? 【操作】获得特定名字的图形左坐标值。—Shapes.GetOpacity ?【操作】获得图形的透明度。—Shapes.GetTop 【操作】获得特定名字的图形顶坐标值。—Shapes.HideShape 【操作】隐藏一个已添加的图形。—Shapes.Move? 【操作】把特定名字的图形移动到新的位置。—Shapes.Remove 【操作】从 GraphicsWindow 移除一个图形。—Shapes.Rotate 【操作】旋转特定名字的图形至特定角度。—Shapes.SetOpacity ?【操作】设置图形的透明程度。 —Shapes.SetText? 【操作】设置文本图形的文本。—Shapes.ShowShape ?【操作】显示先前隐藏的图形。—Shapes.Zoom 【操作】使用特定的缩放尺来缩放图形。最小为 0.1 最大为 20。三、program对象程序的类提供了帮助器来控制程序的执行。??—Program.ArgumentCount 【属性】获得传递给此程序的命令行参数的个数。—Program.Directory 【属性】获得程序执行目录。—Program.Delay 【操作】延迟程序执行特定的毫秒数。—Program.End() 【操作】结束程序。—Program.GetArgument ?【操作】返回传递到此程序的特定参数。21教育网修改程序,让风车叶片旋转的效果达到等一会儿再转到下一个位置四、练习:1.画一个拉大幕的程序。程序如下:For x=0 To GraphicsWindow.WidthGraphicsWindow.PenColor =GraphicsWindow.GetRandomColor()21cnjy.comGraphicsWindow.DrawLine(x,0,x,GraphicsWindow.Height)21·cn·jy·comProgram.Delay(10)EndFor2.画一个不断增大的太阳。程序如下:GraphicsWindow.BrushColor="red"GraphicsWindow.PenColor="red"SUN=Shapes.AddEllipse(10,10)Shapes.Move(SUN,300,150)For i=1 To 20 Step 0.1Shapes.Zoom(SUN,i,i)Program.Delay(10)EndFor程序也可以是这样的:GraphicsWindow.BrushColor="red"GraphicsWindow.PenColor="red"SUN=Shapes.AddEllipse(10,10)Shapes.Move(SUN,300,150)For i=1 To 20 Step 0.001Shapes.Zoom(SUN,i,i)EndFor 展开更多...... 收起↑ 资源预览