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实现匀速运动的代码实例
效果: 思路: 利用setInerval()计时器,进行运动.然后关键的一点是在最后停止的时候给它一个填充缝隙的判断. 代码: 复制代码 代码如下: <head runat="server"> <title></title> <style type="text/css"> #div1 { width: 100px; height: 10
-
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运动基础框架.分享给大家供大家参考.具体分析如下: 这里需要注意: 1. 在开始运动时关闭已有的定时器 2. 把运动和停止隔开 复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="te
-
JS运动框架之分享侧边栏动画实例
本文实例讲述了JS运动框架之分享侧边栏动画实现方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css">
-
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 = &
-
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运动框架_包括图片的淡入淡出效果
复制代码 代码如下: <!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实现多物体缓冲运动实例代码
效果: 思路: 利用setInterval计时器进行运动,offsetWidth实现宽度的变动,在用onmouseover将终点和所选中的DIV放入参数再进行缓冲运动. 代码: 复制代码 代码如下: <head runat="server"> <title></title> <style type="text/css"> div { width: 100px
-
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
随机推荐
- 原生JavaScrpit中异步请求Ajax实现方法
- fedora 开机启动/禁止开机启动服务的实现
- 星外ASP.Net的安全设置相关说明
- java数组遍历 删除remove(示例代码)
- Python读写ini文件的方法
- 数据库开发总结(ADO.NET小结)
- Swift编程中实现希尔排序算法的代码实例
- Bootstrap CSS组件之分页(pagination)和翻页(pager)
- js实现精确到毫秒的倒计时效果
- php数组函数序列之array_combine() - 数组合并函数使用说明
- 简单谈谈javascript Date类型
- C++删除链表中间节点的方法
- Android切换卡TabWidget用法示例
- Android 有效的解决内存泄漏的问题实例详解
- android 帧动画,补间动画,属性动画的简单总结
- sql表连接查询使用方法(sql多表连接查询)
- 常用的jquery模板插件——jQuery Boilerplate介绍
- 原生JS实现《别踩白块》游戏(兼容IE)
- PHP简单创建压缩图的方法
- java 中InputStream,String,File之间的相互转化对比