Easyx 学习总结

 
  

easy学习第二天

经过上一节课的学习,现在能够画出一些基本的图形了,另外再加上颜色和延时语句,在加上循环,分支等控制语句,现在就能够写出很多东西来了。现在就开始新的学习。

一 . 实现简单的动画控制

1.动画的实现原理,简单理解其实就是将很多图片快速的放映,当图片的切换频率超过人视觉所能分辨的最高频率的时候,一张张离散的图片就形成了连续的动画的。

通过这个原理,就可以总结出绘制动画的三个步骤:1.绘制图像 2.延时 3.檫掉图像

举个简单的例子:



上面这个例子就是实现一个球从左向右移动的例子,里面的函数在easyx帮助文档里面都有(再次特别提醒:那个帮助文档是最有效地学习资料




上面这个例子的实现原理其实跟上面那个例子很像,只不过这个这个程序要判断边界,从而改变圆心的运动轨迹,这些就是简单的if语句,就不再做详细介绍了。如果碰到边界圆心偏移的数值是一个随机数 的话就能实现随机反弹了,当然这都是以后要学习的知识了,这里暂且就不说了。

二、通过按键来操纵图形的移动

学到现在,基本上能实现一个图形的运动了,但有一个很关键的问题就是这些图形的运动都只能按照程序设定的路线,而我们希望的是通过键盘和鼠标来操纵图形的运动.

首先介绍按键的操纵。

以前我们用的是按任意键的函数 getch()

通过按键进行操作只需要用一个变量来保存即可。即 char c = getch();然后对C进行判断即可。

不过程序执行到 getch() 是会阻塞的,直到用户有按键才能继续执行。可游戏中总不能因为等待按键而停止游戏执行吧?

所以,要有一个函数,判断是否有用户按键:kbhit() 这个函数返回当前是否有用户按键,如果有,再用 getch() 获取即可,这样是不会阻塞的。

即: if( kbhit() )

c = getch();

结合之前学过的动画的写法,我们就可以通过按键使图形按指定的方向移动。例:




上面这个小程序就是之前那个动画的升级,可以通过w、s、a、d这四个键实现上下左右的额移动。

想想,是不是挺简单的呢。好了,接下来就是考验脑力的时候了。上面这个程序是按一下键小球移动一下,想想怎样实现小球的惯性移动呢?即按一下键小球就一直朝着一个方向走,知道再按其他键来改变方向呢?再仔细想想,这是不是跟某个游戏的原理很像呢?没错,就是贪吃蛇的原理。

OK,第二次的内容就到这里了, 欢迎各位读者对本文章进行评论,谢谢!

你可能感兴趣的:(Easyx 学习总结)