1.在Assets文件下建立一个Gizmos文件夹,保存一张名叫gizmos01.tif图片
2.创建一个PathNode脚本用来设置父路点子路点,脚本代码如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PathNode : MonoBehaviour {//父路点public PathNode m_parent;//子路点public PathNode m_next;public void SetNext(PathNode node){if(m_next!=null){m_next.m_parent = null;}//设置当前路点的子路点和父路点m_next = node;node.m_parent = this;}private void OnDrawGizmos(){//设置当前路点的显示图片信息(游戏运行时不显示)Gizmos.DrawIcon(this.transform.position, "gizmos01.tif");}
}

3.在Assets文件下建立一个Editor(注意大小写)文件夹,用来存放设置编辑器菜单栏脚本.
4.在Editor文件夹下创建一个PathTool脚本,代码如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;public class PathTool : ScriptableObject
{static PathNode tool_parent = null;//设置菜单栏--父路点设置 快捷键Ctrl+q[MenuItem("PathTool/Set Parent %q")]static void SetParent(){//没有选择路点或者选择路点的个数大于1就直接退出if (!Selection.activeGameObject || Selection.GetTransforms(SelectionMode.Unfiltered).Length > 1){return;}//如果选择的物体标签是pathnodeif (Selection.activeGameObject.tag == "pathnode"){//就保存物体上的路点tool_parent = Selection.activeGameObject.GetComponent<PathNode>();}}[MenuItem("PathTool/Set Parent %q", true)]static bool ValidateSelection(){//如果没有选择物体或者tool_parent没有保存路点或者选择物体个数大于1,父路点设置不可用if (Selection.activeGameObject==null || Selection.activeGameObject.tag!="pathnode"){return false;}else{return true;}}//设置菜单栏--子路点菜单,快捷键Ctrl+w[MenuItem("PathTool/Set next %w")]static void SetNextNode(){if (!Selection.activeGameObject || Selection.GetTransforms(SelectionMode.Unfiltered).Length > 1 || tool_parent == null){return;}if (Selection.activeGameObject.tag == "pathnode"){tool_parent.SetNext(Selection.activeGameObject.GetComponent<PathNode>());tool_parent = null;}}//选择的物体不是路点时禁用[MenuItem("PathTool/Set next %w", true)]static bool ValidateSelection1(){//如果没有选择物体或者tool_parent没有保存路点或者选择物体个数大于1,父路点设置不可用if (Selection.activeGameObject == null || tool_parent == null || Selection.activeGameObject.tag!="pathnode"){return false;}else{return true;}}
}

具体操作步骤如下:
1.给所有路点设置标签为pathnode.
2.选择当前路点(例如:A),菜单栏PathTool—setParent.
3.选择下一个路点(例如:B),菜单栏PathTool—setNext.

塔防游戏路点---编辑器脚本设计相关推荐

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

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

  2. 如何高效设计游戏——塔防游戏设计方案

    前言 目前国内市场的游戏普遍为一些带有"快餐特色的RPG"游戏居多,并且这一类型的游戏的设计思路已经发展成为游戏开发者们"月经"一样的存在,有很多人" ...

  3. IOS塔防游戏《坦克对大炮》的开发设计记录

    IOS塔防游戏<坦克对大炮>的开发设计记录 引子 游戏已经在App Store上线几个月了,一直很想写点什么记录一下.真要写的时候,却又发现无从下笔没啥好写的.在2012年进入IOS,对于 ...

  4. 一起来设计“塔防游戏”吧

    2020年就要结束了! 我们的公众号也已经走过了一年.感谢大家的陪伴! 新的2021年 我们准备玩点不一样的东西--我们一起来设计一个游戏. 我们将在新的一年里, 不断地改进这个游戏. 不断地添加新的 ...

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

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

  6. HTML5另类塔防游戏 -『三国战线』发布

    关于本作 游戏介绍 本游戏是一款另类塔防游戏.本作以三国这段历史为题材,提供了从颍川之战到官渡之战,官渡之战到夷陵之战,夷陵之战到五丈原之战等15个关卡.在每个关卡中,你会控制一名三国武将与出现的敌军 ...

  7. HTML5另类塔防游戏 -《三国战线》公布

    关于本作 游戏介绍 本游戏是一款另类塔防游戏.本作以三国这段历史为题材,提供了从颍川之战到官渡之战.官渡之战到夷陵之战.夷陵之战到五丈原之战等15个关卡.在每一个关卡中,你会控制一名三国武将与出现的敌 ...

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

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

  9. (译)如何做一个塔防游戏(cocos2d 2012-8-17)

    PS:一直关注http://www.raywenderlich.com/这个网站,前几天看了他们8月17发的一个塔防游戏教程,试了一下感觉不错,搜了一下没发现没有译成中文的(不知道现在有没有),就自己 ...

最新文章

  1. React SPA学习(一)
  2. linux可以ping通,Linux可以Ping通但不能traceroute
  3. python数学函数_「分享」关于Python整理的常用数学函数整理
  4. 电脑内存占用莫名很高_CPU占用高,电脑莫名卡顿?万能的重启拯救不了就用这3招,妥了!...
  5. mysql 优化的一些小窍门
  6. 【报告分享】2020年中国企业直播服务市场研究报告.pdf(附下载链接)
  7. 每天5分钟玩转docker容器技术 pdf_stack 的优势 每天5分钟玩转 Docker 容器技术(113)...
  8. 用Python制作五子棋人机对弈(人工智障版和升级AI版)
  9. 李洪强iOS开发之XMPP
  10. 学习韩顺平java基础笔记 (自用)
  11. 一刀工具箱 - 图片转链接(图床)工具
  12. 深圳房价三连跌,国内的房地产价格或将持续下跌,该持现金过冬了
  13. 解读联想重组:终于裁员了
  14. 黑客小C小游戏(DEVC++)时不时会更新
  15. 【Java - L - 0704】- e - 二分查找
  16. SSM毕设项目基于网页的车辆检测站登录软件reo2q(java+VUE+Mybatis+Maven+Mysql)
  17. plotly绘制简单图形10--金字塔图
  18. Oracle 自定义数据类型Type
  19. (附源码)SSM网络故障报修系统 毕业设计 291146
  20. 最后3天!生信入门转录组和可视化学习捷径

热门文章

  1. java Excel导出功能之 固定列表格
  2. 爱奇艺,美团打车Java岗面试经历,这些问题我是真没抗住
  3. OpenFace人脸分类器训练
  4. c语言程序设计答案苏小红,C语言程序设计苏小红版答案[推荐阅读]
  5. 微信小程序 修改radio样式
  6. GitHub开源:支持100多种语言的OCR文字识别
  7. 2022年二级建造师建设工程法规及相关知识考试每日一练及答案
  8. 华为交换机s2700怎么重置_华为s2700交换机初次使用常用配置命令
  9. python统计英文单词个数_统计英文单词的个数的python代码 及 字符串分割
  10. 开发视频实时直播需要用到哪些技术?