c#模拟平抛运动动画的方法详解
主要使用Graphics对象的FillElliple绘制一圆形小球,然后分时控制其显示位置即可。
步骤主要如下:
1.新建窗体,然后在代码模式中添加如下函数分别控制x和y轴方向运动速度。
代码如下:
private int runTime=25;//设置平抛运动时间(动画持续时间)
private double Xs(double t)
{
double v0 = 15;
return v0 * t;
}
private double Ys(double t)
{
double g = 9.8;
return 0.5 * g * t * t;
}
2.下面我将控制运动方法绑定至了主窗体的click事件上,可以换之。代码如下:
代码如下:
private void Form1_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
double t;
for (t = 0; t < runTime; t += .5)
{
System.Threading.Thread.Sleep(10);
g.Clear(this.BackColor);
double x = Xs(1.5 * t) + 50;
double y = Ys(0.3 * t) + 5;
g.FillEllipse(Brushes.Red, Convert.ToSingle(x), Convert.ToSingle(y), 30, 30);
}
}
相关推荐
-
JS匀速运动演示示例代码
复制代码 代码如下: <!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/xhtml"> <head> <meta http-equiv=&qu
-
js运动动画的八个知识点
今天简单的学了一下js运动动画,记录一下自己的心得体会,分享给大家. 下面是我整理出来的结果. 知识点一:速度动画. 1.首先第一步实现速度运动动画,封装一个函数,用到的知识是setInterval(function(){ 复制代码 代码如下: oDiv.style.left=oDiv.offsetLeft+10+"px"; },30). 对于这里为什么要用到offsetLeft,我特意百度了一下,我得到的有用信息是: a.offsetLeft和left的相同之处都是表示子节点相对于父
-
让Silverlight 2.0动画动起来Making Silverlight 2.0 animation Start(不能运动原因)
问题又来了 Microsoft Expression Blend 2制作的动画 无法动起来 现在大师教 大家怎么让Silverlight.2.0动画动起来 很简单 你制作了动画 但是没有触发点 或者说没有告诉什么时候开始 Microsoft Visual Web Developer 2008 Express Edition或者VS2008 然后打上Silverlight Tools 补丁 这样要方便 当然记事本也可以 打开 代码部分 比如我的就是Page.xaml.cs 比如我要让 我制作的动画
-
JS运动框架之分享侧边栏动画实例
本文实例讲述了JS运动框架之分享侧边栏动画实现方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css">
-
js运动框架_包括图片的淡入淡出效果
复制代码 代码如下: <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><font face="Verdana, Geneva, sans-serif"></font>&l
-
JS多物体 任意值 链式 缓冲运动
复制代码 代码如下: <!DOCTYPE HTML> <html> <head> <meta http-equiv="content-type" charset="utf-8" /> <meta http-equiv="content-type" content="text/html" /> <title>demo</title> </h
-
JS实现匀速运动的代码实例
效果: 思路: 利用setInerval()计时器,进行运动.然后关键的一点是在最后停止的时候给它一个填充缝隙的判断. 代码: 复制代码 代码如下: <head runat="server"> <title></title> <style type="text/css"> #div1 { width: 100px; height: 10
-
JS实现多物体缓冲运动实例代码
效果: 思路: 利用setInterval计时器进行运动,offsetWidth实现宽度的变动,在用onmouseover将终点和所选中的DIV放入参数再进行缓冲运动. 代码: 复制代码 代码如下: <head runat="server"> <title></title> <style type="text/css"> div { width: 100px
-
JS运动基础框架实例分析
本文实例讲述了JS运动基础框架.分享给大家供大家参考.具体分析如下: 这里需要注意: 1. 在开始运动时关闭已有的定时器 2. 把运动和停止隔开 复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="te
-
js实现运动logo图片效果及运动元素对象sportBox使用方法
初始化(元素id, 元素移动的方向用123456789分别表示左上.上.右上.左.中.右.左下.下.右下. 撞击位置,9个数字分别表示9个地点,按顺序左上角.上.右上角.左.中.右.左下角.下.右下角,5居中. 运动的logo /**************************************************************** * name:运动的元素对象sportBox * DATA --2012-12-20-- 美工 **********************
-
javascript动画之圆形运动,环绕鼠标运动作小球
代码如下: 复制代码 代码如下: <script type="text/javascript"> var ball; var mouseX = 100; var mouseY = 100; var angle = 0; var radius = 50; function run(){ if(ball === undefined){ ball = document.createElement("span"); ball.style.position = &
随机推荐
- Angular的MVC和作用域
- python中 logging的使用详解
- Android编程实现网络图片查看器和网页源码查看器实例
- dos下通过wmic命令查看硬盘和内存/CPU信息(windows自带命令查看硬件信息)
- iOS自带动画效果的实例代码
- android教程之textview解析带图片的html示例
- 65条最常用正则表达式 你要的都在这里了
- PHP使用CURL实现多线程抓取网页
- PHP 中执行系统外部命令
- Ajax加载菊花loding效果
- CSS 浏览器的等宽空格问题解决
- JS制作适用于手机和电脑的通知信息效果
- 解析javascript 浏览器关闭事件
- sql编程的几个常识
- js 限制数字 js限制输入实现代码
- javascript对数组的常用操作代码 数组方法总汇
- 详解C++中new运算符和delete运算符的使用
- Android 两个Fragment之间传递数据实例详解
- 友盟 微信第三方登录示例
- .net MVC+Bootstrap下使用localResizeIMG上传图片