演示地址:http://runjs.cn/detail/yjpvqhal
html代码
<html> <head> <meta charset="utf-8"/> <title>小飞龙的跳球</title> </head> <body onload="init()"> <canvas id="game" width="400" height="400" style="border:1px solid #c3c3c3"> 你的游览器不支持html5的画布元素,请升级到IE9+或使用firefox、chrome这类高级的智能游览器! </canvas> <script> var canvas = document.getElementById('game'); var ctx = canvas.getContext('2d'); var grad; //盒子的起始位置和大小以及球的半径 var box = {x:20,y:20,w:350,h:350,r:20}; //球的中心位置和偏移位置 var inbox = {//box内的限制范围 bx:(box.w+box.x-box.r), by:(box.h+box.y-box.r), ix:box.x+(box.r*2), iy:box.y+(box.r*2) }; //球的初始位置和变化位置 var ball = {x:50,y:50,vx:4,vy:8}; var img = new Image(); img.src = 'images/qiuqiu.png'; var hue = [[255,0,0],[255,255,0],[0,255,0],[0,255,255],[0,0,255],[255,0,0]]; function init(){ grad = ctx.createLinearGradient(box.x,box.y,box.w,box.h); for(var i=0;i<hue.length;i++){ var color = 'rgb('+hue[i][0]+','+hue[i][1]+','+hue[i][2]+')'; grad.addColorStop(i/hue.length,color); } ctx.lineWidth = box.r; ctx.fillStyle = 'rgb(200,0,50)'; ctx.fillStyle = grad; moveBall(); setInterval(moveBall,50); } //碰撞检测并重新确定球的位置 function moveBallEndCheck(){ var nx = ball.x + ball.vx; var ny = ball.y + ball.vy; if(nx > inbox.bx){//当前x大于上边框边界 ball.vx = -ball.vx;//球的变化x坐标当前当前变化x坐标的负数 nx = inbox.bx;//当前位置为上边框的位置 } if(nx < inbox.ix){//当前位置小于下边框 nx = inbox.ix;//当前位置为下边框的x ball.vx = -ball.vx;//球的变化x坐标翻转取负 } if(ny > inbox.by){ ny = inbox.by; ball.vy = -ball.vy; } if(ny < inbox.iy){ ny = inbox.iy; ball.vy = -ball.vy; } ball.x = nx; ball.y = ny; } function moveBall(){ ctx.clearRect(box.x,box.y,box.w,box.h); moveBallEndCheck(); ctx.beginPath(); //console.log(ball.x+"\t"+ball.y+"\t"+ball.vx+"\t"+ball.vy+"\t"+(ball.x-box.r)+"\t"+(ball.y-box.r)); ctx.drawImage(img,(ball.x-box.r),(ball.y-box.r)); ctx.fillRect(box.x,box.y,box.r,box.h); ctx.fillRect((box.x+box.w-box.r),box.y,box.r,box.h); ctx.fillRect(box.x,box.y,box.w,box.r); ctx.fillRect(box.x,(box.y+box.h-box.r),box.w,box.r); ctx.closePath(); ctx.fill(); } </script> </body> </html>
演示图片
以上所述就是本文的全部代码,希望大家能够喜欢。
本文向大家介绍原生js结合html5制作简易的双色子游戏,包括了原生js结合html5制作简易的双色子游戏的使用技巧和注意事项,需要的朋友参考一下 想转html5游戏开,这是学习练手的东西,最开始是用面向过程的方式实现,后面用面向对象的方式实现(被坑了)…… 演示地址:http://runjs.cn/detail/ss8pkzrc html代码 演示图片 以上所述就是本文的全部内容了,希望能够对大
本文向大家介绍原生js制作简单的数字键盘,包括了原生js制作简单的数字键盘的使用技巧和注意事项,需要的朋友参考一下 一、起因 最近支付的同事说,数字键盘有些问题;在移动设备上有时候比较难出现点(.) 和数字在一起的格局;因此,考虑到这种情况,就建议手写个模拟键盘了。花了一晚上的时间,写了个简单的键盘,基本能用。考虑到有的开发者没有使用juqery,就使用原生的js了。 Github地址:h
本文向大家介绍JavaScript制作简易的微信打飞机,包括了JavaScript制作简易的微信打飞机的使用技巧和注意事项,需要的朋友参考一下 简单的用JavaScript模拟微信打飞机,部分功能还不完善,刚开始写,还有很多不足,还望大家多多指出。 以上所述就是本文的全部内容了,希望大家能够喜欢。
本文向大家介绍JS+html5制作简单音乐播放器,包括了JS+html5制作简单音乐播放器的使用技巧和注意事项,需要的朋友参考一下 本教程为大家分享了JS音乐播放器的具体代码,供大家参考,具体内容如下 1.HTML <audio> 标签定义声音,比如音乐或其他音频流。其主要属性有src:要播放的音频的 URL,controls:如果出现该属性,则向用户显示控件,比如播放按钮。 几个主要的标签如下:
本文向大家介绍原生JS实现的跳一跳小游戏完整实例,包括了原生JS实现的跳一跳小游戏完整实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了原生JS实现的跳一跳小游戏。分享给大家供大家参考,具体如下: 以下说的是闲暇编写的一个小游戏--跳一跳,类似于微信的跳一跳,大体实现功能有: 1.先随机生成地图; 2.按住按钮释放后完成动作并进行判断; 首先po一下代码; 代码如下: 代码主要分为用来绘
本文向大家介绍原生js配合cookie制作保存路径的拖拽,包括了原生js配合cookie制作保存路径的拖拽的使用技巧和注意事项,需要的朋友参考一下 主要是运用了原生js封装了一个cookie,然后使用了三个事件做拖拽,分别是onmousedown,onmousemove,onmouseup,这三个事件其中两个需要添加事件对象,也就是event,事件对象是一个不兼容的东西,所以需要处理兼容性的问题,