分享一个HTML5画布实现的超酷文字弹跳球效果
日期:2012/03/05
在线演示 本地下载
今天我们分享一个来自于html5canvastutorials的超酷弹跳球效果,这里我们使用纯HTML5的画布来实现动画及其图形。整个效果使用小球来组合生成字体,如果你的鼠标逼近这些小球,它们会四散而逃,当你的鼠标离开后,它们又自动复原,效果很酷,希望大家喜欢!
if (ball.y < (ball.radius)) { ball.y = ball.radius + 2; ball.vy *= -1; ball.vy *= (1 - collisionDamper); } // right wall condition if (ball.x > (canvas.width - ball.radius)) { ball.x = canvas.width - ball.radius - 2; ball.vx *= -1; ball.vx *= (1 - collisionDamper); } // left wall condition if (ball.x < (ball.radius)) { ball.x = ball.radius + 2; ball.vx *= -1; ball.vx *= (1 - collisionDamper); } } } function Ball(x, y, vx, vy, color){this.x = x;this.y = y;this.vx = vx;this.vy = vy;this.color = color;this.origX = x;this.origY = y;this.radius = 10; } function animate(canvas, balls, lastTime, mousePos){var context = canvas.getContext("2d"); // update var date = new Date();var time = date.getTime();var timeDiff = time - lastTime; updateBalls(canvas, balls, timeDiff, mousePos); lastTime = time; // clear context.clearRect(0, 0, canvas.width, canvas.height); // render for (var n = 0; n < balls.length; n++) {var ball = balls[n]; context.beginPath(); context.arc(ball.x, ball.y, ball.radius, 0, 2 * Math.PI, false); context.fillStyle = ball.color; context.fill(); } // request new frame requestAnimFrame(function(){ animate(canvas, balls, lastTime, mousePos); }); } window.onload = function(){var canvas = document.getElementById("myCanvas");var balls = initBalls();var date = new Date();var time = date.getTime();/* * set mouse position really far away * so the mouse forces are nearly obsolete*/var mousePos = { x: 9999, y: 9999 }; canvas.addEventListener("mousemove", function(evt){var pos = getMousePos(canvas, evt); mousePos.x = pos.x; mousePos.y = pos.y; }); canvas.addEventListener("mouseout", function(evt){ mousePos.x = 9999; mousePos.y = 9999; }); animate(canvas, balls, time, mousePos); }; </script>
分享一个HTML5画布实现的超酷文字弹跳球效果相关推荐
- 使用HTML5画布实现的超棒javascript动画仪表板:gauge.js
日期:2012-8-8 来源:GBin1.com 在线演示 今天我们分享来自guage.js的超棒动画仪表板实现,这个类库使用html5画布来生成动态的自定义仪表板.不依赖于任何类库也不实用任何的C ...
- html5仪表板可调节,使用HTML5画布实现的超棒javascript动画仪表板:gauge.js
今天我们分享来自guage.js的超棒动画仪表板实现,这个类库使用html5画布来生成动态的自定义仪表板.不依赖于任何类库也不实用任何的CSS或者图片,完全使用画布生成. 拥有两套不同的UI,一个是仪 ...
- 今天给大家分享一个HTML5的钢琴代码,可以弹奏的哦!(附完整源码)
它是一个可以弹奏的钢琴,所以它需要音频文件,在这里发不了,这里只有代码,音频文件的分享在文章末尾哦. <!doctype html> <html lang="en" ...
- html5播放器android,分享一个Html5+video 基于mui 5+的视频播放器
一直没有找到一款适合在MUI上的播放器,网上很多都是基于JQ的播放,样式不好看,也难修改,不好用难于兼职安卓和苹果手机, 实在没办法,只能亲自操刀,自己写一个播放器了,给遇到我一样情况的朋友们,封装起 ...
- 分享一个html5初音未来减压网站
减压音乐网站 mikutap 可自行魔改 版权说明 DEMO mikutap A Mainland China friendly and independent version extracted f ...
- html文字自动上翻,jQuery超酷文字随机翻转变换动画特效
Flapper是一款效果非常酷的文字随机翻转变换动画jQuery特效.它的效果类似于机场或车站显示航班或车次的文字变换效果,每个文字都随机变换几次,然后才显示某个设定好的文字. 该文字特效可以显示文字 ...
- html5获得画布上坐标,javascript – HTML5画布在缩放和翻译后获取坐标
背景:我有一个 HTML5画布,我画了一个图像.现在,当图像首次加载时,它以100%的比例加载.图像是5000 x 5000.画布大小是600 x 600.所以onload,我只看到前600 x像素和 ...
- 【Matlab/Simulink笔记】入门练习——搭建一个弹跳球实验
介绍 第一个实例太过简单,而且看不出什么实际效果,因此这次选了一个比较贴近中学物理的实验,弹跳球实验 这个实验是在观看一位老师的入门课程时想尝试的实验:MATLAB/Simulink基础入门视频教程: ...
- html贪吃蛇自动走,分享一个用html5实现的贪吃蛇特效代码
本篇小编为大家分享一个用html5实现的简单贪吃蛇特效代码,喜欢的小伙伴们可以看一下 Snake //内置大量BUG,I'm sorry. var lev=100; //定时器间隔时间 var num ...
最新文章
- Java项目:CRM客户管理系统(java+SSM+jsp+mysql+maven)
- Windows Mobile 与 PC之间的通过蓝牙(Bluetooth) 传输文件的开发
- 图解在Matlab中初步操作一下3D图形学算法
- (转)Eclipse New Server 【无法输入server name】
- 欧拉通路 java,欧拉回路
- Mr.J-- jQuery学习笔记(二十二)--入口函数
- 直播预告:WLS/WAS故障基本分析介绍
- contes 7.6安装后网络问题解决方案
- MFC 教程【14_SOCKET类的设计和实现】
- linux虚拟主机用织梦,织梦程序用什么虚拟主机很服务器好
- 【C++软件开发】面试经典题目汇总
- linux shell 数字雨,cmd命令如何实现数字雨的效果
- [FUNC]ObjRegisterActive
- 《github精选系列》——非常有趣实用的python爬虫例子
- 去重数组中相同的字符串
- 怎么做软件开发,软件开发流程八个步骤
- 解决C盘容量不够的一种方法
- 尚硅谷MySQL学习
- 《提莫必须死》应用隐私政策声明
- 健身运动装备有哪些?双十一运动健身装备推荐
热门文章
- 13/100. Best Time to Buy and Sell Stock
- 为KindEditor编辑器中的内容增加样式,使得自定义前台页面显示效果与编辑器效果一致
- python 面向对象 私有化浅析
- ThinkPHP中的display()和fetch()的区别
- 上白泽慧音(tarjan,图的染色)
- 服务管理-文件服务器
- [转载]We Recommend a Singular Value Decomposition
- 【Python自动化运维之路Day2】
- WPF in Visual Studio 2010
- 安装Tomcat6.0