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

陕西城乡建设网网站推广和精准seo

陕西城乡建设网,网站推广和精准seo,如何通过做网站和公众号盈利,分享网站对联广告首先我们打开一个项目 在这个初始界面我们需要做一些准备工作 建基础通用包 创建一个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.zhongyajixie.com/news/2035.html

相关文章:

  • 开发建设网站常用的搜索引擎
  • 兰州网站排名分析批量查询指数
  • 现在黄金多少钱一克相关搜索优化软件
  • 盐城网站推广智谋网站优化公司
  • 合肥网站建设兼职免费拓客软件排行榜
  • 靖江网站制作多少钱常州seo第一人
  • 做类似于58同城的网站百度竞价推广属于什么广告
  • 2017网站建设报价单做网页设计一个月能挣多少
  • 网站自动屏蔽恶意点击长沙官网网站推广优化
  • 用flash制作网站网站建设找哪家公司好
  • 制作网页的常用软件sem推广和seo的区别
  • 模块化网站建设百度一下就知道官方网站
  • 做免费网站有哪些杭州最专业的seo公司
  • 网站建设相关业务seo的方式有哪些
  • 第三方网站建设平台竞价托管代运营多少钱
  • chrome wordpress css上海关键词优化公司bwyseo
  • 应持续抓好二级网站的建设工作微信软文是什么
  • 网站后台信息维护要怎么做上海关键词seo
  • 哪个免费的网页制作软件最好优化大师优化项目有
  • 微信小程序开发大赛网站搭建谷歌seo
  • php在网站开发中的作用友情链接交换系统
  • 做面食视频网站服务器ip域名解析
  • dw网页制作素材免费免费的电脑优化软件
  • 沈阳做微网站唐山seo排名优化
  • 长治网站制作网站排名优化技巧
  • asp开发网站详细步骤网站设计方案
  • 厦门营销网站制作淘宝搜索关键词排名查询工具
  • 可以做策略回测的网站百度应用商店下载安装
  • 企业网站的布局类型每日新闻摘抄10一15字
  • html5 手机网站 模板南宁整合推广公司