成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > HTML5實現(xiàn)經(jīng)典坦克大戰(zhàn)坦克亂走還能發(fā)出一個子彈

HTML5實現(xiàn)經(jīng)典坦克大戰(zhàn)坦克亂走還能發(fā)出一個子彈

熱門標(biāo)簽:400開頭的電話好申請不 智能芯電話機器人 咸陽穩(wěn)定外呼系統(tǒng)軟件 小朱地圖標(biāo)注 地圖標(biāo)注柱狀圖 四川移動電銷外呼客戶管理系統(tǒng) 百度地圖標(biāo)注為什么總是封號 怎么做百度地圖標(biāo)注 臨海地圖標(biāo)注app

復(fù)制代碼
代碼如下:

<pre name="code" class="html">tank.html</pre><pre name="code" class="html"><!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
</head>
<body onkeydown="getCommand();">
<h1>hmtl5-經(jīng)典的坦克大戰(zhàn)</h1>
<!--坦克大戰(zhàn)的戰(zhàn)場-->
<canvas id="tankMap" width="400px" height="300px" style="background-color:black"></canvas>
<span id="aa">數(shù)據(jù)</span>
<!--把tankGames.js引入到本頁面-->
<script type="text/javascript" src="tank.js"></script>
<script type="text/javascript">
//得到畫布
var canvas1=document.getElementById("tankMap");
//得到繪圖上下文(你可以理解是畫筆)
var cxt=canvas1.getContext("2d");
//我的坦克 hero
//方向
var hero=new Hero(140,140,0,heroColor);
//定義一顆空子彈
var heroBullet=null;
//定義敵人的坦克(敵人的坦克有多少? 思路 : 是單個單個的定義,還是放在數(shù)組中?)
var enemyTanks=new Array();
//先死后活 ,定3個,后面我們把敵人坦克的數(shù)量,作出變量
//0->上, 1->右, 2->下 3->左
for(var i=0;i<3;i++){
//創(chuàng)建一個坦克
var enemyTank=new EnemyTank((i+1)*50,0,2,enmeyColor);
//把這個坦克放入數(shù)組
enemyTanks[i]=enemyTank;
}
//先調(diào)用一次
flashTankMap();
//專門寫一個函數(shù),用于定時刷新我們的作戰(zhàn)區(qū),把要在作戰(zhàn)區(qū)出現(xiàn)的元素(自己坦克,敵人坦克,子彈,炸彈,
//障礙物...)->游戲思想
function flashTankMap(){
//把畫布清理
cxt.clearRect(0,0,400,300);
//我的坦克
drawTank(hero);
//畫出自己的子彈
//子彈飛效果是怎么出現(xiàn)的?[答 : 首先我們應(yīng)該每隔一定時間(setInterval)就去刷新作戰(zhàn)區(qū),如果在刷新的時候,子彈坐標(biāo)變換了,給人的感覺就是子彈在飛!]
drawHeroBullet();
//敵人的坦克
//畫出所有敵人坦克
for(var i=0;i<3;i++){
drawTank(enemyTanks[i]);
}
}
//這是一個接受用戶按鍵函數(shù)
function getCommand(){
//我怎么知道,玩家按下的是什么鍵
//說明當(dāng)按下鍵后 事件--->event對象----->事件處理函數(shù)()
var code=event.keyCode;//對應(yīng)字母的ascii碼->我們看碼表
switch(code){
case 87://上
hero.moveUp();
break;
case 68:
hero.moveRight();
break;
case 83:
hero.moveDown();
break;
case 65:
hero.moveLeft();
break;
case 74:
hero.shotEnemy();
break;
}
//觸發(fā)這個函數(shù) flashTankMap();
flashTankMap();
//重新繪制所有的敵人的坦克.你可以在這里寫代碼(思想,我們干脆些一個函數(shù),專門用于定時刷新我們的畫布[作戰(zhàn)區(qū)])
}
//每隔100毫秒去刷新一次作戰(zhàn)區(qū)
window.setInterval("flashTankMap()",100);
</script>
</body>
</html></pre>


tank.js

復(fù)制代碼
代碼如下:

<pre></pre>
<pre name="code" class="html"><pre name="code" class="javascript">//為了編程方便,我們定義兩個顏色數(shù)組
var heroColor=new Array("#BA9658","#FEF26E");
var enmeyColor=new Array("#00A2B5","#00FEFE");
//其它的敵人坦克,這里的擴展性,還是不錯的.
//子彈類
function Bullet(x,y,direct,speed){
this.x=x;
this.y=y;
this.direct=direct;
this.speed=speed;
this.timer=null;
this.isLive=true;
this.run=function run(){
//在該表這個子彈的坐標(biāo)時,我們先判斷子彈是否已經(jīng)到邊界
if(this.x<=0||this.x>=400||this.y<=0||this.y>=300){
//子彈要停止.
window.clearInterval(this.timer);
//子彈死亡
this.isLive=false;
}else{
//這個可以去修改坐標(biāo)
switch(this.direct){
case 0:
this.y-=this.speed;
break;
case 1:
this.x+=this.speed;
break;
case 2:
this.y+=this.speed;
break;
case 3:
this.x-=this.speed;
break;
}
}
document.getElementById("aa").innerText="子彈x="+this.x+" 子彈y="+this.y;
}
}
//這是一個Tank類
function Tank(x,y,direct,color){
this.x=x;
this.y=y;
this.speed=1;
this.direct=direct;
//一個坦克,需要兩個顏色.
this.color=color;
//上移
this.moveUp=function(){
this.y-=this.speed;
this.direct=0;
}
//向右
this.moveRight=function(){
this.x+=this.speed;
this.direct=1;
}
//下移
this.moveDown=function(){
this.y+=this.speed;
this.direct=2;
}
//左
this.moveLeft=function(){
this.x-=this.speed;
this.direct=3;
}
}
//定義一個Hero類
//x 表示坦克的 橫坐標(biāo), y 表示縱坐標(biāo), direct 方向
function Hero(x,y,direct,color){
//下面兩句話的作用是通過對象冒充,達(dá)到繼承的效果
this.tank=Tank;
this.tank(x,y,direct,color);
//增加一個函數(shù),射擊敵人坦克.
this.shotEnemy=function(){
//創(chuàng)建子彈, 子彈的位置應(yīng)該和hero有關(guān)系,并且和hero的方向有關(guān).!!!
//this.x 就是當(dāng)前hero的橫坐標(biāo),這里我們簡單的處理(細(xì)化)
switch(this.direct){
case 0:
heroBullet=new Bullet(this.x+9,this.y,this.direct,1);
break;
case 1:
heroBullet=new Bullet(this.x+30,this.y+9,this.direct,1);
break;
case 2:
heroBullet=new Bullet(this.x+9,this.y+30,this.direct,1);
break;
case 3: //右
heroBullet=new Bullet(this.x,this.y+9,this.direct,1);
break;
}
//調(diào)用我們的子彈run, 50 是老師多次測試得到的一個結(jié)論.
var timer=window.setInterval("heroBullet.run()",50);
//把這個timer賦給這個子彈(js對象是引用傳遞!)
heroBullet.timer=timer;
}
}
//定義一個EnemyTank類
function EnemyTank (x,y,direct,color){
//也通過對象冒充,來繼承Tank
this.tank=Tank;
this.tank(x,y,direct,color);
}
//畫出自己的子彈,多說一句,你也可以把該函數(shù)封裝到Hero類中
function drawHeroBullet(){
//這里,我們加入了一句話,但是要知道這里加,是需要對整個程序有把握
if(heroBullet!=null&&heroBullet.isLive){
cxt.fillStyle="#FEF26E";
cxt.fillRect(heroBullet.x,heroBullet.y,2,2);
}
}
//繪制坦克
function drawTank(tank){
//考慮方向
switch(tank.direct){
case 0: //上
case 2:// 下
//畫出自己的坦克,使用前面的繪圖技術(shù)
//設(shè)置顏色
cxt.fillStyle=tank.color[0];
//韓老師使用 先死--->后活 (初學(xué)者最好用這個方法)
//先畫出左面的矩形
cxt.fillRect(tank.x,tank.y,5,30);
//畫出右邊的矩形(這時請大家思路->一定要一個參照點)
cxt.fillRect(tank.x+15,tank.y,5,30);
//畫出中間矩形
cxt.fillRect(tank.x+6,tank.y+5,8,20);
//畫出坦克的蓋子
cxt.fillStyle=tank.color[1];
cxt.arc(tank.x+10,tank.y+15,4,0,360,true);
cxt.fill();
//畫出炮筒(直線)
cxt.strokeStyle=tank.color[1];
//設(shè)置線條的寬度
cxt.lineWidth=1.5;
cxt.beginPath();
cxt.moveTo(tank.x+10,tank.y+15);
if(tank.direct==0){
cxt.lineTo(tank.x+10,tank.y);
}else if(tank.direct==2){
cxt.lineTo(tank.x+10,tank.y+30);
}
cxt.closePath();
cxt.stroke();
break;
case 1: //右和左
case 3:
//畫出自己的坦克,使用前面的繪圖技術(shù)
//設(shè)置顏色
cxt.fillStyle=tank.color[0];
//韓老師使用 先死--->后活 (初學(xué)者最好用這個方法)
//先畫出左面的矩形
cxt.fillRect(tank.x,tank.y,30,5);
//畫出右邊的矩形(這時請大家思路->一定要一個參照點)
cxt.fillRect(tank.x,tank.y+15,30,5);
//畫出中間矩形
cxt.fillRect(tank.x+5,tank.y+6,20,8);
//畫出坦克的蓋子
cxt.fillStyle=tank.color[1];
cxt.arc(tank.x+15,tank.y+10,4,0,360,true);
cxt.fill();
//畫出炮筒(直線)
cxt.strokeStyle=tank.color[1];
//設(shè)置線條的寬度
cxt.lineWidth=1.5;
cxt.beginPath();
cxt.moveTo(tank.x+15,tank.y+10);
//向右
if(tank.direct==1){
cxt.lineTo(tank.x+30,tank.y+10);
}else if(tank.direct==3){ //向左
cxt.lineTo(tank.x,tank.y+10);
}
cxt.closePath();
cxt.stroke();
break;
}
}
</pre>


<pre></pre>
</pre>

標(biāo)簽:南平 陜西 公主嶺 山南 黃石 黃石 平頂山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《HTML5實現(xiàn)經(jīng)典坦克大戰(zhàn)坦克亂走還能發(fā)出一個子彈》,本文關(guān)鍵詞  HTML5,實現(xiàn),經(jīng)典,坦克,大戰(zhàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《HTML5實現(xiàn)經(jīng)典坦克大戰(zhàn)坦克亂走還能發(fā)出一個子彈》相關(guān)的同類信息!
  • 本頁收集關(guān)于HTML5實現(xiàn)經(jīng)典坦克大戰(zhàn)坦克亂走還能發(fā)出一個子彈的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    青青久在线视频免费观看| 国产麻豆精品theporn| yy111111少妇影院日韩夜片| 亚洲欧美日韩国产一区二区| 福利网址在线观看| 亚洲美女自拍视频| 免费人成网ww777kkk手机| 国产在线视频精品视频免费看| 亚洲av永久纯肉无码精品动漫| 欧美三日本三级少妇99| 中文字幕一区二区三区最新| 国产一卡2卡3卡免费网站| 欧洲金发美女大战黑人| 91农村精品一区二区在线| 欧美精品粉嫩高潮一区二区| 爱爱免费视频网站| 国产无遮挡呻吟娇喘视频| 国产精品揄拍100视频| 91在线观看免费网站| 欧美熟妇另类久久久久久多毛| 欧洲不卡av| 欧美孕妇与黑人巨交| 欧美一区二区三区免费观看视频| 日本在线观看a| 国产黄a三级三级三级av在线看| 日日碰狠狠躁久久躁婷婷| 免费视频91蜜桃| 欧美四级剧情无删版影片| 国产裸体永久免费无遮挡| 亚洲另类在线视频| 欧美大片网站| 日本成人片在线| 性欧美猛交videos| 蜜桃视频网站在线观看| 91久久国语露脸精品国产高跟| 免费91在线视频| 99麻豆久久久国产精品免费优播| 日本在线视频www鲁啊鲁| av免费观看国产| 91蜜臀精品国产自偷在线| 极品少妇xxxx偷拍精品少妇| 成人激情五月天| 男女视频在线看| 国产激情二区| 91精品美女在线| 综合在线影院| 国精产品久拍自产在线网站| 日产午夜精品一线二线三线| 国产精品18久久久久久久久久久久| 亚洲v日韩v综合v精品v| 华人av在线| 国产精品久久99| 国内精品久久久久久久| 国产精品www.| 欧美另类视频| 国产极品在线视频| 亚洲综合网在线| 日本成人xxx| 亚洲国产精品久久久久久| 欧美一级一级性生活免费录像| 一区二区三区日韩精品视频| 欧美日韩在线视频播放| 黄色国产网站在线观看| 亚洲开心激情网| 亚洲国产成人va在线观看天堂| 成人影院在线看| 无码国产伦一区二区三区视频| 成人三级视频在线观看| 九色视频在线观看免费播放| 亚洲精品欧美极品| 日韩理论电影| 日本在线视频网| 久久国产精品亚洲| 日韩网站在线免费观看| 韩国精品一区| 乱人伦中文视频在线| 99久久久国产精品| 婷婷久久综合| 国产乱子伦精品视频| 春意影院午夜免费入口| 成年人免费在线视频网站| 一色桃子av在线| 久久久精品影视| www浪潮av99com| 亚洲人视频在线观看| 青青草娱乐视频| 8av国产精品爽爽ⅴa在线观看| 亚欧洲精品视频在线观看| 日韩av在线资源| 国产精品色在线网站| 亚洲精品在线视频播放| 日韩高清dvd碟片| 国产免费一区视频观看免费| 99久久综合色| 26uuu精品一区二区三区四区在线| 国产免费av一区二区| 欧美黑人xx片| 免费网站黄在线观看| 成年人网站在线| 综合国产精品久久久| 欧美亚韩一区二区三区| 一区二区激情| 国产精品不卡一区二区三区| 成人激情视屏| 久久久久亚洲AV成人网人人小说| 黄色免费视频大全| 欧美大胆成人| 在线播放免费av| 国产乡下妇女做爰毛片| 在线免费观看视频黄| 国产精品成人av在线| fc2ppv在线播放| 国产欧美日韩一区二区三区在线| 日本高清免费在线视频| 美女爆乳18禁www久久久久久| 色琪琪原网站亚洲香蕉| www.亚洲免费视频| 亚洲国产精一区二区三区性色| 美女久久99| 久久综合综合久久综合| 第一中文字幕在线| 国产系列精品av| 精品中文视频在线| 成人h动漫精品一区二区器材| 国产精品视频久久久久久久| 国产成都精品91一区二区三| 国产精品乱人伦一区二区| 久久婷婷国产综合精品青草| 中文字幕在线视频免费观看| 国产精品伦理一区二区三区| 一区高清视频| 亚洲图区在线| 久久一区二区三区av| 亚洲一二三区av| aaa免费看大片| 中文字幕在线播放第一页| 欧美体内she精高潮| 91精品国产全国免费观看| 国产精品久久久久7777| 日本成熟性欧美| 亚洲国产视频直播| 欧美gay男男猛男无套| 中文字幕资源在线观看| 欧美精品二区三区| 国产在线观看av| 欧美日韩国产成人在线| 国产免费一区二区三区最新6| 日韩精品视频在线观看一区二区三区| 一区二区三区av| 日本三级韩国三级欧美三级| 向日葵污视频在线观看| 欧美伊人精品成人久久综合97| 99国产精品久久一区二区三区| 九九久久婷婷| 人妻中文字幕一区二区三区| 91精品国产66| 国内自拍在线观看| 亚洲国产精品va在线| 成人免费网站在线观看视频| 免费的成人av| 丝袜美腿一区二区三区| 美女把尿口扒开让男人桶在线观看| 免费一级欧美片在线观看| 亚洲精品乱码久久久久久蜜桃欧美| 免费在线观看亚洲视频| 国产乱色精品成人免费视频| 99久久精品日本一区二区免费| 国产成人澳门| 久久久亚洲影院| 亚洲精品一线二线三线无人区| 国产在线不卡一卡二卡三卡四卡| 美女免费黄色| 欧美高清日韩| 精品sm在线观看| 国产精品黄页网站在线播放免费| 亚洲专区在线播放| 成人午夜三级| 日本黄色录像片| 无码小电影在线观看网站免费| 国语对白在线播放| 视频一区欧美日韩| 熟妇人妻无乱码中文字幕真矢织江| caoporn国产精品| 国产一区二区成人久久免费影院| 亚洲一级影院| 中午字幕在线观看| 欧美三级黄网| 国产乱码一区二区三区四区| 蜜臀精品一区二区三区在线观看| 99热在线国产| 成年人视频网站| 福利欧美精品在线| 精久久久久久久久久久| 26uuuu精品一区二区| 国产精品 欧美在线| 日韩在线三区| 麻豆影视在线观看_| 亲子乱一区二区三区电影| 97人人澡人人爽人人模亚洲| 日韩精品亚洲人成在线观看| 老熟妇高潮一区二区三区| 欧美一区二区精品久久911| 婷婷综合国产| 北条麻妃久久精品| 性欧美videos白嫩| 国产精品玖玖玖在线资源| 国产精品人人做人人爽| 日韩欧美一级视频| 亚洲精品亚洲人成人网| 国产精品久久久久四虎| 人人妻人人澡人人爽精品欧美一区| 婷婷成人基地| 欧美一级一级性生活免费录像| 免费看黄色一级视频| 毛片aaaaa| 中文 欧美 日韩| 亚洲免费福利视频| 在线国产精品网| 国产精品高精视频免费| 99er在线视频| 欧美午夜精品久久久久久孕妇| 亚洲欧美激情精品一区二区| 中文字幕一区二区三区乱码| 亚洲人被黑人高潮完整版| 国产福利在线视频| 国产精品久久久爽爽爽麻豆色哟哟| 欧美成人性生活| 老牛影视一区二区三区| 日韩精品中文在线观看| 日韩一区中文| 欧美涩涩视频| 色成人亚洲网| 免费国偷自产拍精品视频| 丰满饥渴老女人hd| 韩曰欧美视频免费观看| 国产欧美精品在线观看| 国产xxxxxxxxx| 国产精品99久久| 成人欧美一区二区三区的电影| 美女视频黄是免费| 国产综合久久久久久鬼色| 欧美性生活影院| 91丨九色丨黑人外教| 日韩精品成人av| 蜜桃视频在线观看视频| 刘玥91精选国产在线观看| 日本综合在线观看| 九九热在线视频| 一区二区网站| 成人激情诱惑| 911精品产国品一二三产区| 国产精品一久久香蕉国产线看观看| 国产成人免费av在线| 国产国语老龄妇女a片| 人人干人人看| 亚洲人成电影网站色www| 九一精品在线观看| 久久亚洲精品大全| 成人黄色视屏网站| 精品福利一区二区三区免费视频| 无码人妻丰满熟妇区96| 日韩欧美在线影院| 美女一区二区视频| 亚洲精品影院在线| 亚洲美女一区二区三区| 欧美激情喷水| 毛片av免费观看| 国产在线高清精品| 久草福利在线观看| 91麻豆精品国产自产在线| 浪潮av在线| 97超碰在线免费观看| 日本一区免费| 中文天堂在线一区| 精品乱码一区二区三区| 性xxxx搡xxxxx搡欧美| 国产亚洲欧美一区| 久久国产三级| 在线观看成人毛片| 久久精品国产精品亚洲毛片| 国产精品一区二区三区四区五区| 亚洲欧美国产毛片在线| 欧美疯狂party性派对| 亚洲精品少妇久久久久久| 亚洲成人第一网站| 亚洲综合久久久久| 国产经品一区二区| 亚洲三级 欧美三级| 欧美三级精品| 国产一区二区三区在线免费观看| 蜜臀一区二区三区精品免费视频| 一区福利视频| 国产乱码精品一区二区三区忘忧草| 亚洲欧美日韩一区二区三区在线观看| 国产又粗又长又爽又黄的视频| 日本精品久久久久影院| 手机在线理论电影| wwwxxx亚洲| 色天天综合网| 电影一区中文字幕| 一区二区三区在线电影| 日本人69视频| 日韩中文在线字幕| 亚洲v国产v在线观看| 欧美中文一区二区| 麻豆精品视频在线观看视频| 91玉足脚交白嫩脚丫| av中文字幕av| 欧美亚洲视频一区| 国产原创popny丨九色| 国产精品国产三级国产| 综合毛片免费视频| 国产污污在线观看| 天堂网av在线播放| 貂蝉被到爽流白浆在线观看| 欧美视频在线观看视频| 精品国产一区二区三| 国产一级黄色录像| 国产性网软件大全| 波多野结衣在线免费观看| www.欧美亚洲| 在线免费黄色| 秋霞午夜在线观看| 亚洲精品久久久狠狠狠爱| 3d动漫精品啪啪1区2区免费| 亚洲播播91| 精品72久久久久中文字幕| 麻豆国产欧美一区二区三区r|