EasyX实现自由落体小球

本文实例为大家分享了EasyX实现自由落体小球的具体代码,供大家参考,具体内容如下

1. 要实现自由落体,首先得实现匀速下落

#include<graphics.h>    //图形库头文件
#include<conio.h>
#include<cstdio>
#define WIDTH 400   //窗口宽度
#define HEIGHT 600   //窗口高度

int main()
{
    //定义并初始化小球坐标
    float ballX = WIDTH / 2;
    float ballY = 10;
    //创建窗口
    initgraph(WIDTH, HEIGHT);
    while (1)
    {
        ballY++;        //改变小球的y坐标
        cleardevice();  //清屏
        fillcircle(ballX, ballY, 10);  //绘制小球
        Sleep(10);            //暂停10毫秒
    }

    _getch();         //等待按键输入(卡屏作用)
    closegraph();      //关闭窗口

    return 0;
}

2.然后在匀速的基础上实现加速运动
(只需要实现y方向的增量不断改变即可)

#include<graphics.h>
#include<conio.h>
#include<cstdio>
#define WIDTH 400   //窗口宽度
#define HEIGHT 600   //窗口高度

int main()
{
    //定义并初始化小球坐标
    float ballX = WIDTH / 2;
    float ballY = 10;
    //定义小球初始下落速度
    float vy = 0.0;
    //定义小球下落加速度
    float g = 0.5;       //y方向的增量
    //创建窗口
    initgraph(WIDTH, HEIGHT);
    while (1)
    {
        //实现加速下落
        //改变下落速度
        vy = vy + g;
        //改变Y方向坐标
        ballY = ballY + vy;
        //做反弹处理
        if (ballY >= 590)
            vy = -0.95*vy;   //改变vy的方向,加一点阻力
        //做下边界处理
        if (ballY > 590)
            ballY = 590;
        cleardevice();  //清屏
        fillcircle(ballX, ballY, 10);  //绘制小球
        Sleep(100);            //暂停100毫秒
    }

    _getch();
    closegraph();

    return 0;
}

要点一: 通过增量改变每一次 y 方向上值改变的不同
要点二: 下边界处理, 当 y >窗口高度 - 小球半径 时需要将 y 坐标置为 窗口高度 - 小球半径
要点三: vy的反向

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C语言基于EasyX库实现有颜色弹跳小球

    本文实例为大家分享了基于EasyX库实现有颜色弹跳小球的具体代码,供大家参考,具体内容如下 1.目标要求 1.实现一个有颜色小球在窗口中弹跳2.遇到边界弹跳 2.C语言代码 #include<graphics.h>  #include<stdio.h> #include<stdlib.h> #include<windows.h> #include<conio.h> #define High 480 #define Width 640//画布尺寸

  • Easyx实现窗口自动碰撞的小球

    本文实例为大家分享了Easyx实现窗口自动碰撞的小球的具体代码,供大家参考,具体内容如下 代码: #include<easyx.h> #include<stdlib.h> #include<time.h>   int main() {     //创建窗口     initgraph(640, 480);       //定义小球的数据     int bx = getwidth() / 2;     int by = getheight() / 2;     int

  • EasyX实现自由落体小球

    本文实例为大家分享了EasyX实现自由落体小球的具体代码,供大家参考,具体内容如下 1. 要实现自由落体,首先得实现匀速下落 #include<graphics.h>    //图形库头文件 #include<conio.h> #include<cstdio> #define WIDTH 400   //窗口宽度 #define HEIGHT 600   //窗口高度 int main() {     //定义并初始化小球坐标     float ballX = WID

  • C语言练习题:自由落体的小球简单实例

    一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? 以上这篇C语言练习题:自由落体的小球简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • jQuery模拟物体自由落体运动(附演示与demo源码下载)

    本文实例讲述了jQuery模拟物体自由落体运动的方法.分享给大家供大家参考,具体如下: 运行效果截图如下: 点击此处查看在线演示效果. 完整实例代码点击此处本站下载. 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns=

  • js+html5实现的自由落体运动效果代码

    本文实例讲述了js+html5实现的自由落体运动效果.分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/x

  • JavaScript模拟实现自由落体效果

    本文实例为大家分享了js实现自由落体效果的具体代码,供大家参考,具体内容如下 1.效果图 2.实现分析 利用Canvas画圆球.地面: 1.下落过程 物理知识回顾,物体下落过程(不计损耗)由重力势能转换成动能 重力势能 Ep = mgh 动能  Ek = (1/2)mv^2 速度右0增加至gt 此间需要计算浏览器每次渲染的圆球y坐标 y = (1/2)gt^2 2.反弹过程 动能转化成重力势能 速度是逐渐减少直至为0 本打算设置 y = (1/2)g(t-t1)^2,t1为下落或者反弹消耗的时长

  • Javascript摸拟自由落体与上抛运动原理与实现方法详解

    本文实例讲述了Javascript摸拟自由落体与上抛运动原理与实现方法.分享给大家供大家参考,具体如下: JavaScript 代码 //**************************************** //名称:Javascript摸拟自由落体与上抛运动! //作者:Gloot //邮箱:glootz@gmail.com // QQ:345268267 //网站:http://www.cnblogs.com/editor/ //操作:在页面不同地方点几下 //*********

  • javascript 实现自由落体的方块效果

    你可以试着按下鼠标左键,然后拖拽出一个方块后释放,看效果 Simple xhtml page div.container{ position:absolute; border:1px solid #333; font-size:0px; filter: alpha(opacity=60); opacity: 0.6; } =dc-dh){clearInterval(self.dropId);self.fade();} self.node.style.top = Math.min(dt+(++se

  • Android实现跳动的小球加载动画效果

    先来看看效果图 跳动的小球做这个动画,需掌握: 1.属性动画 2.Path类.Canvas类 3.贝塞尔曲线 4.SurfaceView用法 5.自定义attr属性 6 .架构: 状态模式,控制器 7 .自由落体,抛物线等概念 不多说了,直接上码 1.DancingView.java public class DancingView extends SurfaceView implements SurfaceHolder.Callback { public static final int ST

  • C语言实现简单弹跳小球

    本文实例为大家分享了C语言实现简单弹跳小球的具体代码,供大家参考,具体内容如下 本节利用 printf 函数 实现一个在屏幕上弹跳的小球,内容简单容易入门,这也是以后我们在设计更多游戏中可能用到的东西. 绘制静止的小球 我们将以如图坐标系进行游戏,即以窗口左上角为原点. 我们希望在坐标(x , y)处显示静止的小球: #include <stdio.h> int main(){     int i,j; // 这两个量是循环中要使用的,一定先声明     int x = 5;     int

  • jQuery 插件实现随机自由弹跳气泡样式

    一个基于jQuery的气泡动画插件,在指定区域上方(左/右)定时间隔产生气泡,然后随机水平速度进行仿自由落体运动.到达区域底部之后做弹跳运动,速度逐渐衰减.直至停止运动. 在线演示 安装方法 由于是基于jQuery的扩展插件,因此引入jQuery是必须的. 此外,还需引入插件自身的实现脚本. <scriptsrc="https://code.jquery.com/jquery-1.12.4.min.js"></script> <scriptsrc=&quo

随机推荐