<canvas id="canvas" width="800" height="300" style="border:1px solid #eeeeee;">
你的浏览器不支持 <canvas>标签,请使用 Chrome 浏览器 或者 FireFox 浏览器
</canvas>
颜色:<input type="range" min="1" max="100" onchange="colorChange(event,0)"/>
<script type="text/javascript">
var context2D; // 小球从(0,0)开始移动,横向步长为 2,纵向步长为 3
var colors = "#357ec2,#ec594b,#fcd208,#4ab348";
var objectNum = 10;
function draw(){
context2D.clearRect(0, 0, canvas.width, canvas.height); // 清除整个 canvas 画面
//context2D.fillStyle = '#666666';
context2D.beginPath();
for(i=1;i<=objectNum;i++)
{
itemInfo = sessionStorage.getItem('ball_'+i);
items = itemInfo.split('_');
x = parseInt(items[0]);
y = parseInt(items[1]);
dx = parseInt(items[2]);
dy = parseInt(items[3]);
color = items[4];
context2D.fillStyle = color;
context2D.arc(x,y,20,0,Math.PI*2,true);
// 判断边界值,调整 dx/dy 以改变 x/y 坐标变化方向。
if (x + dx > canvas.width || x + dx < 0) dx = -dx;
if (y + dy > canvas.height || y + dy < 0) dy = -dy;
x += dx;
y += dy;
sessionStorage.setItem('ball_'+i, x+"_"+y+"_"+dx+"_"+dy+"_"+color);
}
context2D.fill();
}
window.onload = function (){
var canvas = document.getElementById('canvas');
context2D = canvas.getContext('2d');
var c = colors.split(",");
for(i=1;i<=objectNum;i++)
{
startX = parseInt(canvas.width*Math.random());
startY = parseInt(canvas.height*Math.random());
sx = parseInt(10*Math.random());
sy = parseInt(10*Math.random());
color = c[parseInt(c.length*Math.random())];
sessionStorage.setItem('ball_'+i, startX+"_"+startY+"_"+sx+"_"+sy+"_"+color);
}
setInterval(draw, 20); // 设置绘图周期为 20 毫秒
}
</script>
分享到:
相关推荐
在这个“html5 canvas彩色爆炸的小球动画特效”中,我们主要探讨的是如何利用HTML5 Canvas API来创建一个生动有趣的彩色小球爆炸动画。 首先,我们需要在HTML文档中设置一个`<canvas>`元素,作为画布。这个元素是...
2. **Canvas绘图API**: - `fillRect(x, y, width, height)`:绘制填充矩形。 - `strokeRect(x, y, width, height)`:绘制矩形边框。 - `beginPath()`:开始一个新的路径。 - `moveTo(x, y)`:将当前绘图位置...
5. **事件处理**: 要让小球滚动,需要监听用户的输入,如按键事件。J2ME通过KeyListener接口实现这一功能。开发者需要注册KeyListener,并在按键事件触发时更新小球的运动方向。 6. **动画原理**: 小球滚动的动画...
在这个“HTML5 Canvas粒子球散落特效”项目中,我们看到的是利用Canvas API创建的一种视觉效果,其中小球粒子从屏幕顶部散落而下,形成动态的动画场景。 首先,我们要理解Canvas的基本概念。HTML5的`<canvas>`元素...
首先,HTML5引入了Canvas元素,这是一个矩形区域,通过JavaScript API,开发者可以在其中进行像素级别的绘图操作。在这个便利贴应用中,Canvas可能被用作背景画布,通过编程方式绘制出各种酷炫的图案和效果,给用户...
在"earth"这个子文件中,可能是实现了一个与地球相关的游戏或动画,比如让一个小球在重力作用下滚动或飞行。这个子项目可以用来演示如何将物理引擎的原理应用到实际场景中。 通过学习和实践这个项目,开发者可以...
在本文中,我们将深入探讨HTML5的canvas API,特别是高级动画、像素操作和性能优化这三个核心主题。canvas作为Web开发中的一个强大工具,允许开发者直接在网页上进行图形绘制和动画制作。 首先,我们来看看高级动画...
这个"HTML5几个小游戏"的压缩包很可能包含了一些基础的HTML5游戏示例,例如使用Canvas绘制图形、实现基本的用户交互和游戏逻辑。通过学习这些示例,初学者可以快速掌握HTML5游戏开发的基本技巧,并逐步构建自己的...
为了实现小球的滚动动画,可以使用`postInvalidate()`方法定期重绘界面,更新小球的位置。 5. **碰撞检测**: 迷宫墙壁与小球之间的碰撞检测是游戏的关键部分。你可以通过比较小球的边界和墙壁的位置来进行简单的...
- Canvas用于在SurfaceView上进行实际的绘图操作,如绘制小球、轨道等元素。 3. **游戏循环(Game Loop)**: - "小球快跑"的核心是游戏循环,它不断检测用户输入、更新游戏状态、重绘屏幕。游戏循环一般包括...
这里涉及到了Canvas的绘图方法,如drawRect()、drawCircle()等,以及触摸事件处理,以实现用户对小球的操控。 4. **游戏逻辑**:这部分代码处理小球的移动、碰撞检测、过关条件检查等。可能使用了物理引擎库(如Box...
3. **Canvas绘图API**:Canvas提供了一系列绘图方法,如`fillRect()`, `strokeRect()`, `arc()`, `beginPath()`, `fill()`, `stroke()`等。在这个特效中,开发者可能会使用`arc()`来绘制圆球,`beginPath()`和`fill...
综上所述,"HTML5倾斜迷宫小游戏"融合了HTML5的多种核心技术,包括Canvas绘图、事件处理、物理模拟、算法应用、响应式设计等,提供了一次既富有挑战又充满乐趣的在线游戏体验。通过分析和学习这个游戏的源码,开发者...
9. **canvas绘图**:HTML5的canvas元素提供了一种在网页上绘制图形的方式,通过JavaScript可以创建复杂的2D动画和游戏特效。 10. **WebGL**:对于3D效果,WebGL提供了在浏览器中进行硬件加速的3D图形渲染。Three.js...
在onDraw()中,我们将使用Canvas对象进行绘图操作,例如画出水波纹的形状和动态变化。 Canvas是Android图形绘制的基础,它可以理解为一个画布,我们在其上使用Paint对象进行绘画。Paint对象包含了颜色、样式、字体...
这些效果的实现涉及到Android UI编程的核心技术,包括绘图、动画和事件处理等方面。下面将对这些知识点进行详细的解释和探讨。 首先,波浪水波动画是通过Canvas和Paint类来实现的。在Android中,我们可以利用onDraw...
这样可以确保小球在正确的区域内移动,即使控件被放置在布局的不同位置或有滚动操作。 4. **动画效果**:为了让小球移动更加平滑,开发者可能使用了ValueAnimator或ObjectAnimator来实现动画效果。这可以使小球在...
在这个方法里,我们可以使用`Canvas`对象进行绘图,包括画小球、波浪线以及进度指示。 接下来,我们需要定义一些属性,如小球的数量、颜色、大小,波浪的形状、速度、颜色等。这些属性可以通过XML布局文件或者代码...
1. **Canvas API**: Canvas是HTML5的一个重要特性,它提供了一个二维绘图表面,允许开发者使用JavaScript进行图形绘制。在本实例中,`<canvas>`标签用于创建画布,然后通过`getContext('2d')`获取2D渲染上下文,这是...