[Unity学习教程] 【unity之IMGUI实践】游戏玩法逻辑实现【四】

[复制链接]
查看833 | 回复0 | 2023-8-16 16:30:29 | 显示全部楼层 |阅读模式 来自 中国北京


‍个人主页:@元宇宙-秩沅
‍ hallo 欢迎 点赞 收藏⭐ 留言 加关注✅!
本文由 秩沅 原创
‍ 收录于专栏unityUI专题篇


抽象父类继承实现




  

前言





(A)常用关键API





(B)需求分析




(C)举动实现——小舆图和相机跟随






  • Target Texture 举动渲染
——————————————
___________________________
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. //-------------------------------------
  5. //—————————————————————————————————————
  6. //___________项目:     
  7. //___________功能:     地图相机跟随
  8. //___________创建者:_______秩沅_______
  9. //_____________________________________
  10. //-------------------------------------
  11. public class cameraFollow : MonoBehaviour
  12. {
  13.     public Transform  Tank;
  14.     private Vector3 offset;
  15.     public float heiht;
  16.     private float OffX;
  17.     private float offZ;
  18.     private void Start()
  19.     {
  20.         heiht = transform.position.y;
  21.    
  22.     }
  23.     private void LateUpdate()    //注意点1:相机相关逻辑存放点
  24.     {
  25.         if (Tank == null) return; //注意点2:为空判断
  26.         //只有相机的Z轴和X轴跟着Tank变化,y则是距离地面的高度
  27.         offset.x  = Tank.position.x;
  28.         offset.z  = Tank.position.z;
  29.         offset.y = heiht;
  30.         gameObject.transform.position = offset;
  31.       
  32.     }
  33. }
复制代码

(D)举动实现——捡起武器发射炮弹





‍️ 步调

1.靠近武器,碰撞检测
2.将武器位置于坦克发射位置重合
3.武器中封装了发射方法
4.发射方法中封装了炮弹实例化而且发射的逻辑
   坦克基类的封装
  [code]using System.Collections;using System.Collections.Generic;using UnityEngine;//-------------------------------------//—————————————————————————————————————//___________项目:       //___________功能: 坦克基类——会合子类雷同点//___________创建者:______秩沅______//___________________________________//-------------------------------------public abstract  class TankFather : MonoBehaviour{    //攻击和防御相关    public int attack;    public int defence;     public int nowBlood;    public int maxBlood;    //移动和转速相关    public int moveSpeed;    public int RotateSpeed;    public int HeadSpeed;    public Transform  Head;    //击败殊效    public GameObject diedEffect;      //受伤举动    public virtual  void Heart(TankFather other)    {        //当攻击力大于防御力时才生效        if (other.attack - defence > 0)        {            nowBlood -= (other.attack - defence);        }        if(nowBlood

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则