Unity3d之策略模式
来源:互联网 发布:办公软件的重要性 编辑:程序博客网 时间:2024/05/19 01:11
接触了个叫unity3d东西,我表示很兴奋,于是开始捣鼓。但是从哪里开始呢?于是去网上找了个妹纸的模型,导入unity,如下:
这个妹纸离我比较远,近视眼表示看不清楚某沟,于是,代码出来了,如下:
public class Player1 : MonoBehaviour { GameObject currentGameObject; void Start() { currentGameObject = this.gameObject; } void Update() { currentGameObject.transform.Translate(Vector3.back * Time.deltaTime); }}
既然都让妹纸向我靠近了了,为什么不再让他旋转到某个特定的角度呢,说不定还能看到什么奇特的部位,继续改代码,如下:
public class Player1 : MonoBehaviour { GameObject currentGameObject; void Start() { currentGameObject = this.gameObject; } void Update() { currentGameObject.transform.Translate(Vector3.back * Time.deltaTime); currentGameObject.transform.Rotate(Vector3.back); }}
真特么简单啊。
现在,我又有了个邪恶的想法,比如:让妹纸向我靠近的同时,某个部位放大....。代码如下:
public class Player1 : MonoBehaviour { GameObject currentGameObject; void Start() { currentGameObject = this.gameObject; } void Update() { currentGameObject.transform.Translate(Vector3.forward * Time.deltaTime * 10); currentGameObject.transform.localScale = currentGameObject.transform.localScale * 1.1f; }}
但是这里有个问题,如果我下次换一个模型,换成抠脚大汉怎么办?之前的代码是物体旋转+向我靠近,这不行,抠脚大汉应该要离我远点,于是我继续改代码,新加一个类,如下:
public class Player2 : MonoBehaviour { GameObject currentGameObject; void Start() { currentGameObject = this.gameObject; } void Update() { currentGameObject.transform.Translate(Vector3.forward * Time.deltaTime * 10); }}
这里就有一个问题:如果有不同的需求,就去不停的更改代码。而且代码直接耦合很深,这个时候,就轮到我们的策略模式出厂了。
未完待续
0 0
- Unity3d之策略模式
- Unity3d之策略模式
- Unity3d之策略模式
- Unity3d策略模式
- Unity3D 设计模式---策略模式
- 一、策略模式(Unity3d演示)
- 一、策略模式(Unity3d演示)
- 策略模式之我见
- 策略模式之我见
- 策略模式----之Comparator
- 提高班之策略模式
- 设计模式之策略
- java之策略模式
- 设计模式之策略
- 设计模式之策略
- GOF之策略模式
- js之策略模式
- TapJoy之策略模式
- xp_cmdshell 应用
- 递归执行子文件夹makefile模板
- 最后稳定冰盖消退 海水上升威胁增加
- 深入浅出Node.js
- 推荐12个非常不错而且免费的后台管理HTML模板
- Unity3d之策略模式
- IT实施推不动
- java开发中小技巧
- 支付宝接口,不要使用ip支付
- POJ 1061 青蛙的约会
- 删除神一样存在的文件
- MFB项目收获
- Struts2绑定Jquery EasyUI的Datagrid分页
- PHP技巧:提高PHP性能的50个技巧