`

canvas学习(二):弹跳小球

阅读更多

效果类似于:将玻璃球摔在地上,小球往上弹,然后越弹越低,最后在地上滚动

页面结构就是在body中添加一个canvas标签,id为myCanvas。

js代码如下:

var WINDOW_Width=1024;//canvas的宽度
var WINDOW_HEIGHT=600;//canvas的高度

//定义小球的初始横坐标、纵坐标、半径、加速度、在x方向的速度、在y方向的速度、填充色
var ball={x:512,y:100,r:20,g:5,vx:-4,vy:0,color:"#005588"};
window.onload=function(){
	var	myCanvas = document.getElementById("myCanvas");
	if(myCanvas.getContext("2d")){
		var context = myCanvas.getContext("2d");//获取绘图上下文环境
		//设置宽高
		myCanvas.width=WINDOW_Width;
		myCanvas.height=WINDOW_HEIGHT;

		setInterval(function(){
			render(context);//绘制小球
			update();//调整小球的坐标来更新小球状态,让其在画布中弹跳
		},50);
		
	}else{
		alert("当前浏览器不支持canvas标签");
	}
}
function render(cxt){
	cxt.clearRect(0,0,cxt.canvas.width,cxt.canvas.height);
	cxt.fillStyle=ball.color;//设置小球的填充色
	cxt.beginPath();
	cxt.arc(ball.x,ball.y,ball.r,0,2*Math.PI);//绘制圆球
	cxt.closePath();
	cxt.fill();//为小球填充颜色
}

function update(){
	ball.x +=ball.vx;
	ball.y +=ball.vy;
	ball.vy +=ball.g;

	//判断小球是否碰壁,若是碰壁就减小y方向的高度,达到小球越跳越低的效果
	//600是前面设置的canvas的高度
	if(ball.y>=WINDOW_HEIGHT-ball.r){
		ball.y=WINDOW_HEIGHT-ball.r;
		ball.vy = -ball.vy*0.5;//慢慢降低弹跳小球的高度,达到小球越跳越低的效果
	}
}

 

分享到:
评论

相关推荐

    java编写弹跳的小球源代码(转载)

    ### Java编写弹跳小球程序解析 #### 一、程序概述 本文将详细介绍一个使用Java编写的简单图形界面应用程序——弹跳小球。该程序利用了Swing组件库中的类来实现一个可以在窗口内自由弹跳的小球。通过按钮控制小球的...

    HTML5 使用canvas画布做小球回弹动画

    HTML5是现代网页开发的关键技术之一,其引入了许多新的元素、API和功能,极大地提升了Web应用的交互性和表现力。...通过学习和实践,初学者可以逐渐掌握canvas的使用技巧,进阶到更复杂的动画和游戏开发。

    弹跳的小球(VB6.0源代码编写)

    在VB6.0环境下,创建一个“弹跳的小球”程序是一个经典的计算机图形学和物理模拟的实践项目。这个项目不仅涉及到编程技术...文件"20081125-小球弹跳的例子"应该包含了实现这些功能的源代码,可以作为学习和参考的资源。

    用canvas实现有趣的小球和鼠标的互动.zip

    在每次鼠标移动时,不仅需要更新小球的位置,还需要检查小球是否与鼠标碰撞,以及处理小球的物理行为,如弹跳、摩擦力等。这可能涉及到复杂的计算,例如距离检测、角度计算等。 6. **重绘Canvas**: 每次小球位置...

    Android小球弹跳的例子

    "Android小球弹跳的例子"就是一个很好的学习资源,它展示了如何利用Android的动画框架来实现物体的物理运动效果,特别是模拟小球的弹跳行为。这个例子可以帮助开发者更好地理解和运用Android中的运动动画。 在...

    自动弹跳小球

    标题“自动弹跳小球”所指的,很可能是一个基于Java编程语言开发...综上所述,"自动弹跳小球"是一个涉及Java GUI编程、图形绘制、物理模拟和事件处理等多个核心概念的项目,对于学习和实践Java编程基础是非常有价值的。

    html5 canvas画布里面圆球弹跳动画效果代码

    在本示例中,我们将探讨如何使用Canvas实现一个圆球弹跳的效果。 首先,我们需要在HTML文件中创建一个`<canvas>`元素,并为其设置一个ID,以便在JavaScript中找到并操作它: ```html <!DOCTYPE html> <title>...

    Javascript实现的20个经常的小球特效

    3. **重力模拟**:通过添加一个向下的加速度,你可以模拟小球受到重力的影响,使其在页面上自然下落并弹跳。 4. **颜色变化**:使用CSS3的`transition`或`animation`属性,结合JavaScript事件监听器,让小球在触碰...

    python实现弹跳小球

    在Python编程中,实现弹跳小球的程序是一种有趣且实用的学习方式,它结合了图形用户界面(GUI)和基本的物理运动模拟。本篇将详细介绍如何使用Python的`tkinter`库来创建一个弹跳小球的程序。 首先,我们需要导入...

    前端canvas案例,弹性小球下落实现。htm+js实现。双击浏览器打开即可看效果

    内容概要:canvas案例,弹性小球下落实现。(弹跳效果) 实现技术:htm+js实现。双击浏览器打开即可看效果 能学到什么:canvas技术 适用人群: 前端canvas学习新手 阅读建议:支持canvas的浏览器

    3D小球跳动动画.zip

    2. **Canvas API**:Canvas API提供了丰富的绘图方法,如`fillStyle`用于设置填充颜色,`beginPath`和`closePath`用于定义和闭合路径,`arc`用于绘制圆弧,`translate`和`rotate`用于变换坐标系,实现小球的弹跳和...

    Canvas的使用样例:动画的实现,以弹跳小球为例

    1,Canvas实现动画的原理(1)首先设置一个定时器,反复调用绘图函数(一般每秒30~40次)。每次调用,都会重绘整个画布。完成后的效果就像动画一样,每一帧间过渡会平滑而流畅。(2)有两种方法都可以实现重复绘制:...

    Android游戏开发学习①弹跳小球实现方法

    在Android游戏开发中,创建一个简单的弹跳小球游戏是一个很好的起点,因为它涉及到基础的图形绘制、动画处理和物理模拟。下面我们将详细讨论如何实现这个弹跳小球的实现方法。 1. **运动体Movable类** Movable类是...

    html5 canvas绘制的炫彩弹性运动小球动画特效源码.zip

    3. **弹性运动**:小球的弹跳运动可能通过物理模拟来实现,比如使用重力、速度、加速度等概念。在每个帧中更新小球的位置,并检查碰撞边界。当小球碰到边界时,改变它的速度方向以模拟反弹效果。 4. **动画循环**:...

    弹跳球_JavaScript弹跳球_javascript_

    3. 绘制小球: 使用Canvas的`fillStyle`来设置小球的颜色,然后用`arc`方法画出圆形表示小球,`fill`或`stroke`来填充或描边。 4. 运动模拟: 每一帧,我们需要更新小球的位置,根据速度和重力加速度进行计算。...

    弹跳的小球

    在"弹跳的小球"应用中,我们最常用的是Canvas,它提供了在特定的Bitmap或Surface上绘制几何形状、文本和位图的能力。 SurfaceView是Android中的一个特殊视图,适用于显示持续更新的图像,比如游戏画面。它的优点...

    js前端画布实现动画小球自由落体

    在JavaScript前端开发中,画布(Canvas)是一个强大的工具,可以用于创建丰富的动态图形和动画。本示例中,我们探讨的主题是“js前端画布实现动画小球自由落体”,这涉及到JavaScript基础、HTML5 Canvas API以及基本...

    分享一个适合学习canvas的案例

    它展示了如何使用Canvas API创建一个有趣的动画效果,即多个小球在画布上弹跳。 【描述】: 虽然描述部分为空,但我们可以推测这是一个基于Google经典的“多球弹跳”动画的示例。这个动画通常用于演示JavaScript与...

    python3.6使用tkinter实现弹跳小球游戏

    本文实例为大家分享了python3.6实现弹跳小球游戏的具体代码,供大家参考,具体内容如下 import random import time from tkinter import * #下面定义一个球的类,有canvas和color两个对象 class Ball: #定义一个...

Global site tag (gtag.js) - Google Analytics