日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

js学习之地图生成

發布時間:2023/12/13 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js学习之地图生成 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先,上地圖圖片

接著,js,我們可以把圖片看成一塊塊32*32像素的

var i; var j;window.onload = function () {gamemap(15, 10, 10, "map.jpg"); }var mapimg = new Image(); var map = [[18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 55, 55, 18],[18, 18, 18, 17, 17, 17, 17, 17, 17, 17, 17, 17, 55, 55, 18],[18, 18, 17, 17, 17, 17, 18, 18, 17, 17, 17, 17, 55, 55, 18],[18, 17, 17, 17, 18, 18, 18, 18, 18, 17, 17, 55, 55, 17, 18],[18, 17, 17, 18, 22, 23, 23, 23, 24, 18, 17, 55, 55, 17, 18],[18, 17, 17, 18, 25, 28, 26, 79, 27, 18, 55, 55, 17, 17, 18],[18, 17, 17, 17, 17, 10, 11, 12, 18, 18, 55, 55, 17, 17, 18],[18, 18, 17, 17, 10, 16, 16, 16, 11, 55, 55, 17, 17, 17, 18],[18, 18, 17, 17, 77, 16, 16, 16, 16, 21, 21, 17, 17, 17, 18],[18, 18, 18, 18, 18, 18, 18, 18, 18, 55, 55, 18, 18, 18, 18] ]; //創建構成地圖的二維數組 function gamemap(x, y, num, url) { //長個數,寬個數,一行個數,圖片路徑var canvas = document.getElementById("map");var context = canvas.getContext("2d");mapimg.src = url;mapimg.onload = function () {context.fillRect(0, 0, x * 32, y * 32);//畫一個長480,寬320的矩形 for (i = 0; i < x; i++) {for (j = 0; j < y; j++) {drawTile(i * 32, j * 32, map[j][i], num);}}//循環調用繪制地圖的函數,直到畫完為止 } }function drawTile(x, y, type, num) {var canvas = document.getElementById("map");var context = canvas.getContext("2d");context.drawImage(mapimg, type % num * 32, parseInt(type / num) * 32, 32, 32, x, y, 32, 32); }

最后,頁面調用

<!DOCTYPE html> <html> <head><title>地圖生成</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" /><script type="text/javascript" src="map.js"></script> </head> <body><canvas id="map" width="480px" height="320px" style="border: 1px solid gray;"></canvas> </body> </html>

效果圖:

轉載于:https://www.cnblogs.com/margin-gu/p/5025675.html

總結

以上是生活随笔為你收集整理的js学习之地图生成的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。