工厂模式在Unity中的简单应用

使用一个简单的小例子来说明Unity开发中如何使用工厂模式来获取精灵并且加载

1.创建个Unity的工程,起名叫FactoryDemo,并在Asset下创建相应文件夹

Sprite用来存放原图以及分割后的精灵,

2.Sprite里添加所需的图片,Number.

原图效果如下:

3. 对导入的Number修改Texture属性

设置如下

点击Sprite Editor,对贴图进行分割生成精灵

最后点击Slice切片,Sprite文件夹中的原图出现一个向右的小键头,点击后可以看到1-0 10张的精灵

4. 开始编写脚本实现功能,创建二个脚本,都挂载在Main Camera上

DynamicLoadTexture   这个脚本用来动态加载贴图,当键盘空格键按下时会动态的往Canvas下添加新物体显示阿拉伯数字

SpriteFactory  精灵工厂,供外部调用,提供一个阿拉伯数字返回Resources/Sprite下对应的精灵

5. 实现效果如下:

附上最终的源代码

https://files.cnblogs.com/files/fzxiaoyi/FactoryDemo.zip

原文地址:https://www.cnblogs.com/fzxiaoyi/p/8485420.html

时间: 2024-10-09 20:13:10

工厂模式在Unity中的简单应用的相关文章

在Unity中实现简单的伪时间同步

在Unity中实现简单的伪时间同步,只是读取数据库所在电脑的当前时间 代码如下: using UnityEngine; using System.Collections; using System.Runtime.InteropServices; using System.Data; using System.Data.SqlClient; public class ChangeTime { //Kernel32.dll在32位系统和64位系统有区别,64位系统中需要设置为以管理员身份运行 [D

大话设计模式C++版——工厂模式在COM中的典型应用

上篇<大话设计模式C++版--抽象工厂模式>中,我们拯救世界未遂,留下小小的遗憾,本篇中我们将给出一个解决方案--COM组件技术,同时也顺便扯扯工厂模式在COM组件技术中的应用. 工厂模式违背开放-封闭原则的根本原因在于对象的产生无法通过客户模块外的数据进行控制,如果我们能从xml.注册表.配置文件中写入一个类的名字,然后模块从中读出类名,并根据读出的类名创建对象,那不就和C#高大上的反射技术一样牛B哄哄了.非常幸运,微软的COM组件技术就提供了这么一个平台. 1.COM组件是神马 为了节约篇

抽象工厂模式在android中使用

抽象工厂模式(Abstract Factory) 抽象工厂模式是对象的创建模式,它是工厂方法模式的进一步延伸和拓展的结果.抽象工厂模式更加抽象化,更具一般性特点. 我们知道,工厂方法模式是针对单一的产品等级结构而产生的,而这里的抽象工厂模式则是针对多个产品等级结构的.当然,单一的产品等级结构也同样适用于抽象工厂模式的.下面为其具体的等级结构图说明: 从上面的结构示意图,可以看到抽象工厂模式中涉及到了多个等级结构的产品角色:同时,针对每一种产品等级结构,都有一种专门的工厂角色负责创建对应的产品,这

设计模式在cocos2d-x中的使用--简单工厂模式(Simple Factory)

什么是简单工厂模式? 从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类. 简单工厂模式在cocos2d-x中怎么用,我们通过下面的小例子来了解一下. 假如我们在开发一款类似魔兽的RPG游戏,在游戏中会出现很多种族的角色,如:人族.兽族. 这些种族一般都会定义为一个类,如果兽族Orc类,人族Human类. 兽族.人族两个类都同样属于种族,那么我们可以

设计模式--简单工厂模式之在springboot中使用简单工厂模式

1.前言: 不了解简单工厂模式请先移步:在商城中使用简单工厂.在这里主要是对springboot中使用简单工厂模式进行解析. 2.问题: 什么是简单工厂:它的实现方式是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例. 然而在Spring中,在启动容器对时候会通过beanFactory先创建初始化我们要用的类. 一个是要在使用的时候去创建一个产品类,一个是预先已经加载好了我们要使用的对象,那我们要如何解决这个问题呢? 3.场景:在一个商城系统中,用

设计模式之简单工厂模式Simple Factory(四创建型)

工厂模式简介. 工厂模式专门负责将大量有共同接口的类实例化 工厂模式可以动态决定将哪一个类实例化,不必事先知道每次要实例化哪一个类. 工厂模式有三种形态: 1.简单工厂模式Simple Factory,又称静态工厂方法模式 2.工厂方法模式Factory Method,又称多态性工厂模式 3.抽象工厂模式Abstract Factory,又称工具箱模式 2.什么是简单工厂模式 简单工厂模式是类的创建模式.是由一个工厂对象决定创建出哪一种产品类的实例,是不同的工厂方法模式的一个特殊实现.由一个工厂

终极版:由简单工厂模式,升级到抽象工厂模式(用到反射)

前面两个已经学习简单三层到简单工厂模式的变化,但是简单工厂模式还是有个缺点,就是简单工厂中集合了所有的实例的创建.也不是很好. 现在想到使用抽象工厂的方式来实现这个: 我们在程序集中加上下面的代码: <appSettings> <!--命名空间--> <add key="DALNameSpace" value="DAL"/> <!--程序集--> <add key="DALAssembly"

简单工厂模式 工厂模式 抽象工厂模式

其实这个三个C++的设计模式已经学习很长时间了,今晚才想起来要写这三个设计模式,为什么要用C++中的设计模式呢?for example,你已经会开车了,正着开,倒着开,转弯,这些都是开车基本的,但是你并没有很高的车技,并不会炫酷.漂移,就好像C++中的设计模式一样,在你学好C++的基础上,娴熟的应用出的新技能,能让你的车开的更好. 为什么要用简单工厂模式,记得上一次,我虽然敲完了代码,但是当别人突然问一句,你为什么要用简单工厂模式,我突然就愣住了,代码很简单,一看就懂了.重要的还是思想.专门定义

设计模式一:简单工厂模式

概念理解: 1. 解耦:一般通过增加一些抽象层,来实现 功能提供者和功能使用者 两者的解耦隔离.而如果想要扩展功能即增加功能,只需要添加相应的相应的新的功能类,修改中间的抽象类即可,并不用修改使用者部分的代码.并且功能提供者的代码可以复用.而且使得程序更容易理解. 简单工厂模式介绍 一.什么是简单工厂模式? 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个子类(这些子类继承  自一个父类或接口)的实例. 二.简单工厂模式包含的角色: 1.工厂角色(工厂类): 它负责创建所有