移动画笔画线
活动任务
设计一个移动画线的程序,运行后,随着笔的移动在画板上从左至右逐渐画出一条直线。程序界面示例如图3-5所示。
图3-5 程序示例
我的问题
? 怎样实现自动画线?
? 如何在程序界面上添加图片?
活动建议
1.逐渐画直线
任务要求要随笔的移动从左至右逐渐画出一条直线,也就是说不能一次画出一条直线,要有逐渐画的过程,因此不能釆用画直线的方法。那么,如何表现逐渐画的过程呢?直线实际上是很多点的集合, 只要依次画点,看起来就是逐渐画出了一条直线。
2.确定要画的点的坐标
可以依据笔的移动位置确定要画的点的坐标,因此要先解决如何显示“笔”图片以及如何确定图片坐标等问题。
要使点的坐标值跟“笔”的坐标值相同。为了使效果逼真,还可以把点的坐标值稍作修改,让其位置正好位于图片中“笔尖”处。
知识准备
1.图片框组件
(1)功能:用来显示图片。
(2)常用属性。
表3-2 图片对象的常用属性
2.图片的移动
图片移动实际上就是图片对象左边、顶边的属性不断发生变化。例如,图片在窗口上从左向右移动,实质上就是图片框的“左边”属 性值越来越大,可用表达式表示:
图片框的左边属性值=图片框的左边属性值+移动的单位。
图3-6 图片框在窗口上
3.画点方法:在画板上画点
“画板.画点”语句的格式、功能
格式:画板.画点(点的横坐标,点的纵坐标,欲画入点的颜色值)
功能:在指定位置画点。
举例:语句“画板1.画点(50,100, #蓝色)”将在画板1上画 一个蓝色的点,点的坐标为(50,100)。
4.时钟用法
易语言中时钟的作用是使对象按一定时间间隔做出响应,间隔由时钟周期属性决定。时钟周期的数据类型是整数型,数据单位是毫秒,1秒=1000毫秒。
如果设置了时钟周期,每个时钟周期就会自动执行周期事件的代码。时钟控件在程序运行时是不可见的,所以在设计界面时可以不必精心设计它的大小和位置。
操作界面
一、界面设计
1.选择组件创建对象
(1)在窗口上设置一个画板对象,用来实现画点。
(2)设置一个图片框,显示图片“笔”(“笔”图片参见素材盘)。
(3)设置一个时钟对象,自动执行图片移动和画点的操作。
2.设置对象框加载图片
各个对象的属性值设置可参考表3-3
图3-3 属性值设置表
3.用图片框加载图片
加载图片的方法如图3-7所示。
图3-7 图片加载的方法
谢 谢