梦幻时钟5:画时针
在第三课『画秒针』中,给大家留了一道思考题,为什么要先画秒针,现在该是我们回答这个问题的时候了,问题的答案是:画秒针最简单!
秒针只要管好它自己就可以了,在计时事件中,一次次重复地擦除与绘制,当转够60秒时,秒数重新回到1。那么分针呢?它的“命运”只有在屏幕初始化时是掌握在自己手中的,在此后的漫长岁月里,它的“命运”要由秒针来确定,即,秒针每转满60次,分钟数+1。
如同分针一样,时针的“命运”掌握在分针手里!分针每跳动60次,时针要跳过5个刻度,想想看,如果让时针每次转动一个刻度(6°),那么每隔多少分钟时针要跳动一次呢?
补充说明:
在计时器的计时程序中,代码具有一种整齐的“节奏感”,从“秒=秒+1”开始,到整个条件语句的结束:
秒 = 秒 + 1
如果(秒>60)
秒 = 1
分 = 分 + 1
如果(分>60)
分 = 1
时 = 时 + 1
这段代码呈现出一种递进的关系,秒累计为分,分累计为时,当然,时累计为日,不过钟表无法计量日期,不过,你是否觉得这段代码中缺少点儿什么?
作业:
作为梦幻时钟应用的最后一节课,应该说这段程序是不完美的,其中遗留了一个bug,问题就出在条件语句中,请你完善它。
代码整理:
为了让“重新计时”按钮名副其实,我们对代码作如下完善:创建一个“初始化”过程,并分别在屏幕初始化以及按钮点击事件中调用该过程。
课后总结:
在现实世界中,钟表指针的运动是一个物理问题,要想将物理问题转化为应用中的动画,要经过两个关键步骤:首先,需要将物理学描述的运动规律转化为数学公式(如x=x0+R*cosφ),然后,再将数学公式翻译为程序语言(如X、Y过程)。这是一个非常典型的案例,希望藉由这个例子,让我们学会一种方法,用计算机程序来解决现实中的问题。
感谢大家跟随本课程,请将对本课程的反馈以及作业的答案写在留言中,有问必复!
报告:
截至2016年11月25日零时,累计关注人数达1885位,昨日净增12位,感谢大家的关注与支持,让学习无障碍,我们一同努力!