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

首頁 > 編程 > HTML > 正文

html5 canvas-2.用canvas制作一個猜字母的小游戲

2020-03-24 18:46:49
字體:
來源:轉載
供稿:網友
今天我們要用canvas制作一個猜字母的小游戲,先來張效果圖。

游戲設計很簡單,系統會隨機從a-z的26個字母中選擇一個保存起來,你鍵盤輸入一個字母,系統會提示你正確字符比你當前輸入字母小還是大,直到你輸入正確的字母游戲才結束。
下面介紹js代碼中需要用到的一些變量及其他們的含義,系統會在開始的時候初始化這些變量。
guesses:用戶猜字母的次數;
message:幫助玩家如何玩游戲的說明;
letters:保存26個英文字母的數組;
today:當前時間;
letterToGuess:系統選中的字母,也就是你需要猜中的字母;
higherOrLower:提示用戶當前輸入的字母比答案大還是小;
lettersGuessed:用戶已經猜過的字母;
gameOver:游戲是否結束。

復制代碼代碼如下:
var guesses = 0;
var message = "Guess The Letter From a (lower) to z (higher)";
var letters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
var today = new Date();
var letterToGuess = "";
var higherOrLower = "";
var lettersGuessed;
var gameOver = false;

下面我們介紹響應鍵盤彈起的事件,用來判斷用戶輸入的字母是否是正確答案:

復制代碼代碼如下:
$(window).bind('keyup', eventKeyPressed);


復制代碼代碼如下:
function eventKeyPressed(e) {
//首先判斷游戲是否結束
if (!gameOver) {
//獲取輸入字母
var letterPressed = String.fromCharCode(e.keyCode);
//做小寫處理
letterPressed = letterPressed.toLowerCase();
//游戲次數加1
guesses++;
//把輸入字母保存到已猜字母數組
lettersGuessed.push(letterPressed);
//判斷輸入字母和答案是否一致,一致則游戲結束
if (letterPressed == letterToGuess) {
gameOver = true;
} else {
//獲取答案在字母數組中的位置
var letterIndex = letters.indexOf(letterToGuess);
//獲取輸入字母在字母數組中的位置
var guessIndex = letters.indexOf(letterPressed);
Debugger.log(guessIndex);
//判斷大小
if (guessIndex 0) {
higherOrLower = "That is not a letter";
} else if (guessIndex letterIndex) {
higherOrLower = "Letter is Lower than you entered";
} else {
higherOrLower = "Letter is Higher than you entered";
}
}
//重繪canvas
drawScreen();
}
}

這里需要注意的一點是,當我們需要對canvas中的圖像做修改時,一般會重新繪制整個canvas對象。所以在我們每猜一次字母,都會執行drawScreen把整個canvas上的所有對象都繪制一遍。
下面我們看看drawScreen都干了什么。

復制代碼代碼如下:
function drawScreen() {
//background
context.fillStyle = '#ffffaa';
context.fillRect(0, 0, 500, 300);
//box
context.strokeStyle = '#000000';
context.strokeRect(5, 5, 490, 290);
context.textBaseLine = 'top';
//date
context.fillStyle = '#000000';
context.font = '10px_sans';
context.fillText(today, 150, 20);
//message
context.fillStyle = '#ff0000';
context.font = '14px_sans';
context.fillText(message, 125, 40);
//guesses
context.fillStyle = '#109910';
context.font = '16px_sans';
context.fillText('Guesses:' + guesses, 215, 60);
//higher or lower
context.fillStyle = '#000000';
context.font = '16px_sans';
context.fillText('Higher or Lower:' + higherOrLower, 150, 125);
//letters guessed
context.fillStyle = '#ff0000';
context.font = '16px_sans';
context.fillText('Letters Guessed:' + lettersGuessed.toString(), 10, 260);
if (gameOver) {
context.fillStyle = "#FF0000";
context.font = "40px _sans";
context.fillText("You Got It!", 150, 180);
}
}

代碼很簡單,就是繪制背景,還有文字信息。下面我們介紹導入圖像的功能,當我們點擊 Export Canvas Image 按鈕的時候,會打開一個新的頁面,顯示當前的圖像。注意toDataURL()方法,他會返回一個64位的png圖片數據。

復制代碼代碼如下:
$('#createImageData').click(function () {
window.open(theCanvas.toDataURL(), 'canvasImage', 'left=0,top=0,width=' + theCanvas.width + ',height=' + theCanvas.height + ',toolbar=0,resizab le=0');
});

大家還是直接運行demo,查看最終效果吧。demo下載地址:html5canvas.guessTheLetter.ziphtml教程

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产在线高清精品| 亚洲日韩中文字幕在线播放| 国产精品一区二区久久精品| 色婷婷综合成人| 日韩中文字幕免费看| 日韩av不卡电影| 国内伊人久久久久久网站视频| 日韩欧美成人免费视频| 国产精品免费一区| 亚洲精品视频播放| 亚洲欧美日韩第一区| 不卡伊人av在线播放| 欧亚精品在线观看| 一本色道久久88综合亚洲精品ⅰ| 色小说视频一区| 色噜噜狠狠色综合网图区| 欧美成人三级视频网站| 成人午夜在线视频一区| 最近2019中文字幕在线高清| 日韩中文字幕在线看| 国产综合久久久久久| 成人免费网站在线看| 91免费精品国偷自产在线| 欧美富婆性猛交| 亚洲最大成人在线| 日韩成人高清在线| 亚洲另类图片色| 亚洲国产中文字幕在线观看| 国产精品女视频| 91美女高潮出水| 在线电影av不卡网址| 久久久久免费视频| 色综合91久久精品中文字幕| 久久人人爽人人爽人人片亚洲| 91亚洲精品在线| 日韩精品极品视频免费观看| 国产精品大片wwwwww| 国产精品成人品| 黄色一区二区在线| 欧美性高潮床叫视频| 亚洲成人黄色网址| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产美女直播视频一区| 日韩在线观看免费| 精品无人国产偷自产在线| 欧美乱大交xxxxx另类电影| 欧美性xxxx| 亚洲图片在线综合| 国产精品久久婷婷六月丁香| 国产欧美日韩中文字幕| 国产999精品久久久影片官网| 亚洲国产成人av在线| 日韩激情视频在线| 热久久99这里有精品| 不卡av电影在线观看| 夜夜嗨av一区二区三区四区| 欧美日韩精品在线播放| 国产欧美一区二区白浆黑人| 亚洲一区二区三区毛片| 成人午夜小视频| 深夜福利一区二区| 色一情一乱一区二区| 热99精品只有里视频精品| 在线视频欧美日韩精品| 国产精品爽爽爽爽爽爽在线观看| 欧美国产高跟鞋裸体秀xxxhd| 日韩精品一二三四区| 亚洲精品国产精品自产a区红杏吧| 国产精品户外野外| 2019av中文字幕| 精品久久久久久久久久久久久久| 欧美黑人极品猛少妇色xxxxx| 亚洲国产成人精品电影| www.日韩不卡电影av| 色偷偷av亚洲男人的天堂| 久久精品视频一| 亚洲人成在线免费观看| 久久久久国产精品一区| 精品国产区一区二区三区在线观看| 日本欧美一级片| 日韩亚洲欧美中文高清在线| 亚洲久久久久久久久久| 亚洲va电影大全| 人人爽久久涩噜噜噜网站| 亚洲天堂av在线免费| 日韩在线欧美在线国产在线| 亚洲国产精品一区二区三区| 国产精品综合久久久| 国产成人精品久久二区二区91| 久久久999精品免费| 日韩美女在线观看一区| 久久精品亚洲国产| 91亚洲国产精品| 日韩电影中文 亚洲精品乱码| 97视频在线免费观看| 欧美最猛性xxxxx亚洲精品| 国产精品盗摄久久久| 日韩电影中文字幕av| 欧美性高潮在线| 在线播放精品一区二区三区| 欧美日韩中文在线观看| 亚洲自拍欧美色图| 6080yy精品一区二区三区| 日韩av网站大全| 国产日本欧美一区二区三区在线| 日韩一区二区久久久| 精品国产自在精品国产浪潮| 国产精品老牛影院在线观看| 亚洲一区二区久久久久久久| 欧美成人免费视频| 粗暴蹂躏中文一区二区三区| 欧美黄色片视频| 欧美日韩不卡合集视频| 欧美视频在线免费| 久久亚洲精品小早川怜子66| 国产不卡精品视男人的天堂| 国产日韩精品综合网站| 在线视频欧美日韩| 欧美激情一区二区久久久| 欧美成在线观看| 色综久久综合桃花网| 国产精品9999| 国产精品久久久| 日韩欧美亚洲国产一区| 日韩在线播放视频| 久久久久久尹人网香蕉| 爽爽爽爽爽爽爽成人免费观看| 国产福利精品av综合导导航| 久久影院免费观看| 欧美日韩在线观看视频小说| 亚洲va国产va天堂va久久| 国产视频久久久久| 成人亚洲激情网| 国产精品久久久久999| 国产精品亚洲美女av网站| 成人精品视频在线| 国产精品网址在线| 亚洲国语精品自产拍在线观看| 欧美一区亚洲一区| 亚洲成年人在线| 成人在线一区二区| 91探花福利精品国产自产在线| 日韩黄色av网站| 91热精品视频| 欧美大片在线看| 欧美黑人狂野猛交老妇| 亚洲电影在线看| 成人高h视频在线| 亚洲午夜精品视频| 欧洲成人午夜免费大片| 国产精品啪视频| 51精品国产黑色丝袜高跟鞋| 欧美大肥婆大肥bbbbb| 91国产视频在线播放| 亚洲国产精品成人精品| 亚洲成人中文字幕| 亚洲欧美日韩成人| 国产精品直播网红| 亚洲第一页在线| 欧美国产第二页| 国产精品视频不卡| 亚洲最新中文字幕| 在线一区二区日韩| 国内精品久久久久久久|