一.跟教程走把地面和障碍做好

至于寻路我对自带的自动寻路有印象,就用的那个组件

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using static UnityEngine.GraphicsBuffer;public class Find : MonoBehaviour
{public GameObject Endnote;public Transform TraFindDestination ;//寻路目标点public UnityEngine.AI.NavMeshAgent _Agent;//寻路组件// Start is called before the first frame updatevoid Start(){_Agent = this.GetComponent<UnityEngine.AI.NavMeshAgent>();Endnote = GameObject.Find("end");TraFindDestination = Endnote.transform;//Debug.Log("666");}// Update is called once per framevoid Update(){//Debug.Log("666");set findingif (_Agent && TraFindDestination) {//Debug.Log("7");_Agent.SetDestination(TraFindDestination.transform.position);}Vector3 dir = transform.position - TraFindDestination.position;if (dir.x == 0 && dir.z == 0){Destroy(Endnote);return;}}
}

就这一点代码我先是不太会整vector3判断,就用x,z了.后加了个摧毁目标(原来那个摧毁自己简直有问题)

然后就出问题了...

代码没问题,但渲染的时候没给障碍标明Navigation Static,导致敌人直接从上面走过去了.不过开始我以为是障碍不够高(当时墙只有0.1)又是调步高角度,又是调代理大小...

二.然后创建敌人生成器

把敌人一删,我发现生成敌人可以,但它们不动!

using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;public class Enemy_Spawner : MonoBehaviour
{public GameObject enemyPrefrb;//敌人预制体public Transform start;public float spawnImterval = 6f;//敌人生成时间间隔float cutDown;void Start(){cutDown = spawnImterval;}// Update is called once per framevoid Update(){cutDown -= Time.deltaTime;if (cutDown <= 0){cutDown = spawnImterval;SpawnEnemy();}}void SpawnEnemy() {Instantiate(enemyPrefrb, start.position, start.rotation);}}

当时觉得世界炸了...

这不该生成后自动运行脚本吗?翻视频教程,在csdn上查,找不到相关说明(太基础了),而且我有自动运行的印象,我又在Find里Debug.Log("666");(hhh)卡了一晚上;第二天,先检查了一遍,哦!

加速度定的0.0001...(可能是把创建过程的敌人删掉改的速度没保存)然后动的没生的快...把前面的挤走了...

三.摄像机控制

这我能跟教程一样?(bushi)教程加了个范围边界,我觉得应该保留游戏特色(),没加;不过整了个空格复位;

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Camera_move : MonoBehaviour
{public float moveSpeed = 5;float scrollSpeed = 600;float space = 10;Vector3 Origin;// Start is called before the first frame updatevoid Start(){Origin = transform.position;}// Update is called once per framevoid Update(){if (Input.GetKey(KeyCode.A) || Input.mousePosition.x < space){transform.position += Vector3.left * moveSpeed * Time.deltaTime;}if (Input.GetKey(KeyCode.D) || Input.mousePosition.x > Screen.width - space){transform.position += Vector3.right * moveSpeed * Time.deltaTime;}if (Input.GetKey(KeyCode.W) || Input.mousePosition.y > Screen.height - space){transform.position += Vector3.forward * moveSpeed * Time.deltaTime;}if (Input.GetKey(KeyCode.S) || Input.mousePosition.y < space){transform.position += Vector3.back * moveSpeed * Time.deltaTime;}float scroll = Input.GetAxis("Mouse ScrollWheel");if (scroll != 0) {transform.position += Vector3.up * scrollSpeed * scroll * Time.deltaTime;}if (Input.GetKeyDown(KeyCode.Space)){transform.position = Origin;}}
}

实在是整不明白怎么把transform全覆盖了,只用了position(lll¬ω¬)

第一次用unity b站轻松塔防游戏相关推荐

  1. 用Unity开发一款塔防游戏(一):攻击方设计

    大家好.偶尔想起了这个手把手教学的.但现已长满杂草的坑,还是来挖几铲子. 这一期的游戏是最常见的类型之一--塔防. 塔防游戏相信大家并不陌生,几个主要元素如下: 1.敌方士兵 2.我方防御塔 3.我方 ...

  2. 塔防游戏c语言源代码,用Unity开发一款塔防游戏(一):攻击方设计

    private void Update() { hpObj.rotation = mainCamera.rotation; //血条始终面向镜头 if (GameMain.instance.gameO ...

  3. unity制作一款塔防游戏

    文章目录 介绍 寻路系统 怪物生成器 制作3种初级炮台.3种升级炮台 设置炮台属性 选择炮台,添加监听事件 炮弹追踪攻击敌人 拖动鼠标实现相机视角转换 鼠标光标放在cube上变色 文字动画 介绍 关键 ...

  4. 如何在unity中制作塔防游戏

       塔防游戏非常流行,毫无疑问--没有什么比看着自己的防御消灭讨厌的侵略者更让人满足!在这两部分教程中,用unity来制作一个塔防游戏! 将会学习怎样...... 创建一波敌人 让它们跟随线路点 ...

  5. 【Unity小游戏】游戏开发案例,轻松打造一款塔防游戏!(下)

    欢迎来到如何在 Unity 中创建塔防游戏的第二部分.你正在Unity中制作一个塔防游戏,在第一部分结束时,你可以放置和升级怪物.你还有一个敌人攻击饼干. 然而,敌人不知道该面对哪条路!此外,这是攻击 ...

  6. unity塔防游戏怪物转向_Unity官方新手游戏项目推荐合集

    Unity官方新手游戏项目推荐合集 今天给同学们介绍一些Unity官方发布过的一些游戏项目,这些项目都简化了游戏开发的入门学习过程,可以快速地制作出游戏,适合新手入门体验,下面就带同学们看一看: Un ...

  7. unity塔防游戏怪物转向_玩一玩这款塔防游戏?

    关注上方蓝字获得更多内容 今日分享塔防游戏 塔防游戏,曾经也是风靡一时,非常受人喜欢的. 今天小皮分享的这款和保卫萝卜可以说是异曲同工,还是不错的. 该游戏拥有精美的画面,并且在形象设计上也制作的相当 ...

  8. unity塔防游戏,可以正常运行

    unity塔防游戏 游戏截图如下:(下载链接在文末) 点我下载资源 https://download.csdn.net/download/weixin_43474701/64828307

  9. unity轻松制作塔防游戏

    课程介绍:玩儿过塔防游戏吗?听说过<保卫萝卜>和<塔防战争>吗?本系列课程使用简单易懂的逻辑带你一起剖析这类游戏制作的过程.本案例完美展示了该类项目从搭建到完成的完整架构体系, ...

最新文章

  1. 你需要掌握的有关.NET DateTime类型的知识点和坑位 都在这里
  2. 号称能自动编程60年,“进化计算”究竟进化到哪一步了?
  3. 不错的jquery插件
  4. 健身环爆打老头环!超高难度击败boss,宫崎英高估计也想不到,代码+硬件教程已开源...
  5. linux 对象 调出r_【转】Linux - chown 中的 -R 参数
  6. 95-235-065-源码-task-SourceStreamTask
  7. matplotlib画图一行三个图
  8. 快速解决低版本Xcode不支持高版本iOS真机调试问题
  9. jvm 调优 2020.09.07
  10. Xray扫描器SQL注入检测:sqldet
  11. EXCEL抓取SQL查询数据
  12. 解决 fxp/composer-asset-plugin 包报错问题
  13. python使用phone实现手机号归属地查询
  14. Word文档乱码恢复操作----免费指导
  15. markdown使用
  16. 微信小程序总结(阶段第一次总结)
  17. 软考高项——【第一章-信息系统】超详细知识点
  18. wine下微信中文乱码修订
  19. 有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。
  20. 北京卓镭激光完成近亿元B轮融资,君联资本领投

热门文章

  1. 数据库表里有数据如何修改字段类型
  2. MX-6924F5 高通QCN9024/5GHz/4x4 MIMO/802.11a/n/ac/ax/WiFi6模块
  3. RK3568 LCD使用
  4. conda Solving environment: failed InvalidVersionSpecError: Invalid version spec: =2.7
  5. c盘html文件能删除吗,appdata是什么文件夹 C盘Appdata文件能不能删除?
  6. android手机模拟屏幕点击
  7. 15kw充电桩模块设计,源代码,原理图,pcb
  8. Python中的UI设计程序Designer配置
  9. docker部署jar包的几种方式
  10. 音视频系列--音频基本操作(音频裁剪,音频和音频混合,音频和视频混合)