好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > html5 canvas-2.用canvas制作一個猜字母的小游戲

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

熱門標(biāo)簽:會聲會影怎樣做地圖標(biāo)注效果 電銷機(jī)器人視頻 搜狗星級酒店地圖標(biāo)注 高德地圖標(biāo)注錯誤怎么修改 地圖標(biāo)注自己去過的地方 平頂山電子地圖標(biāo)注怎么修改 洛陽市伊川縣地圖標(biāo)注中心官網(wǎng) 標(biāo)準(zhǔn)智能外呼系統(tǒng) 江蘇高頻外呼系統(tǒng)線路
今天我們要用canvas制作一個猜字母的小游戲,先來張效果圖。
 
游戲設(shè)計(jì)很簡單,系統(tǒng)會隨機(jī)從a-z的26個字母中選擇一個保存起來,你鍵盤輸入一個字母,系統(tǒng)會提示你正確字符比你當(dāng)前輸入字母小還是大,直到你輸入正確的字母游戲才結(jié)束。
下面介紹js代碼中需要用到的一些變量及其他們的含義,系統(tǒng)會在開始的時候初始化這些變量。
guesses:用戶猜字母的次數(shù);
message:幫助玩家如何玩游戲的說明;
letters:保存26個英文字母的數(shù)組;
today:當(dāng)前時間;
letterToGuess:系統(tǒng)選中的字母,也就是你需要猜中的字母;
higherOrLower:提示用戶當(dāng)前輸入的字母比答案大還是小;
lettersGuessed:用戶已經(jīng)猜過的字母;
gameOver:游戲是否結(jié)束。

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

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;

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

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

$(window).bind('keyup', eventKeyPressed);


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

function eventKeyPressed(e) {
//首先判斷游戲是否結(jié)束
if (!gameOver) {
//獲取輸入字母
var letterPressed = String.fromCharCode(e.keyCode);
//做小寫處理
letterPressed = letterPressed.toLowerCase();
//游戲次數(shù)加1
guesses++;
//把輸入字母保存到已猜字母數(shù)組
lettersGuessed.push(letterPressed);
//判斷輸入字母和答案是否一致,一致則游戲結(jié)束
if (letterPressed == letterToGuess) {
gameOver = true;
} else {
//獲取答案在字母數(shù)組中的位置
var letterIndex = letters.indexOf(letterToGuess);
//獲取輸入字母在字母數(shù)組中的位置
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();
}
}

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

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

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);
}
}

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

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

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

大家還是直接運(yùn)行demo,查看最終效果吧。demo下載地址:html5canvas.guessTheLetter.zip

標(biāo)簽:廣西 果洛 廣東 鄂爾多斯 松原 蚌埠 阿克蘇 常德

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《html5 canvas-2.用canvas制作一個猜字母的小游戲》,本文關(guān)鍵詞  html5,canvas-2.,用,canvas,制作,;如發(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 canvas-2.用canvas制作一個猜字母的小游戲》相關(guān)的同類信息!
  • 本頁收集關(guān)于html5 canvas-2.用canvas制作一個猜字母的小游戲的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 丁香综合五月| 久久碰人妻一区二区三区| chinese麻豆videos| 给美艳的丝袜长辈播种| 夜夜贪欢【高h】| 6080午夜乱理伦片| 李丽珍三级未删减版电影| 大炕上偷看性经历| 海角久久久精品无码中文| 看了下面流水的视频| 洮南市| 人与牲囗性恔配视频L| 国内揄拍国产精品| 美女被艹视频软件| 女生内裤上有黄色分泌物怎么办| 亚洲秘?AV无码一区二区qq群| 欧产?日产?国产精品视频| 国产黄色大片又色又爽| 久久婷婷国产麻豆91天堂| 学生粉嫩无码小泬在线潮喷 | 手机在线看永久AV片免费高潮| 娇喘连连翻云覆雨| 嫩草影院发布页| 国产精品探花一区二区三区在线| 99久久精品免费看电影| 美女脱了内裤打开腿让人桶网站o| 欧美日韩国产另类一区二区三区| 全文辣肉H短篇少妇| 老师说教室没人时可以c| ktv包厢打野战视频| 欧美日本韩国一区二区| 美女做爰A片毛片AAAA照片| 落翅女的黄昏在线完整版| 免费人成在线观看网站| 欧美最猛烈的床吻戏| 粗大禁伦亲女h苏雨溪| 欧美一区精品视频一二区| 我和闺蜜在ktv被调教| 柳岩挺大肚子现身妇产医院| 强行18分钟处破痛哭校花| 性ⅹxxxfreexxxx护士|