当前位置: 首页 > news >正文

云南餐饮网站建设html5网页源码

云南餐饮网站建设,html5网页源码,wordpress 后台栏目,xampp wordpress 太慢系列文章目录 第一章 2D二维地图绘制、人物移动、障碍检测 第二章 跟随人物二维动态地图绘制、自动寻径、小地图显示(人物红点显示) 文章目录 系列文章目录前言一、列计划1.1、目标1.2、步骤 二、使用步骤2.1、准备素材(图片)#xff1a;草坪、人物(熊猫)、障碍(石头)2.2、初…系列文章目录 第一章 2D二维地图绘制、人物移动、障碍检测 第二章 跟随人物二维动态地图绘制、自动寻径、小地图显示(人物红点显示) 文章目录 系列文章目录前言一、列计划1.1、目标1.2、步骤 二、使用步骤2.1、准备素材(图片)草坪、人物(熊猫)、障碍(石头)2.2、初始化布局(表格)边距设置为0无边框设置背景图(草坪)平铺拉满2.3、标记草坪、熊猫、石头的代码2.4、初始化二维地图数据初始化障碍物围墙初始化人物位置2.5、计算公共变量二维地图的行、列2.6、合并二维地图数据、人物位置数据渲染到页面2.7、设置全局键盘事件(在Body上添加)监听wasd按键事件w(上) s(下) a(左) d(右)、在事件里增加任务移动逻辑/增加边界逻辑、在事件里增加障碍检测逻辑 3、部分效果图总结 前言 复习JavaScript 事件有感心血来潮想做一个2D二维地图绘制、人物移动、障碍检测相关的单页面游戏。 技术栈JavaScript、Html、CSS 环境chrome浏览器 编辑器记事本Idea 一、列计划 1.1、目标 做一个2D二维地图绘制、人物移动、障碍检测相关的单页面游戏 1.2、步骤 准备素材(图片)草坪、人物(熊猫)、障碍(石头)初始化布局(表格)边距设置为0无边框设置背景图(草坪)平铺拉满标记草坪、熊猫、石头的代码初始化二维地图数据初始化障碍物围墙初始化人物位置计算公共变量二维地图的行、列合并二维地图数据、人物位置数据渲染到页面设置全局键盘事件(在Body上添加)监听wasd按键事件w(上) s(下) a(左) d(右)在事件里增加任务移动逻辑、增加边界逻辑在事件里增加障碍检测逻辑 二、使用步骤 2.1、准备素材(图片)草坪、人物(熊猫)、障碍(石头) 2.2、初始化布局(表格)边距设置为0无边框设置背景图(草坪)平铺拉满 设置table的IDmap1001 代表是编号1001的地图 styletable { border-collapse: collapse; padding: 0 ; background: url(../img/item/grass.png); width:100%;height:100% ; background-position: center; background-size:cover; background-repeat: no-repeat; }td { width: 100px; height: 100px; }tr { display: block; margin: -5px; }/stylebody onloadinit() onkeypresskeypress(event) table idmap1001 /table /body2.3、标记草坪、熊猫、石头的代码 scriptvar empty 0; //空地或草坪var stone 1; //石头的标记是1var panda 9; //熊猫的标记是9 /script 2.4、初始化二维地图数据初始化障碍物围墙初始化人物位置 script/*** 加载地图数据* 0 空地/草坪* 1 石头* 9 熊猫* type {number[]}*/var mapData [[ 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1] ,[ 1 , 0 , 1 , 0 , 0 , 0 , 0 , 1] ,[ 1 , 0 , 0 , 1 , 0 , 1 , 0 , 1] ,[ 1 , 0 , 0 , 0 , 0 , 1 , 0 , 1] ,[ 1 , 0 , 1 , 0 , 1 , 1 , 0 , 1] ,[ 1 , 0 , 1 , 0 , 0 , 0 , 0 , 1] ,[ 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1]]var initPoint [1,4]; //初始化熊猫的位置是 1,4 /script 2.5、计算公共变量二维地图的行、列 scriptvar row mapData.length; //地图的行var column mapData[0].length; //地图的列 /script 2.6、合并二维地图数据、人物位置数据渲染到页面 script/*** 合并二维地图数据、人物位置数据渲染到页面*/function init() {//二维数组里去初始化熊猫的位置mapData[initPoint[0]][initPoint[1]] pandaloadData(mapData);}/*** 渲染地图* param mapData*/function loadData(mapData) {// 获取地图对象var map document.getElementById(map1001);//渲染一行八列的数据var mapHTML ;for (var i 0; i row; i) {mapHTML tr;for (var j 0; j column; j) {if( mapData[i][j] 0 ){mapHTML td/td;} else if( mapData[i][j] 1 ){mapHTML tdimg src../img/item/stone.png styleheight: 90px; height: 90px; border-radius: 50%; /td;} else if( mapData[i][j] 9 ){mapHTML tdimg src../img/item/panda1.png styleheight: 90px; height: 90px; border-radius: 50%; /td;}}mapHTML /tr;}map.innerHTML mapHTML;} /scriptbody onloadinit() 2.7、设置全局键盘事件(在Body上添加)监听wasd按键事件w(上) s(下) a(左) d(右)、在事件里增加任务移动逻辑/增加边界逻辑、在事件里增加障碍检测逻辑 script/*** 监听wasd按键事件w(上) s(下) a(左) d(右)* param e*/var keypress function keypress(e){var keynum window.event ? e.keyCode : e.which;if( 119 keynum ) {var point initPoint;if( point[0] row - 1 ) {var xPoint initPoint[1];var yPoint initPoint[0] - 1;if( checkStone(yPoint,xPoint) ){console.log(碰撞到石头了停止动作)return}console.log(移动后的位置x: xPoint , y: yPoint )initPoint [yPoint,xPoint]operatePanda(point);console.log(向上)} else {console.log(超出地图范围了停止动作)}} else if( 97 keynum ) {var point initPoint;if( point[1] 0 ) {var xPoint initPoint[1] -1;var yPoint initPoint[0];if( checkStone(yPoint,xPoint) ){console.log(碰撞到石头了停止动作)return}console.log(移动后的位置x: xPoint , y: yPoint )initPoint [yPoint,xPoint]operatePanda(point);console.log(向左)} else {console.log(超出地图范围了停止动作)}} else if( 115 keynum ) {var point initPoint;if( point[0] row - 1 ) {var xPoint initPoint[1];var yPoint initPoint[0] 1;if( checkStone(yPoint,xPoint) ){console.log(碰撞到石头了停止动作)return}console.log(移动后的位置x: xPoint , y: yPoint )initPoint [yPoint,xPoint]operatePanda(point);console.log(向下)} else {console.log(超出地图范围了停止动作)}} else if( 100 keynum ) {var point initPoint;if( point[1] column -1 ) {var xPoint initPoint[1] 1;var yPoint initPoint[0];if( checkStone(yPoint,xPoint) ){console.log(碰撞到石头了停止动作)return}console.log(移动后的位置x: xPoint , y: yPoint )initPoint [yPoint,xPoint]operatePanda(point);console.log(向右)} else {console.log(超出地图范围了停止动作)}}}/*** 障碍检测可加多个障碍条件* param yPoint* param xPoint* returns {boolean}*/function checkStone(yPoint , xPoint ) {return mapData[yPoint][xPoint] stone;} /scriptbody onloadinit() onkeypresskeypress(event) 3、部分效果图 尝试走到右上角的位置初始化位置1,4目标值1,1 尝试走直线从左走到目标中途碰到石头障碍就走不动了此时上下左都有石头障碍都走不动只能向右走 向右走1格向下走2格向左走2格向上走一格向左走一格向上走一格抵达目标 总结 以上就是今天要讲的内容本文仅仅简单介绍了2D二维地图绘制、人物移动、障碍检测可以根据此开发出自动寻径避障、多障碍物绘制、NPC自动出现并移动、人物动画动作、多地图切换、装备仓库、装备效果等。例如推箱子、走迷宫、副本游戏、熊猫吃竹子等。
http://www.sczhlp.com/news/183098/

相关文章:

  • [P2201 数列编辑器 // HDU-4699 Editor] 题解
  • 部门网站建设管理报告阜阳网站建设
  • centos网络打流测试 - 指南
  • 一生一芯学习:基础设施(2)
  • 10月10号
  • 实验报告3(使用单链表简单实现图书管理系统)
  • 色91Av做爰网站陇南建设网站
  • 湖北随州市城乡建设官方网站报电子商务(网站建设与运营)
  • 网站建设全网营销上海装修公司口碑哪家好
  • 建设电子商务网站必须首先确定的是网站建设waocc
  • 沈阳专业做网站开发公司海报设计兼职平台
  • 北京网站建设排行榜如何解决WordPress强制跳转
  • 求手机网站网站制作公司茂名
  • 网站规范建设情况做博客网站
  • 免费tickle网站整站seoseo优化
  • 建设一个农家乐网站凡客诚品现在还有吗
  • 做海外网站推广淳化网站制作
  • 千岛湖网站建设贵州省铜仁市住房和城乡建设局网站
  • 响应式营销型网站建设重庆市建设工程信息网质量监督
  • 潮州网络推广宁波网站建设优化的公司排名
  • 金融门户网站建设做网站做什么赚钱
  • 甘肃省住房和城乡建设部网站首页网站关键词筛选
  • 西丽建设网站工信部网站信息查询
  • 网页上传 网站学习网站建设总结
  • 软文营销网站如何用模板建设网站
  • 模板建站常规流程自己做刷东西的网站
  • 医院网站php源码wordpress授权插件
  • 十大团购网站网站产品策划
  • 济南做外贸的网站公司建立装修网站设计
  • 网站的图片怎么制作保利集团网页设计作业