第一次发文章,日后也将不定时发布一些类似这样的文章,希望大家喜欢
为了保证小球在碰到某些地方能够实现回弹,我们需要先设置一下边框:
- int top=0,bottom=30;//上下边框
- int left=0,right=40; //左右边框
这样一来,小球的可移动范围就定义完毕了,那么接下来,为了改变小球的运动方向与速度,我们还需要定义小球在x,y轴上的速度,同时定义小球的除坐标,代码如下:
- int speedX=1,speedY=1;
- int x=1,y=1;
变量定义完毕后,为了小球能够不停的运动,我们还需要用到循环结构,同时是不停的循环,我们在这里使用简单快捷的while(1)
是时候使用前面的变量了,我们先做一个“碰撞检测器”,应该不难想到需要用到if函数:
if (x == left || x == right)
{
speedX = -speedX; // 设置碰撞检测(x轴
}
if (y == top || y == bottom)
{
speedY = -speedY; // 设置碰撞检测(y轴
}
接下来小球的坐标应该如何处理呢?这时我们就可以用到speed和初坐标了
x=x-speedX;//当然,加减都可以,下面也一样
y=y-speedY;
有了x,y的坐标,就可以进行最为关键的一步了,如何保证小球会在该坐标上呢?