新手第一次Unity实战总结

前言

本次总结针对我的第一个Unity实战项目(TOWER DEFENSE),在创作过程中的一些分析和感悟以及对部分机制的探讨。

序曲

一个塔防游戏,重要的对象应该是防御塔和敌人,而机制无一例外都是基于消灭敌人防止其进入key point。

敌人

敌人因有的属性如下:
1.属于自己的基础血量,伤害值(不一定),移动速度,特殊能力(不一定)等。
2.一定的行动轨迹。
3.对key point造成影响

防御塔

防御塔有以下属性:
1.建造所需的价格,场地。
2.攻击范围,攻击方式,攻击伤害。
3.特殊能力

经过以上分析,我们便拥有了游戏设计的思路。

创作

场景的构建

1.场地
场地
在平面中以相同size的白方块作为放置防御塔的场地格,棕色连贯道路即为敌人行动轨迹。
2.出生点&key point
红色块为出生点,蓝色块为key point

防御塔素材

借助SIKI学院官方公众号获得了所需要的素材(不叫白嫖),详情可去siki学院官网 获取。

敌人基础属性

1.敌人用不同颜色,体型的小球代表,并创建一个管理机制在这里插入图片描述
在游戏开始自动生成敌人,代码如下

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

public class EnemySpawner : MonoBehaviour
{
   
    public static int CountEnemyAlive = 0;
    public Wave[] waves;
    public Transform START;
    public float waveRate = 3;

    void Start()
    {
   
        StartCoroutine(SpawnEnemy());
    }
    
    IEnumerator SpawnEnemy()
    {
   
        foreach(Wave wave in waves)
        {
   
            for(int i=0;i<wave.count;i++)
            {
   
                GameObject.Instantiate(wave.enemyPrefab, START.position, Quaternion.identity);
                if(i!=wave.count-1)
                yield return new WaitForSeconds(wave.rate);
            }
            while (CountEnemyAlive >0)
            {
   
                yield return 0;
            }
            yield return new WaitForSeconds(waveRate);
        }
    }
}

2.敌人移动通过路径点达成

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值