国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > 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教程

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
亚洲电影视频在线| 本道综合精品| 热99re久久精品这里都是免费| 国产精品久久人| 国产二区在线播放| 国产国语**毛片高清视频| 国产激情在线| 在线中文字幕资源| 国产亚洲精品久久久网站好莱| 日本中文字幕在线播放| 国产日韩精品在线看| 精品推荐国产麻豆剧传媒| 亚洲社区在线| 黄网站在线观看高清免费| 国产一区精品| 在线中文字幕观看| 国产在线第一页| 国产经典自拍视频在线观看 | 午夜视频在线免费| 国内外激情在线| 国产视频1区| gogo在线高清视频| 国产一区二区影视| 亚洲激情丁香| 精品国产一区二区三区四区阿崩| 亚洲第一区视频| 91高清国产| 免费电影网站在线视频观看福利| 国产美女免费观看| av中文天堂在线| 99视频资源网| 超碰在线国产| 青娱乐在线视频观看| 精品国产丝袜高跟鞋| 国产免费电影网站入口| 国产福利小视频在线观看| 国产永久免费高清在线观看视频| 国产福利av网站| 国产三级视频在线看| 国产永久免费高清在线观看视频| 一本大道久久a久久精品| 国产对白叫床清晰在线播放| 国产亚洲精品久久久久久青梅| 男人天堂亚洲| 黄网站在线观看高清免费| 日本电影全部在线观看网站视频| 在线国产一级| 日本视频三区| 九九精品九九| 国产又色又爽又黄刺激在线视频| 亚洲精品视频在线免费| gogogogo高清视频在线| 精品一二三区视频| 国产私人尤物无码不卡| 国产欧美日韩专区| 国产小视频在线播放| 国产一级二级三级在线观看| 玖玖在线视频| 国产在线www| 国产娇喘精品一区二区三区图片| 91中文字幕| www.狠狠| 午夜av在线免费观看| 国产一卡2卡3卡4卡网站免费| 国产精品综合久久久久| 成人av小说网| 国产福利片在线| 碰草在线视频| 最近中文字幕av免费高清| 国产激情二区| 日本黄色免费网址| 国产欧美黑人| 久久av少妇| 国产成人亚洲综合小说区| 羞羞视频在线观看免费| 日本中文字幕高清视频| av在线电影观看| 中文字幕在线播放网址| 精品a在线观看| 欧美国产中文| 国产福利图片| 国产美女在线播放| 四虎成人精品在永久免费| 国产写真视频在线观看| jizz亚洲| 国产人成精品| 国产精品自拍在线观看| 日本高清不卡中文字幕 | 国产青青草在线| 欧美日韩一区二区三区在线播放 | 国产小视频在线观看| wwwww亚洲| 夜色资源网av在先锋网站观看| 中文字幕在线视频观看| 国产女王在线**视频 | www在线视频| 一本久中文高清| 国产三区视频在线观看| 国产在线观看a视频| 国产一卡2卡3卡免费网站| 中文字幕av免费| 国产视频1区| 国产三区四区在线观看| 国产麻豆麻豆| 麻豆国产视频| 精品999视频| 国产人成在线观看| 国产精品9区| 中文天堂av| 日本不卡1区2区3区| 青青草中文字幕| 国产在线三区| 成在线人视频免费视频| 国产一卡2卡3卡四卡网站| 18加网站在线| 精品乱码一区二区三四区视频| 国产二区三区四区| av免费在线播放| 免费一区二区三区视频狠狠| 欧美国产中文| 国产视频97| 99热国产在线| 超碰在线中文| 国产成人精品男人的天堂538| 91视频久色| 免费看黄视频网站| 中文字幕国产在线| 在线国产福利网站| 午夜视频在线观看网站午夜视频在线| 国产图片综合| wwww亚洲| 精品国产高清自在线一区二区三区| 香蕉视频在线观看网站| 最新黄网在线观看| 亚洲精品aaaa精品| 中文字幕在线看精品乱码| 国产无遮挡在线视频免费观看| 99福利在线| 午夜av在线播放| 日本不卡影院| 精品国产高清自在线一区二区三区 | 国产精品午夜久久久久久| 国产高清视频在线播放| 国产永久免费| av网址在线免费观看| 国产色a在线| 青青草视频在线免费观看| 国产高清在线| 国产深夜视频在线观看| 黄色片av在线| 秋霞av在线| 尤物在线精品视频| 国产精品久久久久久久牛牛| 欧美一级久久久久久久久大| 在线国产三级| 精品伦理一区二区| 91精品专区| 在线观看国产福利视频| 国产福利免费在线观看| 中文字幕第一页在线| 国产女人伦码一区二区三区不卡| 91中文在线| 在线视频中文字幕第一页| 国产精品国产三级国产试看| 午夜视频在线免费| 国产香蕉免费精品视频| 国产亚av手机在线观看| 国产亚洲精品久久久久久移动网络| 国产中文伊人| 尤物在线网址| 国产粉嫩一区二区三区在线观看| 国产高清av| av在线播放网| 国产在线激情视频| 中文字幕在线视频免费观看| 国产精品一区二三区| 国产一区在线视频观看| 国产美女视频网站| 国产经典av| 亚洲视频手机在线观看| 青青草在线播放| 国产精品一区二区三区视频网站 | 影音先锋中文字幕在线| 中文字幕4区| 久久精品蜜桃| 自拍av在线| baoyu777.永久免费视频| 欧美色欧美亚洲另类二区精品 | 国产精品乱码一区二区三区视频| ·天天天天操| 超碰免费97在线观看| 五月婷婷视频在线观看| 精品推荐蜜桃传媒| 超碰在线免费播放| 国产精品剧情一区二区三区| 天天插天天操| 国产黄在线观看免费观看不卡| 久热精品免费视频| 国产精品剧情一区二区三区 | 日本久久国产|