JavaScript

语言:

JaveScriptBabelCoffeeScript

确定

//吃豆豆动画//

var radius = 100; //大球半径

var x = 150; //大球球的圆心坐标

var y = 300;

var bol = true;

var canvas, cxt;

window.onload = function() {

canvas = document.getElementById('chidoudou');

canvas.height = 500;

canvas.width = 1024;

cxt = canvas.getContext('2d');

runRight();

}

function ballOpenRight(x) { //张嘴

cxt.fillStyle = '#ffff00';

cxt.beginPath();

cxt.arc(x, y, radius, 1 / 4 * Math.PI, 3 / 2 * Math.PI + 1 / 4 * Math.PI, false);

cxt.lineTo(x, y);

cxt.closePath();

cxt.fill();

}

function ballOpenLeft(x) { //张嘴

cxt.fillStyle = '#ffff00';

cxt.beginPath();

cxt.arc(x, y, radius, 3 / 4 * Math.PI, 3 / 2 * Math.PI - 1 / 4 * Math.PI, true);

cxt.lineTo(x, y);

cxt.closePath();

cxt.fill();

}

function ballCloseRight(x) { //闭嘴

cxt.fillStyle = '#ffff00';

cxt.beginPath();

cxt.arc(x, y, radius, 0, Math.PI * 2);

cxt.closePath();

cxt.fill();

cxt.beginPath();

cxt.moveTo(x, y);

cxt.lineTo(x + radius, y);

cxt.closePath();

cxt.stroke();

}

function ballCloseLeft(x) { //闭嘴

cxt.fillStyle = '#ffff00';

cxt.beginPath();

cxt.arc(x, y, radius, Math.PI * 1, Math.PI * 3);

cxt.closePath();

cxt.fill();

cxt.beginPath();

cxt.moveTo(x, y);

cxt.lineTo(x - radius, y);

cxt.closePath();

cxt.stroke();

}

function runRight() { //球球动起来

var startPoint = x;

var time = 0;

cxt.clearRect(0, 0, 1024, 800);

ballOpenRight(x);

var timer = setInterval(function() {

time += 1;

if (time == 10) {

window.clearInterval(timer);

runLeft(startPoint);

} else {

cxt.clearRect(0, 0, 1024, 800);

if (bol) {

ballCloseRight(startPoint);

startPoint += 5;

bol = false;

} else {

ballOpenRight(startPoint);

startPoint += 5;

bol = true;

}

}

}, 1000);

}

function runLeft(startPoint) {

cxt.clearRect(0, 0, 1024, 800);

ballOpenLeft(startPoint);

var time = 0;

var timer = setInterval(function() {

time += 1;

if (time == 10) {

runRight();

window.clearInterval(timer);

} else {

cxt.clearRect(0, 0, 1024, 800);

if (bol) {

ballCloseLeft(startPoint);

startPoint -= 5;

bol = false;

} else {

ballOpenLeft(startPoint);

startPoint -= 5;

bol = true;

}

}

}, 1000);

}

html吃豆豆游戏代码,HTML5 Canvas 来回简单版吃豆豆相关推荐

  1. html转盘游戏代码,html5 canvas大转盘抽奖提示代码

    特效描述:html5 canvas 大转盘抽奖提示.只用canvas做出的转盘及指针,各奖项和分区颜色可随意设置. 代码结构 1. 引入CSS 2. 引入JS 3. HTML代码 抱歉!浏览器不支持. ...

  2. php写字板代码,JS+HTML5 Canvas实现简单的写字板功能示例

    本文实例讲述了JS+HTML5 Canvas实现简单的写字板功能.分享给大家供大家参考,具体如下: 先来看运行效果: 具体代码如下: www.jb51.net JS写字板 body,html { pa ...

  3. html canvas直线进度条,js+HTML5 canvas 实现简单的加载条(进度条)功能示例

    本文实例讲述了js+HTML5 canvas 实现简单的加载条(进度条)功能.分享给大家供大家参考,具体如下: www.jb51.net canvas实现加载条动画 /* * 获取canvas, ca ...

  4. html 写字版插件,JS+HTML5 Canvas实现简单的写字板功能示例

    本文实例讲述了JS+HTML5 Canvas实现简单的写字板功能.分享给大家供大家参考,具体如下: 先来看运行效果: 具体代码如下: www.jb51.net JS写字板 body,html { pa ...

  5. 写字板能用html语言吗,JS+HTML5 Canvas实现简单的写字板功能示例

    本文实例讲述了JS+HTML5 Canvas实现简单的写字板功能.分享给大家供大家参考,具体如下: 先来看运行效果: 具体代码如下: www.jb51.net JS写字板 body,html { pa ...

  6. java canvas 画图片_[Java教程][HTML5] Canvas绘制简单图片

    [Java教程][HTML5] Canvas绘制简单图片 0 2016-05-13 13:00:04 获取Image对象,new出来 定义Image对象的src属性,参数:图片路径 定义Image对象 ...

  7. html制作图片动画效果代码,HTML5 Canvas:制作动画特效

    编辑推荐: 本文来自于jquery之家 ,html5制作canvas动画的基本步骤,控制canvas动画和实例代码. 要在 HTML5 canvas 中绘制图像动画效果,你需要绘制出每一帧的图像,然后 ...

  8. html5画椭圆的完整代码,HTML5 Canvas中绘制椭圆的4种方法

    概述 HTML5中的Canvas并没有直接提供绘制椭圆的方法,下面是对几种绘制方法的总结.各种方法各有优缺,视情况选用.各方法的参数相同: 1.context为Canvas的2D绘图环境对象, 2.x ...

  9. 基于html5贪吃蛇小游戏,使用HTML5 Canvas制作贪吃蛇小游戏

    近重要在研究OAuth2,等demo完成了,会给大家来一个专题分享. 看到我身边的一个同事在玩 蛇蛇争霸 感觉蛮有意思的,这里找了一个 贪吃蛇的游戏 分享给大家. 按理说canvas与其应用是老生常谈 ...

  10. 设置多个等级的html游戏,实现 HTML5 Canvas 游戏硬件缩放和CSS3的现代化

    我将展示我如何使用这些新特性来现代化我最后的HTML5游戏 modernize HTML5 Platformer. 希望你能为自己的游戏提供一些新的想法 !部分:硬件缩放和 CSS3 ( 这篇文章) ...

最新文章

  1. 前端实例练习 - 轮播图
  2. 学python好不好-为什么要学Python?老男孩Python培训怎么样?
  3. 掌握 Ajax,第 10 部分: 使用 JSON 进行数据传输
  4. Oracle查询优化-05元数据查询
  5. Qt学习笔记之QMainWindow,QWidget,QDialog
  6. 可自动定时切换的选项卡/滑动门导航代码
  7. 输出空格隔开换行_【前端干货】CSS 的空格处理
  8. 06-对图像进行腐蚀操作
  9. Nodejs 安装 on centos7
  10. 【Java数据结构与算法】第七章 冒泡排序、选择排序、插入排序和希尔排序
  11. dpkg命令_Linux常用命令大全(二)
  12. C#- Chart Controls (转)
  13. ffmpeg 中 swscale 的用法
  14. Centos6.4升级glibc_2.14
  15. 【pytest官方文档】解读-fixtures函数和测试函数的参数化
  16. 来自于游戏开发萌新的上路分享
  17. 消息循环中的TranslateMessage函数和DispatchMessage函数
  18. 使用高德API接口查询两个地址之间的距离
  19. CentOS 7 linux安装迅雷Xware实现远程下载
  20. 显著目标检测之Cascaded Partial Decoder for Fast and Accurate Salient Object Detection(CPD)

热门文章

  1. 用PROTUES来演示80C51的的16MHZ晶振的示波器演示
  2. java 解压assets文件,android 读取assets下文件或者 java读取本地文件
  3. sendto函数深入理解
  4. java 可达性分析算法_垃圾回收:可达性分析算法、生存还是死亡(两次标记)
  5. SpringAOP之动态代理
  6. 关于42步进电机驱动——基于STM32 HAL库实现
  7. php混淆解密,关于php混淆加密解密详解
  8. 空域、频域、时域的解释
  9. matlab灵敏度分析操作,灵敏度分析 使用MATLAB编写.doc
  10. 计算机和未来汽车有联系吗,汽车的未来是会奔跑的计算机?