亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTML > 正文

使用html+css+js實現彈球游戲

2020-03-24 15:42:23
字體:
來源:轉載
供稿:網友
使用html+css+js實現彈球游戲

17969075ca2705a31a16ae54b880bb9.png

代碼如下,復制即可使用:

<!doctype html><head>    <style type="text/css">        .panel{            position: relative;            z-index: 0;            top:0px;            left: 400px;            width: 300px;            height: 500px;        }        .console{            position: absolute;            z-index: 1;            top:0;            left:0;            width:100%;            height: 40px;            background-color: #bbb;        }        .message{            position: absolute;            z-index: 1;            top:40px;            left:0;            width:100%;            height: 460px;            color: white;            font-size: 50px;            text-align: center;            line-height: 460px;            background-color: #999;        }        .start,.score,.pause{            position: absolute;            z-index: 2;            top: 0;            width: 100px;            height: 100%;            font-size: large;            color: white;            text-align: center;            line-height: 40px;            background: -webkit-linear-gradient(top,#4ca8ff,yellow);        }        .start{            left: 0px;        }        .score{            left:100px;            background-color: red;        }        .pause{            left:200px;        }        .start:after,.pause:before{            content: "";            position: absolute;            z-index: 2;            top: 0;            width: 3px;            height: 100%;            background: -webkit-linear-gradient(top,#666,#999);        }        .start:after{            left: 97px;        }        .pause:before{            left: 0px;        }        .start:hover,.pause:hover{            cursor: pointer;            background: -webkit-linear-gradient(top,#4ca8ff,red);        }        .panel span{            position: absolute;            z-index: 0;            top:50%;            left: 50%;            font-size: 50px;            color: blue;        }        .ball,.secondBall{            position:absolute;            z-index: 2;            border-radius:50%;            width: 20px;            height: 20px;        }        .ball{            top: 460px;            left:140px;            background-color: red;        }        .secondBall{            top: 40px;            left:140px;            background-color: red;        }        .plate{            position: absolute;            top:480px;            left: 100px;            z-index: 2;            width: 100px;            height: 20px;            background-color: #e5e5e5;        }        .promte{            margin-top: 20px;            text-align: center;        }    </style></head><body>    <div id="panel" class="panel">        <div class="console">            <div id="start" class="start">開始</div>            <div id="score" class="score">0</div>            <div id="pause" class="pause">暫停</div>        </div>        <div id="message" class="message"></div>        <div id="ball" class="ball"></div>        <div id="plate" class="plate"></div>    </div>    <div class="promte">提示:鍵盤左右箭頭控制滑板</div>    <script     type="text/javascript">        (function(){            document.onkeydown = function(e){                var e = e || window.event;                if(e.keyCode == 37){                    //鍵盤向左鍵                    plateMove("left");                }else if(e.keyCode == 39){                    //鍵盤向右鍵                    plateMove("right");                }            }        })();        var panel = document.getElementById("panel"),            message = document.getElementById("message"),            plate = document.getElementById("plate"),            ball = document.getElementById("ball"),            start = document.getElementById("start"),            score = document.getElementById("score"),            pause = document.getElementById("pause"),            secondBall;        var startGame, x = x2 = -1, y = y2 = -1, speed = 1, positionArr = [], pauseActive = false,            //一個標志:表示難度是否還能增加            flag = true,            //球的起始位置            ballX, ballY, secondBallX, secondBallY,            //邊界            minX = 0,            maxX = panel.offsetWidth - ball.offsetWidth,            minY = 40;            maxY = panel.offsetHeight - ball.offsetHeight - plate.offsetHeight;        window.onload = function(){            if(window.addEventListener){                start.addEventListener("click",startClick,false);                pause.addEventListener("click",pauseClick,false);            }else if(window.attachEvent){                start.attachEvent("onclik",startClick);                pause.attachEvent("onclik",pauseClick);            }else{                start.onclik = startClick;                pause.onclik = pauseClick;            }        }                function plateMove(direction){            if(direction == "left"){                if(plate.offsetLeft > 0){                    plate.style.left = (plate.offsetLeft-30 < 0? 0 : plate.offsetLeft-30)+"px";                }            }            if(direction == "right"){                if(plate.offsetLeft < 200){                    plate.style.left = (plate.offsetLeft+30 > 200? 200 : plate.offsetLeft+30)+"px";                }            }        }        function startClick(){            if(!pauseActive){                resetGame();            }else{                pauseActive = !pauseActive;            }            startGame = setInterval(function(){                //console.log(ballX+"======"+ballY);                positionArr = setPosition(ballX,ballY,true);                if(positionArr == "GAMEOVER"){                    return;                }                ballX = positionArr[0];                ballY = positionArr[1];                //設置球的位置                ball.style.left = ballX+"px";                ball.style.top = ballY+"px";                if(!flag){                    positionArr = setPosition(secondBallX,secondBallY,false);                    secondBallX = positionArr[0];                    secondBallY = positionArr[1];                    secondBall.style.left = secondBallX+"px";                    secondBall.style.top = secondBallY+"px";                }else{                    addDifficulty();                }            },30);        }        function pauseClick(){            pauseActive = true;            clearInterval(startGame);        }        function resetGame(){            clearInterval(startGame);            message.innerHTML="";            score.innerHTML="0";            ball.style.left = "140px";            ball.style.top = "460px";            plate.style.left = "100px";            plate.style.top = "480px";            ballX = ball.offsetLeft;            ballY = ball.offsetTop;            speed = 1;            flag = true;            //第二個球設置隱藏            if(secondBall){                secondBall.style.display="none";                secondBall.style.left = "140px";                secondBall.style.top = "40px";            }        }        function addDifficulty(){            if(parseInt(score.innerHTML) > 500 && parseInt(score.innerHTML) < 2000){                speed = 1.2;            }else if(parseInt(score.innerHTML) > 2000 && parseInt(score.innerHTML) < 5000){                speed = 1.5;            }else if(parseInt(score.innerHTML) > 5000){                if(typeof secondBall != "undefined"){                    secondBall.style.display="";                }else{                    secondBall = document.createElement('div');                }                                secondBall.className = 'secondBall';                panel.appendChild(secondBall);                secondBallX = secondBall.offsetLeft;                secondBallY = secondBall.offsetTop;                flag = false;            }        }        function setPosition(_x,_y,firstball){            if(_x == minX || _x == maxX){                //x*=-1;                firstball? x*=-1 : x2*=-1;            }            if(_y == minY || _y == maxY){                //y*=-1;                firstball? y*=-1 : y2*=-1;            }            if(_y == maxY){                //判斷擋板的位置是不是在球的范圍內                if(plate.offsetLeft > _x || (plate.offsetLeft + plate.offsetWidth) < _x){                    clearInterval(startGame);                    message.innerHTML="GAMEOVER";                    return "GAMEOVER";                }            }            if(firstball){                _x+=4*x*speed;                _y+=5*y*speed;            }else{                _x+=4*x2*speed;                _y+=5*y2*speed;            }                        //邊界處理            _x = _x < minX? minX : _x;            _x = _x > maxX? maxX : _x;                        _y = _y < minY? minY : _y;            _y = _y > maxY? maxY : _y;            //設置分數            score.innerHTML=parseInt(score.innerHTML)+10*speed;            return [_x,_y];        }    </script></body></html>

如果您有更好的方法或更多的功能,可以和我們大家一起分享哦,如有錯誤,歡迎聯系我改正,非常感謝?。?!

更多編程相關內容,請關注武林網編程入門欄目!

以上就是使用html+css+js實現彈球游戲的詳細內容,更多請關注武林網其它相關文章!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情在线狂野欧美精品| 在线午夜精品自拍| 欧美高清视频在线| 国产成人精品免费视频| 国产亚洲精品成人av久久ww| 日韩精品极品在线观看| 国产日韩av在线| 日韩av在线网页| 久久久免费观看视频| 中文字幕9999| 欧美精品久久久久久久免费观看| 欧美巨猛xxxx猛交黑人97人| 亚洲一区二区三区乱码aⅴ| 国产美女精品免费电影| 日韩精品免费在线| 国产精品久久综合av爱欲tv| 成人xvideos免费视频| 91视频-88av| 性夜试看影院91社区| 日本一欧美一欧美一亚洲视频| 欧美国产乱视频| 日韩成人在线视频| 久久色免费在线视频| 精品国产一区二区三区久久久狼| 亚洲视频在线观看| 亚洲精品成a人在线观看| 久久久久久这里只有精品| 欧美一区二区三区艳史| 久久夜精品va视频免费观看| 欧美视频第一页| 国产啪精品视频| 欧美一性一乱一交一视频| 欧美精品videos| 欧美成年人网站| 亚洲精品电影网站| 高清日韩电视剧大全免费播放在线观看| 色老头一区二区三区| 亚洲最大av在线| 精品动漫一区二区三区| 欧美一级大胆视频| 亚洲精品一区二区网址| 久久久久久亚洲精品中文字幕| 国产精品视频播放| 欧美高清视频在线| 国产亚洲精品高潮| 青青久久av北条麻妃黑人| 久久精品视频99| 色综合色综合久久综合频道88| 亚洲另类图片色| 久久视频在线观看免费| 国产欧美日韩精品在线观看| 欧美在线观看视频| 自拍偷拍亚洲在线| 日韩av不卡在线| 日韩www在线| 亚洲理论在线a中文字幕| 91福利视频网| 国产噜噜噜噜噜久久久久久久久| 久久久精品中文字幕| 久久久久免费视频| 欧美激情一区二区三区高清视频| 亚洲午夜未删减在线观看| 国产精品大陆在线观看| 亚洲国产成人爱av在线播放| 在线亚洲欧美视频| 日韩精品中文字幕在线播放| 久久久久久91香蕉国产| 狠狠色噜噜狠狠狠狠97| 精品国产自在精品国产浪潮| 亚洲欧美日韩天堂一区二区| 国产精品一区专区欧美日韩| 欧美日韩国产一区二区| 2019精品视频| 久久香蕉精品香蕉| 亚洲精品久久久久中文字幕欢迎你| 亚洲精品一区中文字幕乱码| 亚洲欧美日韩在线一区| 欧美大片在线看免费观看| 青青久久aⅴ北条麻妃| 国产精品爽爽ⅴa在线观看| 欧美亚洲一区在线| 久久伊人91精品综合网站| 色樱桃影院亚洲精品影院| 亚洲美女激情视频| 国产亚洲成精品久久| 另类视频在线观看| 国产精品成人观看视频国产奇米| 亚洲精品一区av在线播放| 自拍偷拍亚洲一区| 国产婷婷成人久久av免费高清| 亚洲国产日韩一区| 欧美电影院免费观看| 国产精品无av码在线观看| 国产v综合v亚洲欧美久久| 日韩一级黄色av| 色久欧美在线视频观看| 亚洲高清不卡av| 欧美在线播放视频| 日韩欧美在线免费| 国产亚洲a∨片在线观看| 欧美精品在线视频观看| 日韩精品久久久久| 久久久免费精品| 国产精品亚洲视频在线观看| 欧美精品一区三区| 亚洲欧美综合区自拍另类| 一区二区在线免费视频| 中文字幕久热精品在线视频| 亚洲在线免费看| 亚洲精品一区久久久久久| 欧洲亚洲免费视频| 国产亚洲精品久久久久久牛牛| 欧美激情极品视频| 日本免费一区二区三区视频观看| 91色精品视频在线| 超碰91人人草人人干| 在线成人免费网站| 日韩免费看的电影电视剧大全| www.日本久久久久com.| 亚洲天堂一区二区三区| 日韩欧美在线视频| 亚洲激情自拍图| 亚洲精品97久久| 亚洲欧美一区二区三区在线| 久久精品中文字幕电影| 成人信息集中地欧美| 欧美裸体xxxxx| 日韩电影第一页| 91美女福利视频高清| 国产自摸综合网| 高跟丝袜一区二区三区| 欧美一级大片在线免费观看| 久久久噜久噜久久综合| 亚洲色图17p| 亚洲在线免费看| 97视频在线观看免费高清完整版在线观看| 亚洲欧美激情视频| 日韩va亚洲va欧洲va国产| 国语对白做受69| 欧美精品日韩三级| 欧美激情免费看| 亚洲精品日韩av| 91免费精品国偷自产在线| 日本国产欧美一区二区三区| 亚洲欧美另类人妖| 清纯唯美亚洲激情| 国产亚洲美女久久| 青草青草久热精品视频在线观看| 欧美天天综合色影久久精品| 欧美亚洲在线观看| 国内精品久久久久久影视8| 久久天天躁狠狠躁夜夜爽蜜月| 久久影视电视剧免费网站| 欧美精品做受xxx性少妇| 久久久噜久噜久久综合| 久久精品久久久久| 91精品国产91久久久久久不卡| 国产女同一区二区| 国产欧美精品在线| 亚洲综合色av| 亚洲最新av网址| 欧美激情影音先锋| 欧美成人免费播放| 亚洲欧美精品一区|