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

网站建设需求表格网络营销推广方法

网站建设需求表格,网络营销推广方法,毕设做系统与网站,建立视觉健康档案的主要意义在于本文是Unity3D贪吃蛇游戏从制作到部署的相关细节 项目开源代码#xff1a;https://github.com/zstar1003/3D_Snake 试玩链接#xff1a;http://xdxsb.top/Snake_Game_3D 效果预览#xff1a; 试玩链接中的内容会和该效果图略有不同#xff0c;后面会详细说明。 游戏规则 … 本文是Unity3D贪吃蛇游戏从制作到部署的相关细节 项目开源代码https://github.com/zstar1003/3D_Snake 试玩链接http://xdxsb.top/Snake_Game_3D 效果预览 试玩链接中的内容会和该效果图略有不同后面会详细说明。 游戏规则 经典贪吃蛇游戏蛇身随着吃食物的增加不断变长通过A/D或方向键←→控制方向蛇头撞在蛇身上或四周墙壁会导致游戏失败。 蛇身控制和碰撞检测 蛇身控制和碰撞检测的逻辑写在SnakeController.cs文件中。 蛇头运动的思路是将蛇头不断朝forward的方向前进前进速度等于速度数值x当前时间。同时通过一个list来记录蛇头运动的历史轨迹蛇身通过该轨迹进行运动。 为了区分延申出来的蛇身是初始蛇身还是新延申的蛇身对新延申的蛇身打上Block标签不进行区分则会导致刚开始碰撞即触发蛇头蛇身碰撞导致游戏结束。 完整代码 using System; using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEngine.SceneManagement;public class SnakeController : MonoBehaviour {// 设置public float moveSpeed 5f;public float steerSpeed 180f;public float bodySpeed 5f;public int Gap 10;// 预制体public GameObject bodyPrefab; //身体组件// 身体组件集合private ListGameObject _bodyParts new ListGameObject();private ListVector3 _positionHistory new ListVector3();//音乐控制器public AudioController audioController; private void Start(){addBodyPart();audioController GameObject.FindGameObjectWithTag(Audio).GetComponentAudioController();}private void Update(){// 向前移动transform.position transform.forward * moveSpeed * Time.deltaTime;// 方向操控float steerDirection Input.GetAxis(Horizontal); // 返回值从 -1 到 1transform.Rotate(Vector3.up * steerDirection * steerSpeed * Time.deltaTime);// 保存位置移动史_positionHistory.Insert(0, transform.position);// 移动身体组件int index 0;foreach (var body in _bodyParts){Vector3 point _positionHistory[Mathf.Clamp(index * Gap, 0, _positionHistory.Count - 1)];// 让贪吃蛇的身体组件沿着头部的移动轨迹运动Vector3 moveDirection point - body.transform.position;body.transform.position moveDirection * bodySpeed * Time.deltaTime;// 让身体组件朝向头部移动的方向 body.transform.LookAt(point);index;}}// 蛇身延长private void addBodyPart(){GameObject body Instantiate(bodyPrefab, new Vector3(0, transform.position.y, 0), Quaternion.identity);_bodyParts.Add(body);}// 后续添加的body打上Block标签private void addBodyPart_Block(){GameObject body Instantiate(bodyPrefab, new Vector3(0, _bodyParts.Last().transform.position.y, 0), Quaternion.identity);body.tag Block;_bodyParts.Add(body);}//触发检测private void OnTriggerEnter(Collider other){if (other.tag Food){ //必须先删除否则会导致多次触发Destroy(other.gameObject);addBodyPart_Block();GameObject.Find(SpawnPoint).GetComponentSpawnItem().SpawnItems();audioController.PlaySfx(audioController.eat);}else if (other.tag Block){SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex 1);}} }食物旋转 控制食物旋转比较简单在update中加入Rotate即可。 Food.cs using System.Collections; using System.Collections.Generic; using UnityEngine;public class Food : MonoBehaviour {void Start(){}void Update(){//旋转transform.Rotate(Vector3.up);} }食物随机生成 食物随机生成我并没有采用随机数的方式三维场景容易出现问题。因此这里在场景中添加了6个食物生成的点位当食物被触发之后在随机的一个点位上生成新的食物。 SpawnItem.cs using System.Collections; using System.Collections.Generic; using UnityEngine;public class SpawnItem : MonoBehaviour {public Transform[] SpawnPoints;public float spawnTime 2.5f;public GameObject Items;void Start(){}void Update(){}public void SpawnItems(){int spawnIndex Random.Range(0, SpawnPoints.Length);Instantiate(Items, SpawnPoints[spawnIndex].position, SpawnPoints[spawnIndex].rotation);} }场景切换 这里对于游戏开始界面和结束界面分别用不同的场景进行隔离切换时只需一行代码 SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex 1);这里的Index为打包时场景的序号顺序。 本地WebGL测试 使用WebGL打包之后会得到3个文件夹和一个index.html文件直接打开index.html会报错需要使用服务器方式去运行。 首先在win10上配置服务器相关组件参考之前的博文【实用技巧】Win10搭建局域网FTP服务器。 之后在打包的文件夹下新建一个文件web.config输入以下内容 ?xml version1.0 encodingutf-8? !--有关如何配置 ASP.NET 应用程序的详细信息请访问https://go.microsoft.com/fwlink/?LinkId169433 -- configuration system.webServerhttpProtocol!-- 允许跨域配置 --customHeadersadd nameAccess-Control-Allow-Origin value* /add nameAccess-Control-Allow-Headers valueX-Requested-With,Content-Type,Authorization /add nameAccess-Control-Allow-Methods valueGET, POST, PUT, DELETE,OPTIONS /add nameAccess-Control-Allow-Credentials valuetrue //customHeaders/httpProtocolstaticContentremove fileExtension.mem / remove fileExtension.data / remove fileExtension.unity3d / remove fileExtension.jsbr / remove fileExtension.membr / remove fileExtension.databr / remove fileExtension.unity3dbr / remove fileExtension.jsgz / remove fileExtension.memgz / remove fileExtension.datagz / remove fileExtension.unity3dgz / remove fileExtension.json / remove fileExtension.unityweb / mimeMap fileExtension.mem mimeTypeapplication/octet-stream / mimeMap fileExtension.data mimeTypeapplication/octet-stream / mimeMap fileExtension.unity3d mimeTypeapplication/octet-stream / mimeMap fileExtension.jsbr mimeTypeapplication/octet-stream / mimeMap fileExtension.membr mimeTypeapplication/octet-stream / mimeMap fileExtension.databr mimeTypeapplication/octet-stream / mimeMap fileExtension.unity3dbr mimeTypeapplication/octet-stream / mimeMap fileExtension.jsgz mimeTypeapplication/x-javascript; charsetUTF-8 / mimeMap fileExtension.memgz mimeTypeapplication/octet-stream / mimeMap fileExtension.datagz mimeTypeapplication/octet-stream / mimeMap fileExtension.unity3dgz mimeTypeapplication/octet-stream / mimeMap fileExtension.json mimeTypeapplication/json; charsetUTF-8 / mimeMap fileExtension.unityweb mimeTypeapplication/octet-stream / /staticContent/system.webServer /configuration之后在iis中新建一个http服务器选择一个不被占用的端口我这里选择8080端口。 开启网站后在浏览器输入http://localhost:8080/即可访问测试。 Github部署 Github部署非常容易新建一个仓库将打包出的内容直接上传。 然后在Settings/Pages选择main分支点击Save过几分钟就会在上方出现访问网址。 遗留问题打包前后测试不一致 目前该项目在untiy运行测试时正常 但打包出webgl或exe时却出现蛇身分离的情况看了一些打包时的选项仍未解决该问题有了解这一问题的读者欢迎在评论区交流。
http://www.zqtcl.cn/news/98378/

相关文章:

  • 盱眙网站建设棋牌软件定制开发
  • struts2 做的网站南京做网站优化
  • 网站设计的安全尺寸wordpress qqoq主题
  • 网站建设500错误代码网站文章超链接怎么做
  • 网站建设尺寸凡科建站弊端
  • 企业网站建设模板多少钱在哪里建网站免费
  • 盐城网站建设咨询优秀vi设计
  • 网站里面内外链接如何做北京pk10网站建设
  • 网站布局策划的流程百度知道入口
  • 个人网站设计毕业设计论文上海百度seo优化
  • 展台设计网站都有哪些拓者设计吧手机版
  • 河南省级建设主管部门网站免费推广平台哪个好
  • wordpress禁止自动升级seo实战密码怎么样
  • 福永网站建设公司如何利用个人nas做网站
  • 北京网站seo外包wordpress心情
  • 租用服务器一般是谁帮助维护网站安全网站如何看是哪家公司做的
  • 戴尔网站建设的特点开创者wordpress素材
  • 网站假设公司排名不用囤货
  • 有关网站建设合同织梦珠宝网站模板
  • 月牙河做网站公司电商网站开发成本
  • iis7建立网站注册公司地址虚拟地址怎么申请
  • 响应式网站开发的想要去国外网站买东西怎么做
  • 网站建设开发有什么好处百度网盘0基础网站开发教程
  • 桂林整站优化青岛网站制作哪里有
  • 织梦cms手机网站源码天天想你视频免费观看西瓜
  • 怎么做网站弄网盟邯郸超速云_网站建设
  • 桂阳做网站的软件定制开发外包wordpress电子商务插件
  • 10有免费建网站那些公司做网站比较厉害
  • 网站关键词优化推广旅游类网站开发开题报告范文
  • 官方网站营销拟在建项目信息网官网