移动方块板接住小球的游戏也用掌控板实现一个,主要是一个小球和方块板的绘制和移动规则,先看下实际效果:
绘制功能提示菜单:
新建变量:小球相关变量、平台板横向X坐标变量、分数、变化坐标值和开始游戏的标识。
答疑:球X坐标为啥是2和125之间?因为掌控板屏幕是128x64,X轴是128长度,Y轴是64长度。在下方设定了球半径为长度2,那球中心点就不是0,而是2开始,结束点上限是128-2=126,中心点占了位置,值在125时,右边就是126。球Y坐标初始为5,即球直径为4,放置在5,球不会有贴边效果。
绘制实心小球:
答疑:球半径设为2,在后面的值运算时,就需要记住 中心点 运动计算时,都要考虑 相差 半径长度2。
绘制平台板:
答疑:因为弹弹球要求限定在底部水平线上,只能左右移动,不能上下移动,所以Y轴值固定!为啥是60?屏幕Y轴长度为64,平台板高度为4,60=64-4,是否理解?
左移:触摸按下掌控板上的P键
答疑:屏幕左上角坐标值(0,0),左边数值小,右边数值大,左移,就是减小数值;右移,就是增大数值。
右移:触摸按下掌控板上的N键
答疑:为啥平台板X坐标要求小于等于107,107是怎么来的?平台板长度初始设定为20,屏幕X轴长度为128,128-20=108,占位107时,右边就是108。
设定游戏结束显示分数的条件:
答疑:球Y坐标为啥限定为61,因为球半径为长度2,屏幕Y轴为64,64-2=62,占位61时,靠下一位就是64,这时球看起来贴近Y轴底部,就是落地效果,游戏结束。
设定小球回弹变化值的条件判断:
答疑:这里的2,也是因为球长度为2,这里的125,也是因128-2=126决定的,最后这个长句判断,是因为判定 球在平台板长度范围内,表示接住球了,所以这里的20就是前面设定的平台板长度值20,球Y坐标要求大于等于58,这个58是屏幕Y轴长度64,减去平台板高度值4,减去球半径2,即58=64-4-2。
完整实现的图块代码截图如下:
答疑:球 要 运动 起来,就必须要 重复执行上面的代码,每一次重复,出现不同的判定结果,于是动画效果就出现了。
后注:程序真不是叙事作文,不是从头读到尾就完事了,所谓动,就是不断的重复。在程序中,就是循环,循环,再循环。不循环不重复,程序如何动呢?