Unity3d实现双人网络坦克大战

本文介绍如何使用Unity3d实现双人在线的坦克大战游戏。首先展示了游戏效果预览,接着讲解了资源准备,包括使用NavMesh的坦克大战游戏资源。然后详细描述了实现过程,如创建NetworkManager,添加必要组件,为坦克和子弹配置NetworkIdentity和NetWorkTransform组件。此外,还提到了血条的制作和标签设定。最后,提供了涉及工厂模式和单例模式的代码片段,如Player.cs、Health.cs和Bullet.cs,并指出存在一些未解决的Bug。
摘要由CSDN通过智能技术生成
效果预览

https://pan.baidu.com/s/1w3RccGs7FueDopwZTaPrpA#list/path=%2F

资源准备

所需要的资源和上周的AI自动寻路一样: 使用NavMesh实现坦克大战游戏

过程
  1. 创建一个空对象,并命名为NetworkManager, 并添加NetWorkManager组件和NetWorkManagerHUD组件这里写图片描述

  2. 给坦克,子弹添加NetWorkIdentity组件和NetWorkTransform组件
    坦克
    这里写图片描述
    子弹
    这里写图片描述

  3. 将子弹和坦克注册到NetworkManager的NetWorkManaer组件中这里写图片描述

  4. 制作血条:分别是自己的血条和敌人的血条这里写图片描述
    这里还需要给血条加上PlayerHeath和EnemyHealth tag
代码部分

有很大问题的工厂模式和单例模式:(不要问我为什么有问题还要用,因为我懒,不想再写其他的了)
Factory.cs

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

public class Factory : MonoBehaviour {
    public GameObject bullet;
    public ParticleSystem bulletPs;
    public ParticleSystem tankPs;
    // Use this for initialization
    private Queue<GameObject> bullets = new Queue<GameObject>();
    private List<ParticleSystem> bulletPses = new List<ParticleSystem>();
    private List<ParticleSystem> tankPses = new List<ParticleSystem>();
    void Start () {

    }

    // Update is called once per frame
    void Update () {

    }
    public GameObject GetBullet()
    {
        GameObject b = null;
        Debug.Log(bullets.Count);
        if (bullets.C
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值