当前位置: 首页 > 编程日记 > 正文

情人节学写html5微信游戏

情人节都在干什么??? 当然是写代码!!!

看某书正好以一个html5微信游戏,很适合今天的日子

附上demo:demo 请在手机上查看,pc端请切换手机调试模式,目前没弄完后续完善(图片也懒得弄了,要过年了,懒~)

布局和样式就忽略了,详情可以参考代码或者去我的github查看

动画效果用到了 TweenMax 这个可是个大宝贝儿~

取一段效果来说明吧

function showScene1() {TweenMax.to(heart, 1, {opacity: 1})TweenMax.to(heart, .5, {scaleX: 1.2,scaleY: 1.2,repeat: -1,yoyo: true})TweenMax.to(t0, 1, {top: "40%",opacity: 1,delay: .3})TweenMax.to(t1, 1, {top: "57%",opacity: 1,delay: .5})TweenMax.to(t2, 1, {top: "65%",opacity: 1,delay: 1})TweenMax.to(sbtn, 1, {top: "75%",opacity: 1,delay: 1.4})
}
复制代码

这是其中一个动画效果说说他的参数

(target,duration,vars)

------我是翻译线-----

(目标,动画的时间长度(单位:秒),包含多种属性的对象、透明度、位置、延时啥啥啥的具体参考官方api)

我们右上角有一个音乐播放的控制,默认是不播放的

musicoff.onclick = function () {musicon.className = musicon.className ? "" : "hidden"musicoff.className = musicoff.className ? "" : 'hidden'music.play()
}
musicon.onclick = function () {musicon.className = musicon.className ? "" : "hidden"musicoff.className = musicoff.className ? "" : 'hidden'music.pause()
}
复制代码

重点是 play() 和 pause() 来控制播放和停止

其余的是来切换类达到视觉效果

制作logo坐标点,书籍是采用flash制作然后转换为坐标点,获取然后复制出来

let p = [[152,139],[160,115],[160,140],[160,166],[160,192],[160,218],[160,243],[160,269],[160,295],[123,160],[94,181],[112,167],[110,149],[133,152],[160,126],[160,152],[160,178],[160,204],[160,229],[160,255],[160,283],[143,145],[103,174],[110,160],[168,139],[198,160],[227,182],[208,167],[211,149],[188,153],[178,146],[217,174],[210,160],[152,166],[123,187],[94,209],[112,194],[133,180],[143,173],[103,201],[168,167],[198,188],[227,209],[208,195],[188,180],[178,173],[217,202],[152,194],[123,215],[94,237],[112,222],[133,208],[143,201],[103,229],[168,195],[198,216],[227,237],[208,223],[188,208],[178,201],[217,230],[152,221],[123,242],[94,264],[112,249],[133,235],[143,228],[103,256],[168,222],[198,243],[227,264],[208,250],[188,235],[178,228],[217,257],[152,250],[123,271],[112,278],[133,264],[143,257],[103,285],[168,251],[198,272],[208,279],[188,264],[178,257],[217,286],[110,203],[110,234],[211,204],[210,235],[110,213],[110,244],[211,214],[210,245],[128,97],[116,102],[103,109],[91,116],[81,125],[72,134],[65,146],[58,156],[52,169],[48,181],[45,194],[43,208],[43,220],[45,234],[49,246],[53,259],[60,271],[68,281],[76,292],[86,301],[98,310],[110,317],[125,322],[137,326],[151,326],[165,326],[178,326],[191,322],[205,318],[219,312],[231,304],[241,295],[251,285],[259,274],[266,261],[271,249],[274,237],[277,223],[277,209],[276,196],[273,184],[270,171],[264,160],[258,148],[251,137],[241,127],[231,118],[142,94],[154,94],[166,94],[179,94],[191,98],[204,102],[217,109]];复制代码

我是坐标点,恐怖吧!!!这个数据是用过for循环弄出来的。

for(var i = 0; i < a.numChildren;i++){trace("["+Math.floor(a.getChildAt(i).x)+ "," + Math.floor(a.getChildAt(i).y) +"],")
}
复制代码

然后用户每触摸一次生成相应的圆点

function getPosition(ev) {if (drawMode) { //只有在绘图模式下才开始绘制圆点ev = ev || window.event ev.preventDefault()//为了使图案在水平方向上居中,计算出当前屏幕宽度与设计宽度(320像素)之间的差异值,以作为后续的位移基准值let xbias = (window.innerWidth - 320) / 2let touch = ev.touches[0]   //获取第一个触点的信息let point = { x: 0,y: 0}  //创建一个对象来储存触点坐标point.x = Number(touch.pageX) //记录触点X坐标point.y = Number(touch.pageY) //记录触点Y坐标if (mi < pl) {let objdiv = document.createElement('div')  let objname = 's_' + mi  //设置name属性  objdiv.id = objnameobjdiv.style.position = 'absolute'objdiv.style.display = 'block'objdiv.style.top = point.y + 'px'objdiv.style.left = point.x + 'px'objdiv.style.background = '#fff'objdiv.style.borderRadius = '50%'objdiv.style.width = '12px'objdiv.style.height = '12px'objdiv.style.zIndex = miobjdiv.innerHTML = ' 'scene2.appendChild(objdiv)TweenMax.to(objdiv, 1, {top: p[mi][1],left: p[mi][0] + xbias})  //创建从触摸点到目标坐标点的位移动画mi++} else {drawMode = false //圆点全部显示完毕后,关闭绘图模式TweenMax.to(lbtn, .8, {opacity: 1,top: '80%'}) //显示结束按钮}}return false
}
复制代码

这是生成logo圆点的关键方法!!!剩下还有最后一个动画,效果可以参考代码.

---最后--- 大家今天都是怎么过得???!!!

相关文章:

python和idl_有前辈对比过IDL和Python的速度吗,哪个会快点?

看到这个问题&#xff0c;发现国外还真有人做过对比&#xff0c;主要在于语言特点方面&#xff0c;并没有详细的定量对比&#xff0c;贴过来大家一起乐呵乐呵。其实大体上就是之前几位答主所说的那样&#xff0c;主要区别在于&#xff1a;1.资料的多少。python资料较多2.现成的…

测试用例经验谈

1.需要测试的那个类是new出来的实例&#xff1b; 2.被测试的类实例的对象所需要调用的接口或者对象都是mock出来的&#xff08;无论是否已经有实现&#xff09;。 3.所有的接口都是根据被测试的类的需要产生的&#xff0c;即接口属于客户&#xff08;被测试的类&#xff09;。 …

中国电子学会图形化四级编程题:加减法混合运算器

「青少年编程竞赛交流群」已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】或【Python】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 我们将有关编程题目的教学视频已经发布到抖音号21252972100&#xff0c;小马老…

Bzoj4566:[HAOI2016]找相同字符

题面 Bzoj Sol 两个串拼在一起后求出后缀数组 然后显然的\(n^2\)暴力&#xff0c;就是直接枚举求\(LCP\) 又由于扫的时候是对\(height\)取\(min\) 那么可以用单调栈维护每一段的贡献相同的 # include <bits/stdc.h> # define RG register # define IL inline # define Fi…

python字符照片_python图片转字符图片

python图片转字符图片代码话不多说&#xff0c;直接上代码。***************************#-*- coding:utf-8 -*-from PIL import ImageIMG#文件路径WIDTH60HEIGHT45ascii_char list("$B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_~<>i!lI;:,\"^…

三大基本排序专题

//以下依次是冒泡、选择、插入排序 var n,i:longint;a:array[0..20] of longint;procedure BUB;var i,j,t:longint;beginfor i:1 to n-1 dofor j:1 to n-i doif a[j]>a[j1] then begin t:a[j]; a[j]:a[j1]; a[j1]:t; end;end;procedure SEL;var i,j,k,t:longint;beginfor i:…

Linux内核中锁机制之完成量、互斥量

在上一篇博文中笔者分析了关于信号量、读写信号量的使用及源码实现&#xff0c;接下来本篇博文将讨论有关完成量和互斥量的使用和一些经典问题。 八、完成量 下面讨论完成量的内容&#xff0c;首先需明确完成量表示为一个执行单元需要等待另一个执行单元完成某事后方可执行&…

中国电子学会图形化四级编程题:绳子算法

「青少年编程竞赛交流群」已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】或【Python】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 我们将有关编程题目的教学视频已经发布到抖音号21252972100&#xff0c;小马老…

域名登陆出现400_域名解析错误怎么办?

可能有些人在进行域名解析时会遇到解析错误的问题&#xff0c;遇到这样的问题该怎么办呢&#xff1f;今天小编给大家整理了一些思路&#xff0c;希望能够提供一些帮助给大家。网站域名设置目前域名解析服务很多都是由域名供应商来设置&#xff0c;也有用户在网站运营期间需要更…

第02章 PyTorch基础知识

文章目录第02章 Pytorch基础知识2.1 张量2.2 自动求导2.3 并行计算简介2.3.1 为什么要做并行计算2.3.2 CUDA是个啥2.3.3 做并行的方法补充&#xff1a;通过股票数据感受张量概念。本图文是Datawhale组队学习Pytorch的学习笔记&#xff0c;主要内容包括张量的概念&#xff08;0维…

一个简单的缓冲区溢出的思考

从大二开始真正接触技术开始&#xff0c;从最早的HTML&#xff0c;PHP&#xff0c;WEB开发。一直以为以后可能会从事开发的工作&#xff0c;碰巧大三上的时候和同专业的郭子&#xff0c;邹豪参加了南京的一个信息安全技能大赛&#xff0c;才真正找到了兴趣的方向&#xff0c;也…

Spring-boot+Vue = Fame 写blog的一次小结

前言 作为一个程序员&#xff0c;总是要有一个属于自己的博客。然后作为一个造轮子的程序员&#xff0c;肯定不满足于直接使用现有的博客系统&#xff0c;于是我便自己写了一个带后台管理的博客系统。 体验地址&#xff1a; zzzzbw.cn 技术选型 作为一个Javaer&#xff0c;服务…

gitee查看当前账号_upic+gitee图床,自由书写Markdown

使用的软件Typora&#xff1a;Markdown文档编辑器(https://www.typora.io/)upic&#xff1a;图床工具(https://github.com/gee1k/uPic)创建自己的GitHub图床1 创建账号https://gitee.com/,自行创建账号就可以了和github很相似&#xff0c;但是速度更快2创建仓库内容按照自己的习…

CentOS中vsftp安装与配置

1. 安装 使用chkconfig --list来查看是否装有vsftpd服务&#xff1b; 使用yum命令直接安装&#xff1a;yum -y install vsftpd 然后为它创建日志文件&#xff1a;touch /var/log/vsftpd.log 这样简单的两个命令就完成了vsftp的安装&#xff0c;但是如果你现在想这样ftp://your_…

纸上原型设计 VS 桌面原型工具设计,你更喜欢谁?

2019独角兽企业重金招聘Python工程师标准>>> 纸上原型设计&#xff0c;作为传统的原型设计方式&#xff0c;简单快速&#xff0c;成本低廉&#xff0c;为大部分设计师所喜爱。而桌面原型工具设计&#xff0c;作为伴随电脑科技发展而出现的原型设计方式&#xff0c;快…

韩宇:CV学习路线

CV学习路线 对于刚入门CV的同学来说&#xff0c;通过看视频学习效率会比看书高&#xff0c;如下是我亲身实践较为高效的CV学习路线。 1. 计算机视觉概述 计算机视觉本身又包括了诸多不同的研究方向&#xff0c;比较基础和热门的几个方向主要包括&#xff1a; 物体识别和检测…

mysql获取删除的条数_如何从mysql表中删除数百万条记录而不会减速

有没有一种很好的方法来删除很多记录而不会减慢网站的速度&#xff1f;我需要从没有索引和主键的MySQL表中删除数百万条记录。我阅读了SO和网上的各种教程&#xff0c;基本策略是限制删除查询&#xff0c;在删除之间休眠一两秒钟&#xff0c;然后重复此过程直至完成。我也(使用…

某大型银行深化系统之二十:异常规范

传送门 ☞ 轮子的专栏 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 1异常抛出与捕捉规则 1.1任何抛出异常的方法必须先声明异常 {// Constructorpublic MyClass( String name ) throws NullPointerException, llegalArgumentException {...} } 1.2异常声明后&#xf…

女朋友的Mysql练习题

2019独角兽企业重金招聘Python工程师标准>>> 一、设有一数据库&#xff0c;包括四个表&#xff1a;学生表&#xff08;Student&#xff09;、课程表&#xff08;Course&#xff09;、成绩表&#xff08;Score&#xff09;以及教师信息表&#xff08;Teacher&#xf…

中国电子学会图形化四级编程题:解密

「青少年编程竞赛交流群」已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】或【Python】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 我们将有关编程题目的教学视频已经发布到抖音号21252972100&#xff0c;小马老…

python函数模块概念_python中模块和包的概念

1.模块一个.py文件就是一个模块。这个文件的名字是&#xff1a;模块名.py。由此可见在python中&#xff0c;文件名和模块名的差别只是有没有后缀。有后缀是文件名&#xff0c;没有后缀是模块名。每个文件(每个模块)都是一个独立的名称空间&#xff0c;也就是说可以在两个(多个)…

linux-glibc内存管理小结2(内存相关系统调用的实现)

在上一节ptmalloc源码分析中我们提到dlmalloc向系统申请内存的方式有两种, 对应Linux系统下分别是sbrk()与mmap()系统调用. 本节我们就来看下brk()/sbrk()与mmap()/munmap()的实现, 作为切入点来一窥内核内存管理的特点. 在正文开始之前我们先大致描述一下内核内存管理的模型. …

【组队学习】【30期】7. CV中的Transformer

CV中的Transformer 航路开辟者&#xff1a;安晟领航员&#xff1a;尚育鹏航海士&#xff1a;安晟、袁明坤、闫永强 基本信息 开源内容&#xff1a;https://github.com/datawhalechina/dive-into-cv-pytorch [第六章]内容属性&#xff1a;打磨课程内容说明&#xff1a;17年在…

天堂Lineage(單機版)從零開始架設教學

此篇文章 內容大部份連結 已失效&#xff0c; 我已另外寫一篇更快速安裝的文章。 前言: 網路遊戲天堂在數年前&#xff0c;被日本人分析封包的方式。模擬出Lineage server端的行為。 不像天堂II&#xff0c;及RO是由內部洩漏出Server端程式。也由於天堂Server的熱門以至於私服人…

python爬虫天气实例scrapy_python爬虫之利用scrapy框架抓取新浪天气数据

scrapy中文官方文档&#xff1a;点击打开链接Scrapy是Python开发的一个快速、高层次的屏幕抓取和web抓取框架&#xff0c;用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛&#xff0c;可以用于数据挖掘、监测和自动化测试&#xff0c;Scrapy吸引人的地方在于它是一…

中国电子学会图形化四级编程题:绘制雪花

「青少年编程竞赛交流群」已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】或【Python】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 我们将有关编程题目的教学视频已经发布到抖音号21252972100&#xff0c;小马老…

C++ Primer 读书笔记 - 第十三章

1. Initialization和Assignment不一样。其中Initialization包括direct-initialization (如A a(...))和copy-initialization (如 A a b;) 注意A a b为copy-initialization&#xff0c; 而A a; A b; a b;为Assignment。 2. We cannot copy objects of the IO types, so we can…

Linux-LNMP(静态元素不记录日志和过期时间,防盗链,解析php,代理,支持ssl)

Linux-LNMP-Nginx配置二 静态文件不记录日志和过期时间Nginx防盗链Nginx访问控制Nginx解析php相关配置Nginx代理Nginx负载均衡SSL原理生成SSL密钥对Nginx配置SSL静态文件不记录日志和过期时间在Nginx服务器的虚拟主机配置文件(/usr/local/nginx/conf/vhost/norecord.conf)中定义…

mysql数据库优化命令_MySQL数据库优化总结

一个&#xff1a;MySQL标准数据库优化注意事项1.数据库设计(表设计合理)三范式(规范的模式)三范式包含&#xff1a;第一范式&#xff1a;1NF是对属性的原子性的约束。要求属性具有原子性&#xff0c;不可再分解。(仅仅要是关系型数据库都满足)第二范式&#xff1a;2NF是记录的唯…

C++ 卸载程序

目的&#xff1a;用C写一个自己的卸载程序来完成程序的卸载工作&#xff0c;同时运行后要删除卸载程序本身&#xff0c;并删除卸载程序所在的文件夹。 注&#xff1a;在程序退出的时候写上 自己的卸载代码。 // FileName: Uninstall.h #pragma onceclass CUninstall { private:…