今天也要直播魔法,求科学的!
欢迎来到小妖精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;
}
}