999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Web小游戲?qū)ο笞詣由善鞯乃惴ǖ难芯?/h1>
2021-11-12 15:08:58吳強(qiáng)
安防科技 2021年1期

吳強(qiáng)

摘要:彈彈球小游戲深受大眾所喜愛,本文詳細(xì)的介紹在網(wǎng)絡(luò)平臺下,使用JavaScript腳本語言實現(xiàn)“連連看”游戲中核心算法——對象自動生成器。

關(guān)鍵詞:web 小游戲;彈彈球;JavaScript;對象自動生成器

隨著游戲的飛速發(fā)展,基于移動端的網(wǎng)絡(luò)游戲成為了人們娛樂的一種重要方式,彈彈球類的小游戲出現(xiàn)了很多,深受大眾的喜愛。

一、關(guān)鍵問題

“彈彈球”是一個平面游戲,小球在地圖中自動移動,小球超出地圖自動刪除,碰到障礙物反彈,用戶水平控制擋板阻止小球飛出,當(dāng)小球碰到不同類型的磚塊有不同類型的獎勵,其中一種獎勵是生成新的小球,以不同的方向飛行,這時就有多個小球同時在地圖中飛行。自動生成小球中一個重要的問題,面向?qū)ο蟮木幊谭绞墙鉀Q些問題的方法之一

二、小球類

在建立小球類時,首先要要考慮設(shè)置小球?qū)ο蟮膶傩院头椒ā?/p>

1、對象的屬性,小球?qū)ο蟮闹饕獙傩杂衳,y軸的坐標(biāo)、運(yùn)動速度與運(yùn)動角度。

function Ball(x,y,speed,angle){

this.x=x;//設(shè)置x坐標(biāo)

this.y=y;//設(shè)置y坐標(biāo)

this.speed=speed;//設(shè)置速度

this.angle=angle;//設(shè)置運(yùn)動方向

}

2、在地圖中建立小球?qū)ο螅紫葘⒌貓D對象給到變量“map”中,在map中增加小球?qū)ο螅ⅲ谶@里重要的是由類建立的小球?qū)ο蠛偷貓D中顯示的小球不是一個對象,因此要建立兩個對象的互相聯(lián)系,可以在小球?qū)ο笾性黾右粋€屬性“obj”指向地圖中的小球,地圖中的小球增加一個屬性“src”屬性指向小球?qū)ο蟆T陬愔性黾哟a事下:

this.obj=document.createElement("div");//建立對象

this.obj.className=”ball”;//設(shè)置CSS

map.appendChild(this.obj);//增加對象至地圖中

this.obj.src=this;//設(shè)置標(biāo)簽對象src屬性為球?qū)ο?/p>

3、地圖中的小球的位置,可以根據(jù)小球的x和y屬性來改變小球的位置,并調(diào)用函數(shù)。

this.xy=function(){//設(shè)置對象的位置

this.obj.style.left=parseInt(this.x)+”px”;

this.obj.style.top=parseInt(this.y)+”px”;

}

this.xy();

4、創(chuàng)建在地圖中移動小球?qū)ο蟮姆椒ǎ贘avaScript做動畫的常用方法之一是使用定時事件來完成移動的效果,在小球類中時用考慮一次移動,可以通過對象的運(yùn)動速度和角度的屬性來計算出小球每次的位移量,并判斷其超出地圖片下面的邊界刪除對象,方法如下:

this.move=function(){//移動對象

this.x+=this.speed*Math.cos(this.angle/180*Math.PI);

this.y+=this.speed*Math.sin(this.angle/180*Math.PI);

this.xy();

if (this.y>map.offsetHeight) this.remove();//超界刪除對象

}

5、刪除對象方法,刪除地圖中的對象同時,刪除小球?qū)ο笈c之的鏈接。

this.remove=function(){map.removeChild(this.obj);this.obj=””;}

6、在主時鐘設(shè)置小球運(yùn)動,地圖中小球數(shù)量不是固定的,它會隨時發(fā)生變化,因此在每次運(yùn)動時都要重新對地圖中的小球進(jìn)行遍歷,每個球都要做相應(yīng)的運(yùn)動。

window.setInterval(“masterClock()”,1000/30);

var masterClock=function(){

var ballAll=document.querySelectorAll(“.map .ball”);

console.log(ballAll.length);

for (var k=0;k<=ballAll.length-1;k++){

ballAll.item(k).src.move();

}

}

三、建立對象

建立小球?qū)ο髸r,根據(jù)不同的情況輸入相應(yīng)的屬性,代碼如下:

new Ball(300,100,5,198);

四、結(jié)束語

以上是本文解決了游戲中關(guān)鍵問題對象自動生成器,要完成此游戲還要制作球與磚塊的碰撞反彈效果,相關(guān)圖片的排版布局、倒計時、得分、地圖、音效等增加游戲的可玩性。

主站蜘蛛池模板: 亚洲综合18p| 国产靠逼视频| 青青青草国产| 丝袜国产一区| 午夜激情婷婷| 国产免费人成视频网| 91精品国产丝袜| 国产精品无码AV片在线观看播放| 欧美一区二区三区欧美日韩亚洲 | 色婷婷狠狠干| 午夜久久影院| 岛国精品一区免费视频在线观看 | 日本伊人色综合网| 午夜限制老子影院888| 欧美自慰一级看片免费| 久久婷婷六月| 免费观看欧美性一级| 国产高清色视频免费看的网址| 国产亚洲精品自在线| 国产精品片在线观看手机版| 综合久久五月天| 午夜综合网| 久久精品人妻中文系列| 谁有在线观看日韩亚洲最新视频| 亚洲国产精品一区二区第一页免 | 亚洲婷婷在线视频| 色婷婷啪啪| 国产成人区在线观看视频| 日本一本正道综合久久dvd| 亚洲一区二区三区香蕉| 国产精品视频免费网站| 日本伊人色综合网| 97青草最新免费精品视频| 91精品情国产情侣高潮对白蜜| 欧美精品成人一区二区在线观看| 欧美在线精品一区二区三区| 国产日本欧美亚洲精品视| 欧美亚洲国产精品久久蜜芽| 日韩无码白| 国产婬乱a一级毛片多女| 四虎在线观看视频高清无码 | 四虎成人免费毛片| 国产成人精品一区二区不卡| 久久精品国产精品青草app| 久久夜色精品国产嚕嚕亚洲av| 国产成人高清精品免费| 久久夜色精品国产嚕嚕亚洲av| 日韩国产欧美精品在线| 极品av一区二区| 精品福利国产| 中文字幕1区2区| 成人午夜在线播放| 色呦呦手机在线精品| 玩两个丰满老熟女久久网| 国产自在线拍| 久久精品这里只有精99品| 在线观看91精品国产剧情免费| 日韩无码精品人妻| 亚洲日韩久久综合中文字幕| 久久国产精品波多野结衣| 91色爱欧美精品www| 亚洲色图综合在线| 综1合AV在线播放| 国产在线观看一区二区三区| 亚洲综合九九| 亚洲精品另类| 国产乱子伦精品视频| 91精品国产自产91精品资源| 久久精品无码中文字幕| 天天视频在线91频| 亚洲资源站av无码网址| 国产网站免费看| 六月婷婷综合| 国产精品对白刺激| 久久国产精品夜色| 露脸国产精品自产在线播| 日本成人不卡视频| 欧美国产日韩另类| 国产成年女人特黄特色毛片免 | 丁香六月综合网| 99久久精品国产麻豆婷婷| 丁香五月激情图片|