我的编程空间,编程开发者的网络收藏夹
学习永远不晚

HTML+CSS+JS实现抓娃娃机游戏

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

HTML+CSS+JS实现抓娃娃机游戏

前言

前段时间去商场吃饭的时候看到一个有趣的娃娃机,一个密封的机器里底部放着一些被捆绑好的龙虾,可以买币去抓龙虾,抓到以后可以初加工费找附近的商家给做成龙虾大餐,感觉很有意思,把抓抓玩出了一个新的高度~

主要是抓到以后还可以出手工费进行烹饪,很吸引人,周边围观的人也很多,观察了一会发现。爪子的抓力不够,龙虾在水里还能移动,而且感觉每一个个头都不小,那小爪感觉根本抓不起来~~

到家后孩子就说爸爸你可不可以做一个娃娃机呢?

身为一个程序员,这点要求我感觉还是难不倒我,然后就突发奇想,给孩子在手机上做一个简易娃娃机。起初的想法是哄她开心,看到掘金最近有小游戏的活动,顺便分享给大家~~

效果

如上图,一个移动的抓手,以及几个礼物样品,还有左右移动,抓起按钮,素材很简单,但是做出来的效果还是有娃娃机的感觉的~

地址

代码托管地址在github在线预览地址资源路径不对无法访问,如果有需要源码的同学可以自行去git仓库获取~

布局

布局部分比较简单,直接贴代码了。可以根据自己的需求不同自定义即可~

<div class="page-portrait" id="page-portrait">
    <div id="pageContainer" class="page-container game-box">
      <div class="poster-main">
        <ul class="poster-list">
          <li class="item lw1"><img class="lazy" data-src="images/dx-lw1.png" alt=""></li>
          <li class="item lw2"><img class="lazy" data-src="images/dx-lw2.png" alt=""></li>
          <li class="item lw3"><img class="lazy" data-src="images/dx-lw3.png" alt=""></li>
          <li class="item lw4"><img class="lazy" data-src="images/dx-lw4.png" alt=""></li>
          <li class="item lw5"><img class="lazy" data-src="images/dx-lw5.png" alt=""></li>
          <li class="item lw6"><img class="lazy" data-src="images/dx-lw6.png" alt=""></li>
        </ul>
      </div>
      <div id="stop" class="button"></div>
      <div id="left" class="left-btn"></div>
      <div id="right" class="right-btn"></div>
      <div class="zhua-top">
        <span class="zhua-zuo"></span>
        <span class="zhua-zhu"></span>
        <div class="zhua zhuamove"></div>
      </div>
    </div>
</div>

css用到了几个运动处理了爪子的动效,如下方代码所示

@keyframes run {
  0% {
    background-image: url(../images/dx-zhua3.png);
  }
  25% {
    background-image: url(../images/dx-zhua2.png);
  }
  50% {
    background-image: url(../images/dx-zhua1.png);
  }
  75% {
    background-image: url(../images/dx-zhua2.png);
  }
  100% {
    background-image: url(../images/dx-zhua3.png);
  }
}
@keyframes zhuashou {
  0% {
    top: 360px;
    background-image: url(../images/dx-zhua1.png);
  }
  100% {
    top: 360px;
    background-image: url(../images/dx-zhua2.png);
  }
}
@keyframes zhuadown {
  0% {
    top: 138px;
    background-image: url(../images/dx-zhua1.png);
  }
  100% {
    top: 360px;
    background-image: url(../images/dx-zhua1.png);
  }
}
@keyframes zhua-slideUp {
  0% {
    top: 360px;
    background-image: url(../images/dx-zhua2.png);
  }
  100% {
    top: 138px;
    background-image: url(../images/dx-zhua2.png);
  }
}
@keyframes img-slideUp {
  0% {
    top: 23px;
  }
  100% {
    top: -200px;
  }
}

js代码创建了一个控制器类,处理事件以及动画效果的交替等。

var Carousel = {
    data: {
    result: 1
},
init: function () {
    Carousel.control();
},
stop: function () {
    $(".zhua").removeClass("zhuamove").addClass("zhuadown");
    $(".zhua-zhu").addClass("zhudown");
    var timer01 = setTimeout(function () {
        $(".zhua").removeClass("zhuadown").addClass("zhuashou");
        var timer03 = setTimeout(function () {
            $(".zhua").removeClass("zhuashou").addClass("zhuaup");
            $(".zhua-zhu").removeClass("zhudown").addClass("zhuup");
            $(".poster-list .lw" + (Carousel.data.result + 1)).addClass("img-slideUp");
        clearTimeout(timer03);
        timer03 = null;
        }, 800);
        var timer02 = setTimeout(function () {
            $(".zhua").removeClass("zhuaup").removeClass("zhuaup1");
            $(".zhua-zhu").removeClass("zhuup");
            clearTimeout(timer02);
            timer02 = null;
            alert("恭喜您抽中一等奖~");
            Carousel.start();
        }, 2500);
        clearTimeout(timer01);
        timer01 = null;
    }, 1000);
},
start: function () {
    $(".zhua").addClass("zhuamove");
    $(".zhua").removeClass("zhuadown").removeClass("zhuaup1").removeClass("zhuaup");
    $(".poster-list .item").removeClass("img-slideUp").removeClass("img-slideOutUp");
},
zhuaMove: function (num) {
    switch (num) {
        case 0:
        $(".zhua-top").animate({
            left: -145,
        },300);
        break;
        case 1:
        $(".zhua-top").animate({
            left: 0,
        },300);
        break;
        case 2:
        $(".zhua-top").animate({
            left: 145,
        },300);
        break;
    }
},
control: function () {
    $("#left").on("click", function () {
        Carousel.data.result--;
    if (Carousel.data.result <= 0) {
        Carousel.data.result = 0;
    }
    Carousel.zhuaMove(Carousel.data.result);
    });
    $("#stop").click(Carousel.stop);  
        $("#right").on("click", function () {
            Carousel.data.result++;
            if (Carousel.data.result >= 2) {
                    Carousel.data.result = 2;
            }
            Carousel.zhuaMove(Carousel.data.result);
        });
    },
};

总结

css现在有很多的新的特性可以解决我们工作中遇到的动效以及兼容问题,有心的同学可以多多查阅文档,写一写自己感兴趣的小demo,或者给孩子做一个小游戏来玩,何尝不是一件有成就的事呢~

到此这篇关于HTML+CSS+JS实现抓娃娃机游戏的文章就介绍到这了,更多相关JS抓娃娃机内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

HTML+CSS+JS实现抓娃娃机游戏

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

HTML+CSS+JS怎么实现抓娃娃机游戏

这篇文章主要介绍“HTML+CSS+JS怎么实现抓娃娃机游戏”,在日常操作中,相信很多人在HTML+CSS+JS怎么实现抓娃娃机游戏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”HTML+CSS+JS怎么实现
2023-06-30

Canvas怎么实现二娃翠花回家之路小游戏

这篇文章主要介绍了Canvas怎么实现二娃翠花回家之路小游戏的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Canvas怎么实现二娃翠花回家之路小游戏文章都会有所收获,下面我们一起来看看吧。一、玩法介绍Canva
2023-07-06

Canvas实现二娃翠花回家之路小游戏demo解析

这篇文章主要为大家介绍了Canvas实现二娃翠花回家之路小游戏demo解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-05-15

怎么用HTML+CSS+JS实现猜数字游戏

这篇“怎么用HTML+CSS+JS实现猜数字游戏”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用HTML+CSS+JS实
2023-06-29

HTML+JS实现经典推箱子游戏

今天,这篇文章将利用HTML,CSS,JS的知识编写一个童年经典游戏 - 推箱子,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
2022-11-13

JS+HTML怎么实现经典吃豆人游戏

这篇文章主要介绍“JS+HTML怎么实现经典吃豆人游戏”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JS+HTML怎么实现经典吃豆人游戏”文章能帮助大家解决问题。项目结构因需要四个文件即可实现,in
2023-06-30

p5.js怎么实现声音控制警察抓小偷游戏

这篇文章主要介绍“p5.js怎么实现声音控制警察抓小偷游戏”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“p5.js怎么实现声音控制警察抓小偷游戏”文章能帮助大家解决问题。一、游戏介绍之前一直用原生c
2023-07-06

使用JS+CSS实现俄罗斯方块游戏

这篇文章主要介绍了使用JS+CSS实现俄罗斯方块游戏,使用简单的js+css就能在网页实现俄罗斯方块小游戏,感兴趣的小伙伴快来看吧
2023-05-14

p5.js实现声音控制警察抓小偷游戏示例解析

这篇文章主要为大家介绍了p5.js实现声音控制警察抓小偷游戏示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-05-15

基于JS如何实现飞机大战游戏

今天小编给大家分享一下基于JS如何实现飞机大战游戏的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。演示技术栈(function
2023-07-02

怎么使用JS+CSS实现俄罗斯方块游戏

今天小编给大家分享一下怎么使用JS+CSS实现俄罗斯方块游戏的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前提:要在网页上实
2023-07-05

编程热搜

目录