当前位置: 首页 > news >正文

邢台123网站模板做淘宝网站销售怎么样

邢台123网站模板,做淘宝网站销售怎么样,在网上怎样卖货,网站如何做ssl认证首先我们打开一个项目 在这个初始界面我们需要做一些准备工作 建基础通用包 创建一个Plane 重置后 缩放100倍 加一个颜色 任务:使用【简单工厂模式】生成四种不同怪物 【按不同路径移动】 首先资源商店下载四个怪物模型 接下来我们选取四个怪物作为预制体并分别起名…

首先我们打开一个项目

在这个初始界面我们需要做一些准备工作

建基础通用包

创建一个Plane 重置后 缩放100倍 加一个颜色

任务:使用【简单工厂模式】生成四种不同怪物 【按不同路径移动】

首先资源商店下载四个怪物模型

接下来我们选取四个怪物作为预制体并分别起名为Monster1-4

都完全解压缩后放进预制体包在场景中删除

准备工作做完后    接下我们做【简单工厂模式】

简单工厂不属于23设计模式中的一项但是23设计模式中抽象工厂的基础

简单工厂最低需要三个类就可以完成加上Main类中调用也就四个

首先需要    【抽象产品类】

其次需要    【具体产品类】

再其次需要【生产工厂类】

最后我们通过Main继承Mono挂载再脚本上调用即可

实现:

1.创建脚本【抽象产品类】:

using UnityEngine;
public abstract class IMonster {
    public GameObject Monster {get;set;}
    public abstract void Load();
}

2.【具体产品类】:

using UnityEngine;
namespace Assets.Scripts.Product{
    class MonsterA : IMonster{
        public override void Load(){
            Monster = Resources.Load<GameObject>("Prefabs/monster1");
            if(Monster != null)
                Monster = GameObject.Instantiate(Monster,new Vector3(0,0,0),Quaternion.identity);
        }
    }
}

3.【生产工厂类】

using Assets.Scripts.Product;
namespace Assets.Scripts.SimpleFactory{
    public static class Factory{
        public static IMonster GetMonster(string type) {
            IMonster monster;
            switch (type) {
                case "monsterA":
                    monster = new MonsterA();
                    break;
                default:
                    monster = null;
                    break;
            }
            return monster;
        }
    }
}
4.【控制挂载类】

using Assets.Scripts.SimpleFactory;
using UnityEngine;
namespace Assets.Scripts{
    public class Main : MonoBehaviour{
        public IMonster monster;
        public string type;
        private void Start(){
            monster = Factory.GetMonster("monsterA");
            monster.Load();
        }
    }
}

我们回到unity场景中创建一个空物体改名Obj 重置位置 将Main脚本挂载

运行即可生成

接下来我们创建   多个【具体产品类】

当然也需要在其他类里添加 这就是简单工厂不好的地方 增一类 动三类

运行即可实现:

目前【简单工厂模式】已经完成

接下来我们将生成的怪物 按不同路径移动

原理:

【通过使小球(WayPoint)作为引导使怪物进行自动导航】

我们首先在unity场景中创建一个3D小球 改名为 WayPoint

将WayPoint放进预制体包 并在场景中移除

接下来通过预制体  拖拽至场景中放置不同路径

我们放大Plane

接下来创建一个空父物体代表移动路径 改名PathA

将所有WayPoint放进PathA下做子类

接下来创建移动脚本Move

将以下代码放进Move

using UnityEngine;
public class Move : MonoBehaviour{
    public Transform[] arr;
    public float speed = 1f;       
    public int idx = 0;   
    void Start(){
        Transform path = GameObject.Find("PathA").transform;
        if (path != null){
            arr = new Transform[path.childCount];
            for (int i = 0; i < arr.Length; i++)
                arr[i] = path.GetChild(i);
        }
        else
            Debug.LogError("查找路径点父物体失败 检查父物体名字");
    }
    private void Update(){
        Vector3 direction = arr[idx].position - transform.position;
        transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(direction), 0.1f);
        transform.Translate(Vector3.forward * speed);
        if (direction.sqrMagnitude < 1f){
            idx++;
            if (idx > arr.Length - 1)
                idx = 0;
        }
    }
}

将Move挂载到四个怪物预制体上

运行前

运行后

http://www.yayakq.cn/news/957502/

相关文章:

  • 丽江建设公司网站淘宝网站建设的目标是什么意思
  • 网站建设怎么做?网址申请域名
  • 微信投票网站开发wordpress备份 ftp
  • 西宁平台网站建设网站内容图片怎么做
  • 无锡网站建设制作设计电商小程序怎么做
  • 厦门网站建设680元机关网站建设方案
  • 河津网站建设网站建设泰安最新通知今天
  • 网站地图提交给百度网站设置可以访问
  • 文件注入网站石家庄最近新闻事件
  • ps做网站页面先后顺序国外金融网站设计欣赏
  • 饮食网站模板教育机构招聘
  • 深圳做营销网站公司哪家好网络设计报告3000
  • 石家庄企业建站网站开发需求网
  • 建网站的基本流程红色 网站
  • 网站按条件显示广告图片个人微信公众号如何推广
  • 宜兴做网站哪个好网站数据分析报表
  • 洛阳做公司网站做安卓开发要去看哪些网站
  • 科技部网站建设合同怎么做企业网站原型
  • 有哪些推广网站毕业设计做企业门户网站
  • 成都旅行社网站建设wordpress 主题 瀑布流
  • 免费做计算机题的网站优化模型的推广
  • 昭通网站开发开发一个软件需要什么过程
  • 建设学校网站策划书定制网站 多少钱
  • 新乡市网站建设中建招聘官网入口
  • 网站做签到功能新手做网站推荐
  • c语言 网站开发中国最大的装修网络平台
  • 网站域名注册需要什么手续微信公众号运营一年多少钱
  • 常德德山经开区建设局网站网站开发可行性研究报告
  • 微信公众号微网站建设网站内容页面怎么做的
  • dw做网站弊端10g免费空间申请