菜鸟做HTML5小游戏 - 刮刮乐
继上篇翻翻乐之后,又来刮刮乐。还是先上效果图:
开始demo的世界:
1.css去绘制界面效果。(源码提供)
2.原理:要实现刮刮卡内容的出现,我用div做了背景层去显示刮出的内容结果【重点】。中间Canvas区域去实现刮刮的效果。
3.构建界面效果,背景层zj为挂出效果。Canvas去做动画
1 <div class="zj"> 2 <canvas id="CanvasLe" width="280" height="140" style="margin-top:10px;"></canvas> 3 </div> 4 5 <style>.zj{background:url("zj.png") no-repeat ;}</style>
4.开始动画
先绘制 ‘灰色’ ,然后在鼠标的移动事件Canavas.onmousemove去计算 滑动的坐标值,然后clearRect方法去清除该坐标的色素。
1 window.onload = function(){ 2 init(); 3 } 4 var imageWidth = "280"; 5 var imageheight = "140"; 6 function init(){ 7 //定义绘画宽 高 8 9 //定义Canvas对象 10 var Canavas = document.getElementById("CanvasLe"); 11 var Context2D = Canavas.getContext("2d"); 12 13 var bool =true; 14 Context2D.fillStyle='#cccccc'; //设置覆盖层的颜色 15 Context2D.fillRect(0,0,imageWidth,imageheight); //设置覆盖的区域 16 //增加Canvas鼠标滑动事件 17 Canavas.onmousemove = function(e) { 18 var canvasOffset = $(Canavas).offset(); 19 var canvasX = Math.floor(e.pageX - canvasOffset.left); 20 var canvasY = Math.floor(e.pageY - canvasOffset.top); 21 canvasY += parseInt(imageheight); 22 lottery(canvasX,canvasY,Context2D); 23 } 24 } 25 //刮刮函数 26 function lottery(x,y,c){ 27 c.clearRect(x,y-imageheight,20,20); 28 }
好了,效果很明显可以根据滑动坐标清除色素块。
要是在移动手机设备上运行以上还不行,还需要加入触屏滑动事件touchmove。接下来就给去监听这个事件
1 Canavas.addEventListener('touchmove', function(event) { 2 // 如果这个元素的位置内只有一个手指的话 3 if (event.targetTouches.length == 1) { 4 event.preventDefault();// 阻止浏览器默认事件,重要 5 var touch = event.targetTouches[0]; 6 // 把元素放在手指所在的位置 7 var canvasOffset = $(Canavas).offset(); 8 var canvasX = Math.floor(touch.pageX - canvasOffset.left); 9 var canvasY = Math.floor(touch.pageY - canvasOffset.top); 10 lottery(touch.pageX,touch.pageY,Context2D); 11 } 12 }, false);
ok,大功告成。实现了刮刮卡的效果。
各位园友们可以进一步扩展,共同学习是进步的阶梯。
补充:谢谢各位园友的指出,赶紧修复源码。
测试都通过,遇到一个问题在 IE11中 background:url("s_bd.jpg") 为什么无效果,请各位高手给我指点指点,先谢谢
源码猛击 这里[修复]
转载于:https://www.cnblogs.com/oceanworld/p/3459732.html
菜鸟做HTML5小游戏 - 刮刮乐相关推荐
- 菜鸟做HTML5小游戏 - 翻翻乐
记录下开放过程.做小游戏开发,又要跨平台,flash又不支持iPhone,html5是最好的选择. 先看看最后效果: 好了,开始demo. 1.准备工作: 图片素材(省略...最后代码一起打包) 了解 ...
- HTML5小游戏动手做(二):使用PIXI引擎制作坦克大战游戏
这里写自定义目录标题 1. 简介 1.1 PIXI 简介 1.2 坦克大战游戏简介 2. PIXI 引擎入门 2.1 基本概念 2.1.1 舞台 Stage 2.1.2 容器 Container 2. ...
- HTML5小游戏动手做(一):简单的连连看
从本篇起,我将在此展示制作一些HTML5小游戏的过程和经验.本文描述的是一个经典又简单的小游戏,连连看. 1. 计划 1.1 目标 快速建立一个连连看游戏原形. 能玩就行. 1.2 游戏特性介绍 游戏 ...
- 开发 HTML5 小游戏
Html5小游戏 在介绍小游戏之前,先看一个框架 Phaser. Phaser 框架是一个 快速.免费且开源的 HTML5 游戏开发框架,它提供了 Canvas 和 WebGL 两种渲染方式,兼容 P ...
- 初识html5小游戏
本次Html5小游戏使用createjs来开发.基本涵盖这个游戏的全部核心代码. 如下是主要用到的元素: createjs.SpriteSheet 创建雪碧图,将生成好的雪碧图读取出来 createj ...
- 使用jquery—Canvas实现html5小游戏——《坦克大战》
目录 1.项目背景 2.项目展示 3.设计思路 3.1.坦克移动 3.2.坦克开火 3.3.击中坦克 4.实现代码 5.总结 1.项目背景 2021年春节期间在家无聊,正好又学过一些前端的知识,因此就 ...
- 使用PixiJS做一个小游戏
PixiJS PixiJS使用WebGL,是一个超快的HTML5 2D渲染引擎.作为一个Javascript的2D渲染器,Pixi.js的目标是提供一个快速的.轻量级而且是兼任所有设备的2D库. 官方 ...
- 前沿穿越——HTML5小游戏 制作技巧经验
转 K米: 前沿穿越--HTML5小游戏 制作技巧&经验 hello~大家好,我是黑米! O(≧▽≦)O 今天我来跟大家分享一些动画实现的相关知识,希望大家能够支持(鞠躬-- 我很喜欢很喜欢看 ...
- python手机版做小游戏代码大全-Python大牛手把手教你做一个小游戏,萌新福利!...
原标题:Python大牛手把手教你做一个小游戏,萌新福利! 引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规 ...
最新文章
- mysql backdoor_Mysql UDF BackDoor
- mysql中外键的作用是什么_mysql外键基本功能与用法详解
- Java技术分享之变量命名
- 一个小小指针,竟把Linux内核攻陷了!
- 借力阿里云存储产品 延锋彼欧加速数字化重塑
- 架构之技术复杂度与业务复杂度
- linux逻辑表达式,循环结构,函数
- python入门之后须掌握的知识点(excel文件处理+邮件发送+实战:批量化发工资条)【二】
- Google 应用与游戏出海 7 月刊: 创意工具,让应用大放异彩
- F200——搭载基于模型设计的国产开源飞控系统无人机
- SaaS和和PaaS的概念
- 计算机英语听力,计算机英语词汇大全
- excel操作记录——条形图
- 麒麟服务器系统磁盘管理之lvm管理
- 高分一号数据处理(一):数据下载
- 牧师与魔鬼——动作分离版
- 自定义协议推送的设计
- 计算机大赛可以跨学校组队吗,大学生创新创业大赛可以跨校组队吗
- 可视化的Keil工程配置模板,一招提高单片机开发效率
- 最简单的8421码计算方法
热门文章
- 在农村有100万存款,算有钱人吗?
- 我以为信用卡多就是好事,谁知道……
- 黑色幽默:“新知青”电影《走着瞧》首映
- 《紫茗红菱》:“80后”成长的欢乐、疼痛与代价
- spi flash驱动
- linux系统内核参数配置优化,Linux服务器内核参数优化
- tp3.2 不能提交到action方法_什么是死锁,如何避免死锁(4种方法)
- mmseg java_MMSeg中文分词算法
- java数组如何相加_java数组排序,并将数组内的数据求和
- picturectrl控件中加载图片并显示_如何在EasyX窗体中显示图片