Tom貓小游戲功能實現

来源:https://www.cnblogs.com/original-alps/archive/2020/07/04/13234893.html
-Advertisement-
Play Games

本文章通過簡單的css和html的操作,來實現Tom貓小游戲的功能,通過簡單的js代碼,讓圖片不斷切換來實現動畫效果。 Tom貓小游戲的HTML部分: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name= ...


  本文章通過簡單的css和html的操作,來實現Tom貓小游戲的功能,通過簡單的js代碼,讓圖片不斷切換來實現動畫效果。

Tom貓小游戲的HTML部分:

  

<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <meta http-equiv="X-UA-Compatible" content="ie=edge">     <title>TomCat</title> </head> <body>     <section>         <img id="imgShow" src="./tom/img/Animations/angry/angry_00.jpg" alt="">     </section>     <div class="cymbal">         <img src="./tom/img/Buttons/cymbal/cymbal.png" alt="">     </div>     <div class="drink">         <img src="./tom/img/Buttons/drink/drink.png" alt="">     </div>     <div class="eat">         <img src="./tom/img/Buttons/eat/eat.png" alt="">     </div>     <div class="fart">         <img src="./tom/img/Buttons/fart/fart.png" alt="">     </div>     <div class="pie">         <img src="./tom/img/Buttons/pie/pie.png" alt="">     </div>     <div class="scratch">         <img src="./tom/img/Buttons/scratch/scratch.png" alt="">     </div>     <div class="angry"></div>     <div class="angry1"></div>     <div class="footLeft"></div>     <div class="footRight"></div>     <div class="knockout"></div>     <div class='stomach'></div>     <div></div>
    <audio src="" id="music"></audio> </body> </html>   Tom貓的css部分:     <style>     *{         margin:0;         padding:0;     }     img{         display:block;     }     body,html{         height:100%;     }     section{         width:100%;         height:100%;     }     #imgShow{         width:100%;         height:100%;     }     .cymbal{         width:60px;         height:60px;         position:absolute;         left:1%;         bottom:30%;     }     .drink{         width:60px;         height:60px;         position:absolute;         left:1%;         bottom:20%;     }     .eat{         width:60px;         height:60px;         position:absolute;         left:1%;         bottom:10%;     }     .fart{         width:60px;         height:60px;         position:absolute;         right:1%;         bottom:30%;     }     .pie{         width:60px;         height:60px;         position:absolute;         right:1%;         bottom:20%;     }     .scratch{         width:60px;         height:60px;         position:absolute;         right:1%;         bottom:10%;     }     .angry{         width:108px;         height:92px;        /*  background:chartreuse; */         position: absolute;         left:35%;         bottom:31%;     }     .angry1{         width:38px;         height:63px;        /*  background:chartreuse; */         position: absolute;         right:22%;         bottom:11%;     }     .footLeft{         width:42px;         height:35px;        /*  background:red; */         position:absolute;         left:36%;         bottom:4%;     }     .footRight{         width:42px;         height:35px;         /* background:blue; */         position:absolute;         right:36%;         bottom:4%;     }     .knockout{         width:110px;         height:46px;        /*  background:blue; */         position:absolute;         right:36%;         bottom:76%;     }     .stomach{         width:110px;         height:88px;         /* background:yellow; */         position:absolute;         right:36%;         bottom:15%;     }     </style>   Tom貓js部分:     <script>     function Tom(){         this.imgShow = document.getElementById('imgShow');         this.btn = document.querySelectorAll('div');         this.music = document.getElementById('music');         this.init();     }     Tom.prototype = {         init : function(){             this.eventBind();         },         tomPlay : function(name,num){             var _this = this;             this.count = 0 ;             clearInterval(this.timer);             this.timer = setInterval(function(){                 if(_this.count >= num){                     clearInterval(_this.timer);                     _this.count = 0 ;                 }else{                     _this.count++;                     _this.imgShow.src = './tom/img/Animations/'+name+'/'+name+'_' + _this.mendZero(_this.count)+'.jpg';
                }             },80)         },
        mendZero : function(num){              if(num < 10){                  return '0' + num;              }else{                  return num;              }         },
        eventBind : function(){             var _this = this;             for(let i = 0 , k = this.btn.length ; i < k ; i++){                 this.btn[i].onclick = function(){                     let classN = this.className;                     switch(classN){                         case 'cymbal' :                             _this.tomPlay('cymbal',12);                             _this.music.src = './tom/mp3/pia.mp3';                             _this.music.play();                             break;                         case 'drink' :                             _this.tomPlay('drink',80);                             break;                         case 'eat' :                             _this.tomPlay('eat',39);                             break;                         case 'fart' :                             _this.tomPlay('fart',27);                             break;                         case 'pie' :                             _this.tomPlay('pie',23);                             break;                         case 'scratch' :                             _this.tomPlay('scratch',55);                             break;                         case 'angry' :                             _this.tomPlay('angry',25);                             break;                         case 'angry1' :                             _this.tomPlay('angry',25);                             break;                         case 'footLeft' :                             _this.tomPlay('footRight',29);                             _this.music.src = './tom/mp3/tomaiyou.mp3';                             _this.music.play();                             break;                         case 'footRight' :                             _this.tomPlay('footLeft',29);                             _this.music.src = './tom/mp3/tomaiyou.mp3';                             _this.music.play();                             break;                         case 'knockout' :                             _this.tomPlay('knockout',80);                             break;                         case 'stomach' :                             _this.tomPlay('stomach',33);                             _this.music.src = './tom/mp3/tomaiyou.mp3';                             _this.music.play();                             break;                     }                 }             }         }     }     new Tom();     </script> 內容如有雷同,純屬巧合,侵權請聯繫本人。
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • MySQL索引 索引分類 最左首碼原則 覆蓋索引 索引下推 聯合索引順序 What's Index ? 索引就是幫助RDBMS高效獲取數據的數據結構。 索引可以讓我們避免一行一行進行全表掃描。它的價值就是可以幫助你對數據進行快速定位。 索引分類 按照功能邏輯來分 普通索引 INDEX(col_nam ...
  • Flutter第一個應用--踩坑之路 安裝 參照官網教程(這裡)下載解壓,以及設置環境變數即可。 如果你是中國用戶(當然了,我們都是),參考這篇文章Using Flutter in China,設置一下中國的鏡像。 比如我用的是zsh,那我的設置如下: export PUB_HOSTED_URL=h ...
  • JS數據類型判斷 JavaScript 中常見數據類型有Number、String、Boolean、Object、Array、Json、Function、Date、RegExp、Error、undefined、Null等十幾種。ES6還有新增的數據類型有Symbol、Set、Map等。在實際應用中, ...
  • 迭代函數系統(Iterated Function System,IFS)可以用來創建分形圖案,它是分形理論的重要分支,也是分形圖形處理中最富生命力而且最具有廣闊應用前景的領域之一。這一工作最早可以追溯到Hutchinson於1981年對自相似集的研究。美國科學家M.F.Barnsley於1985年發 ...
  • 說起Web前端開發想必你一定不會陌生,因為現在的前端開發學習的培訓機構也是層出不窮。下麵濟南優就業IT培訓給大家總結出了未來Web前端開發的六大趨勢從中可以大致看出來Web前端未來的發展前景。 趨勢一:更加移動優先 響應式設計顯然是目前Web前端開發領域的主要趨勢之一,並且這一趨勢在未來還將持續一段 ...
  • 首先,為什麼說叫所謂呢? 因為在2007年之前Js給予我們typeof解析數據類型的一共有六種(一直有爭議,但是我們暫時就按typeof來算) 'function' 'Number' 'Object' 'boolean' 'String' 'undefined' 但當我們去 typeof Symbo ...
  • Nuxt 使用 create-nuxt-app 創建項目時,選擇使用 Element-UI 為預設組件庫,發現 Nuxt 沒有開啟 Element-UI 的按需引入配置,需要自行配置。 ...
  • display: none; DOM 結構:瀏覽器不會渲染 display 屬性為 none 的元素,不占據空間; 事件監聽:無法進行 DOM 事件監聽; 性能:動態改變此屬性時會引起重排,性能較差; 繼承:不會被子元素繼承,畢竟子類也不會被渲染; transition:transition 不支持 ...
一周排行
    -Advertisement-
    Play Games
  • JWT(JSON Web Token)是一種用於在網路應用之間傳遞信息的開放標準(RFC 7519)。它使用 JSON 對象在安全可靠的方式下傳遞信息,通常用於身份驗證和信息交換。 在Web API中,JWT通常用於對用戶進行身份驗證和授權。當用戶登錄成功後,伺服器會生成一個Token並返回給客戶端 ...
  • 老周在幾個世紀前曾寫過樹莓派相關的 iOT 水文,之所以沒寫 Nano Framework 相關的內容,是因為那時候這貨還不成熟,可玩性不高。不過,這貨現在已經相對完善,老周都把它用在項目上了——第一個是自製的智能插座,這個某寶上50多塊可以買到,搜“esp32 插座”就能找到。一種是 86 型盒子 ...
  • 引言 上一篇我們創建了一個Sample.Api項目和Sample.Repository,並且帶大家熟悉了一下Moq的概念,這一章我們來實戰一下在xUnit項目使用依賴註入。 Xunit.DependencyInjection Xunit.DependencyInjection 是一個用於 xUnit ...
  • 在 Avalonia 中,樣式是定義控制項外觀的一種方式,而控制項主題則是一組樣式和資源,用於定義應用程式的整體外觀和感覺。本文將深入探討這些概念,並提供示例代碼以幫助您更好地理解它們。 樣式是什麼? 樣式是一組屬性,用於定義控制項的外觀。它們可以包括背景色、邊框、字體樣式等。在 Avalonia 中,樣 ...
  • 在處理大型Excel工作簿時,有時候我們需要在工作表中凍結窗格,這樣可以在滾動查看數據的同時保持某些行或列固定不動。凍結窗格可以幫助我們更容易地導航和理解複雜的數據集。相反,當你不需要凍結窗格時,你可能需要解凍它們以獲得完整的視野。 下麵將介紹如何使用免費.NET庫通過C#實現凍結Excel視窗以鎖 ...
  • .NET 部署 IIS 的簡單步驟一: 下載 dotnet-hosting-x.y.z-win.exe ,下載地址:.NET Downloads (Linux, macOS, and Windows) (microsoft.com) .NET 部署 IIS 的簡單步驟二: 選擇對應的版本,點擊進入詳 ...
  • 拓展閱讀 資料庫設計工具-08-概覽 資料庫設計工具-08-powerdesigner 資料庫設計工具-09-mysql workbench 資料庫設計工具-10-dbdesign 資料庫設計工具-11-dbeaver 資料庫設計工具-12-pgmodeler 資料庫設計工具-13-erdplus ...
  • 初識STL STL,(Standard Template Library),即"標準模板庫",由惠普實驗室開發,STL中提供了非常多對信息學奧賽很有用的東西。 vector vetor是STL中的一個容器,可以看作一個不定長的數組,其基本形式為: vector<數據類型> 名字; 如: vector ...
  • 前言 最近自己做了個 Falsk 小項目,在部署上伺服器的時候,發現雖然不乏相關教程,但大多都是將自己項目代碼複製出來,不講核心邏輯,不太簡潔,於是將自己部署的經驗寫成內容分享出來。 uWSGI 簡介 uWSGI: 一種實現了多種協議(包括 uwsgi、http)並能提供伺服器搭建功能的 Pytho ...
  • 1 文本Embedding 將整個文本轉化為實數向量的技術。 Embedding優點是可將離散的詞語或句子轉化為連續的向量,就可用數學方法來處理詞語或句子,捕捉到文本的語義信息,文本和文本的關係信息。 ◉ 優質的Embedding通常會讓語義相似的文本在空間中彼此接近 ◉ 優質的Embedding相 ...