小妖精的完美游戏教室——魔方塔防01,路径

  今天也要直播魔法,求科学的!

  欢迎来到小妖精Balous的完美游戏教室!

  现在呢,小妖精要教大家如何制作一个游戏,是不是很激动呢?小妖精现在也是很兴奋呀。废话不多说,我们直接进入正题。作为一个游戏,必须得有策划案,所以呢,小妖精就先简单叙述下这个游戏的策划吧~

  这是个传统的塔防游戏,玩家通过建造防御塔,升级防御塔来抵御怪物的进攻。咦?这个策划看上去很low啊。但是要做一个大型游戏,得先有好的技术对不对?我们就拿这个很low的游戏入手吧。因为小妖精是美术白痴啦,所以这个游戏的防御塔都是立方体,怪物都是圆,但你们都不是来学美术的对吗?既然这样,我们就用立方体跟圆来做这个游戏吧。

  首先,我们要给游戏取个名字,取什么名字好涅?嗯……既然防御塔都是立方体的话,那就叫做魔方塔防好了!项目名称也取好了,叫做CubeTD。

  那么,既然是第一课,就不讲太复杂的东西了。小妖精简单地介绍下如果实现路径吧。

  玩过塔防游戏的都知道,怪物都是按照固定路线前进的,当然,复杂的可能会有双路线,多路线,变化路线,玩家控制路线等等,但这些的基础都是单路线不是吗?所以这节课教大家怎样实现单路线。

  一条路径有起点,有终点,还包括中间很多拐点。所以说,只要把这些点都做出来,一个一个地按顺序连线,那么,一条路径就出现了!所以,抽象出来,一条路径就是若干个有顺序的点,其中第一个点能连接第二个点,第二个点能连接第三个点……这种结构是不是跟链表很像呢?于是乎,小妖精就用链表存了一条路径啦~

  源代码献上,希望大家喜欢游戏,喜欢编程!

//================================================================
//
//   Copyright (C) 2017
//   All Rights Reserved
//
//   Author:小妖精Balous
//
//================================================================

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

/// <summary>
/// 路径链表结点
/// </summary>
public class PathNode
{
  /// <summary>
  /// 路径链表,this结点
  /// </summary>
  public PathNode thisNode;

  /// <summary>
  /// 路径链表,next结点
  /// </summary>
  public PathNode nextNode;

  /// <summary>
  /// 设置路径结点
  /// </summary>
  /// <param name="node">next结点</param>
  public void SetPathNode(PathNode node)
  {
    thisNode = this;
    nextNode = node;
  }
}

原文地址:https://www.cnblogs.com/balous/p/6523532.html