情人节学写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) / 2
        let 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 = objname
            objdiv.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 = mi
            objdiv.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圆点的关键方法!!!剩下还有最后一个动画,效果可以参考代码.

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,488评论 25 707
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,019评论 4 62
  • 这是三月的最后一天。 还在被窝里赖着,就听到窗外清脆婉转的鸟叫声,一声接一声,恼人的很。楼下并没有树,也不知这些鸟...
    布蓝的天阅读 327评论 0 0
  • 现在的姑娘是不是越来越功利了?前两天微博上有个问题很热,月入3000的男朋友,该不该要? 月入3000的男生,在北...
    千琼皎皎阅读 333评论 0 1
  • PART 1 Expressions 1. So many of the township kids gravit...
    ZHAODAIWEI阅读 679评论 0 0