校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 使用html5 canvas創建太空游戲的示例

使用html5 canvas創建太空游戲的示例

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

HTML5 Canvas 可以快速創建出有助于游戲開發的輕型圖片。 本部分說明如何使用 Canvas 創建將在網頁中運行的懷舊風格外太空飛行游戲。 此游戲的設計主要是為了展示使用 Canvas 功能開發 Web 游戲的基本原則。 此太空游戲的目標是,使您的宇宙飛船穿過分布著爆炸小行星的星域,安全返回基地。
本教程包含運行游戲的完整代碼。代碼是使用 HTML5 Canvas 和 JavaScript 編寫的,包含四個獨立的有注釋代碼示例。 每個示例都涉及一項關鍵的編程任務,這些任務是開發游戲的不同方面所必需的。 第四個代碼示例將所有任務組合在一起,創建了一個完整有效的游戲,您可以使用箭頭鍵移動飛船,穿越分布著爆炸紅色小行星的星域迷宮。 如果您的飛船撞到行星,則將被毀壞。 為了安全返回基地,您必須避開小行星,或在您撞上小行星之前將其炸毀。 將根據您移動飛船的次數和您發射的炸彈數來進行計分。
本主題包括一個獨立的有注釋代碼示例,為您演示如何使用 HTML5 Canvas 和 JavaScript 創建包含白色星星的隨機區域,以及繪制外形像飛盤一樣的橙綠相間的宇宙飛船。 此游戲圖像是使用像素創建的。 通過使用即時模式,Canvas 具有將像素直接放在屏幕上的能力。 此功能您能夠輕松地在需要的位置,以選擇的顏色繪制點、線和形狀。 此代碼示例將為您演示如何通過在形狀中組合數學貝塞爾曲線和顏色來創建宇宙飛船。 然后,它將說明如何使用由弧形組成的小圓圈來繪制星星。
此代碼示例包含以下任務來演示使用Canvas 繪制這些游戲元素的基本原則:
1.向網頁添加 Canvas 元素
2.創建黑色背景
3.在背景上繪制隨機星星
4.向背景添加宇宙飛船
代碼示例的末尾是討論材料,說明有關這些任務的設計和結構以及工作方式的詳細信息。
Canvas 代碼示例:

復制代碼
代碼如下:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
// This function is called on page load.
function canvasSpaceGame() {
// Get the canvas element.
canvas = document.getElementById("myCanvas");
// Make sure you got it.
if (canvas.getContext)
// If you have it, create a canvas user inteface element.
{
// Specify 2d canvas type.
ctx = canvas.getContext("2d");</p> <p>// Paint it black.
ctx.fillStyle = "black";
ctx.rect(0, 0, 300, 300);
ctx.fill();</p> <p>// Paint the starfield.
stars();</p> <p>// Draw space ship.
makeShip();
}
}</p> <p>// Paint a random starfield.</p> <p>
function stars() {</p> <p>// Draw 50 stars.
for (i = 0; i <= 50; i++) {
// Get random positions for stars.
var x = Math.floor(Math.random() * 299)
var y = Math.floor(Math.random() * 299)</p> <p>// Make the stars white
ctx.fillStyle = "white";</p> <p>// Give the ship some room.
if (x < 30 || y < 30) ctx.fillStyle = "black";</p> <p>// Draw an individual star.
ctx.beginPath();
ctx.arc(x, y, 3, 0, Math.PI * 2, true);
ctx.closePath();
ctx.fill();
}
}</p> <p>function makeShip() {</p> <p>// Draw saucer bottom.
ctx.beginPath();
ctx.moveTo(28.4, 16.9);
ctx.bezierCurveTo(28.4, 19.7, 22.9, 22.0, 16.0, 22.0);
ctx.bezierCurveTo(9.1, 22.0, 3.6, 19.7, 3.6, 16.9);
ctx.bezierCurveTo(3.6, 14.1, 9.1, 11.8, 16.0, 11.8);
ctx.bezierCurveTo(22.9, 11.8, 28.4, 14.1, 28.4, 16.9);
ctx.closePath();
ctx.fillStyle = "rgb(222, 103, 0)";
ctx.fill();</p> <p>// Draw saucer top.
ctx.beginPath();
ctx.moveTo(22.3, 12.0);
ctx.bezierCurveTo(22.3, 13.3, 19.4, 14.3, 15.9, 14.3);
ctx.bezierCurveTo(12.4, 14.3, 9.6, 13.3, 9.6, 12.0);
ctx.bezierCurveTo(9.6, 10.8, 12.4, 9.7, 15.9, 9.7);
ctx.bezierCurveTo(19.4, 9.7, 22.3, 10.8, 22.3, 12.0);
ctx.closePath();
ctx.fillStyle = "rgb(51, 190, 0)";
ctx.fill();
}
</script>
</head>
<body onload="canvasSpaceGame()">
<h1>
Canvas Space Game
</h1>
<canvas id="myCanvas" width="300" height="300">
</canvas>
</body>
</html>

Canvas 代碼示例討論

本節說明本代碼示例的設計和結構。 它為您講解代碼的不同部分,以及整合它們的方式。 Canvas 示例使用標準 HTML5 標頭 ,以便瀏覽器可以將它作為 HTML5 規格的一部分加以區別。

代碼分成兩個主要部分:
1.主體代碼
2.腳本代碼

主體代碼
在頁面加載時,主體標記使用 onload 函數調用 canvasSpaceGame 函數。 Canvas 標記是主體的一部分。 指定了 Canvas 初始寬度和高度,還指定了 ID 屬性。 必須使用 ID,才能將 canvas 元素添加到頁面的對象模型中。

腳本代碼
腳本代碼包括三個函數: canvasSpaceGame、stars 和 makeShip。 加載頁面時將調用 canvasSpaceGame 函數。 stars 和 makeShip 都是從 canvasSpaceGame 調用的。

canvasSpaceGame 函數
加載頁面時將調用此函數。 它通過在主體代碼中使用 Canvas 元素 ID 來獲取畫布, 然后獲取畫布的上下文,并準備好接受繪圖。 將上下文初始化為 2D 畫布后,使用 fillStyle、rect 和 fill 方法將畫布繪制為黑色。

stars 函數
此函數是從 canvasSpaceGame 調用的。 它使用 for loop 在二維平面上生成 50 個潛在的星星位置,然后使用 fillStyle 創建白色。 隨后,會進行一項檢查,確認 x,y 坐標是否與左上角過于靠近。 如果星星繪制得與左上角過于靠近,則會將 fillStyle 更改為黑色,使其不會妨礙宇宙飛船。 隨后,使用 arc 方法繪制每個星星并使用相應的填充顏色。
makeShip
此函數是從 canvasSpaceGame 調用的。 使用一系列的 beginPath、moveTo、bezierCurveTo、closePath、fillStyle 和 fill 方法,繪制一個簡單的宇宙飛船。
飛船是通過繪制兩個橢圓來創建的,一個橢圓在另一個的上面。 它首先在 Adobe Illustrator CS5 中繪制,然后使用 的 Ai2Canvas 插件將圖像導出到 Canvas。 生成的 Canvas 代碼已復制并粘貼到此示例的代碼中。

標簽:陜西 公主嶺 平涼 黃石 山南 南平 黃石 平頂山

巨人網絡通訊聲明:本文標題《使用html5 canvas創建太空游戲的示例》,本文關鍵詞  使用,html5,canvas,創建,太空,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用html5 canvas創建太空游戲的示例》相關的同類信息!
  • 本頁收集關于使用html5 canvas創建太空游戲的示例的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    日本乱码高清不卡字幕| 久久蜜臀精品av| 精品播放一区二区| 亚洲精品视频自拍| 国产成人夜色高潮福利影视| 欧美中文字幕亚洲一区二区va在线 | 精品国产一二三区| 一区二区激情小说| 99久免费精品视频在线观看 | 一本到不卡精品视频在线观看 | 欧美乱妇23p| 成人欧美一区二区三区黑人麻豆 | 亚洲成在人线免费| 91麻豆精东视频| 国产精品天天摸av网| 国产一区二区三区久久悠悠色av| 欧美日韩一卡二卡| 一区二区在线观看av| caoporen国产精品视频| 久久久久久久久岛国免费| 日韩av高清在线观看| 欧美三级在线播放| 亚洲综合男人的天堂| 色婷婷国产精品| 亚洲欧美国产高清| 色婷婷激情综合| 一区二区三区四区乱视频| 成人av在线一区二区三区| 国产亚洲欧美在线| 国产精品一区二区三区四区| 精品国产亚洲一区二区三区在线观看| 天天色图综合网| 91精品国产综合久久婷婷香蕉| 亚洲一区二区成人在线观看| 欧美色手机在线观看| 樱花影视一区二区| 欧美日韩日日骚| 日韩影视精彩在线| 欧美mv和日韩mv的网站| 经典三级在线一区| 国产欧美一区二区三区网站 | 国产精品久久久久久久久免费桃花| 成人av在线一区二区| 国产精品激情偷乱一区二区∴| 福利一区二区在线观看| 国产精品高潮呻吟久久| 色综合天天综合给合国产| 亚洲一区二三区| 欧美精三区欧美精三区| 蜜桃av一区二区在线观看| 久久久久久久免费视频了| 不卡的av电影| 亚洲午夜三级在线| 欧美一区二区高清| 国产激情一区二区三区桃花岛亚洲| 国产精品国产a| 欧美电影在哪看比较好| 国产精品系列在线播放| 亚洲人精品一区| 日韩一区国产二区欧美三区| 国产高清精品网站| 亚洲精品v日韩精品| 日韩精品一区二区在线观看| 成人免费毛片aaaaa**| 亚洲国产成人porn| 久久精品欧美日韩| 欧美在线观看一区二区| 蜜桃91丨九色丨蝌蚪91桃色| 国产精品拍天天在线| 91精品国产一区二区三区蜜臀| 国产一区二区精品久久| 亚洲专区一二三| 国产欧美日韩在线视频| 6080国产精品一区二区| 99re亚洲国产精品| 麻豆一区二区99久久久久| 亚洲欧美电影院| 久久日韩粉嫩一区二区三区| 欧美日韩中文一区| 成人av网站在线观看免费| 日韩成人伦理电影在线观看| 国产精品久久久久精k8| 精品国产免费久久| 欧美色精品在线视频| av在线不卡网| 国产一区二区三区电影在线观看 | 欧美日韩精品欧美日韩精品一 | 高清在线不卡av| 日本午夜精品一区二区三区电影 | 欧美日韩久久久一区| 成人精品视频.| 黑人精品欧美一区二区蜜桃| 亚洲一区二区三区美女| 亚洲人123区| 国产亲近乱来精品视频| 精品乱人伦一区二区三区| 欧美系列亚洲系列| 91福利在线观看| 91在线无精精品入口| 大胆亚洲人体视频| 日本乱码高清不卡字幕| 成人黄页在线观看| 国产99久久久精品| 国产99久久久国产精品潘金网站| 久久精品国产一区二区三| 五月婷婷久久丁香| 亚洲福利国产精品| 日韩在线一二三区| 青青草国产成人99久久| 午夜国产精品一区| 亚洲mv在线观看| 丝瓜av网站精品一区二区| 亚洲午夜精品在线| 天堂蜜桃一区二区三区| 亚洲高清视频在线| 日韩中文字幕av电影| 男女视频一区二区| 久久精品国产在热久久| 激情综合网激情| 粗大黑人巨茎大战欧美成人| 国产91精品精华液一区二区三区 | 欧美一级在线免费| 欧美一区二区成人| 久久色.com| 国产日本欧洲亚洲| 亚洲精品大片www| 午夜精品福利一区二区蜜股av| 日韩成人av影视| 国产一区二区在线看| 国产成人超碰人人澡人人澡| 成人激情黄色小说| 在线观看一区二区视频| 欧美丰满一区二区免费视频 | 欧美日韩亚洲不卡| 日韩免费看的电影| 国产精品毛片久久久久久| 亚洲激情自拍视频| 免费视频最近日韩| 成人综合婷婷国产精品久久 | 91香蕉视频黄| 4438x亚洲最大成人网| 26uuu久久天堂性欧美| 国产精品久久久久久久久免费樱桃| 玉足女爽爽91| 精品一区二区久久久| 99国产精品国产精品毛片| 欧美日韩中文另类| 日本一区二区三区高清不卡 | 综合在线观看色| 美日韩黄色大片| 99久久精品久久久久久清纯| 欧美日韩国产综合草草| 国产目拍亚洲精品99久久精品| 亚洲综合成人在线| 国产精品资源网站| 欧美日韩一区在线观看| 久久久精品人体av艺术| 亚洲h精品动漫在线观看| 成人性生交大片免费看中文| 欧美日韩成人激情| 日韩三级高清在线| 日韩电影一区二区三区四区| 国产不卡视频一区二区三区| 亚洲在线免费播放| 久久国产精品免费| 欧美在线看片a免费观看| 国产亚洲欧美一级| 免费观看在线综合| 欧美精品自拍偷拍动漫精品| 国产精品午夜在线| 秋霞影院一区二区| 在线观看成人小视频| 国产精品色婷婷| 韩国毛片一区二区三区| 欧美巨大另类极品videosbest| 国产精品久久三区| 国产精品亚洲午夜一区二区三区 | 五月天视频一区| 91丨九色丨黑人外教| 欧美国产一区二区在线观看| 秋霞电影网一区二区| 欧美日韩国产在线播放网站| 亚洲精品中文在线观看| 91亚洲精品一区二区乱码| 国产日韩精品久久久| 国模一区二区三区白浆| 日韩一二三四区| 日本中文字幕不卡| 欧美一区二区在线视频| 亚洲人成网站色在线观看| 99re在线视频这里只有精品| 国产精品乱码一区二区三区软件| 国产九色sp调教91| 国产婷婷色一区二区三区| 精品一区二区在线看| 久久一夜天堂av一区二区三区| 韩国三级在线一区| 久久精品在线观看| www.欧美精品一二区| 亚洲天堂福利av|