Unity2017.3.1f1 API过时,求问如何修改?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity2017.3.1f1 API过时,求问如何修改?相关的知识,希望对你有一定的参考价值。
出错代码以及提示,但是不知道如何修改,按提示修改还是出错
修改Emission:之前使用直接修改ParticleSystem的emissionRate属性,现在要通过修改ParticleSystem.emission.rateOverTimeMultiplier(我这里修改的是RateOverTime 并且是Constant形式)。直接对其赋值,发现会报错 Cannot modify a value type returnvalue of `UnityEngine.ParticleSystem.emission’. Consider storing the value in atemporary variable之后根据提示发现需要使用反射,具体我的代码如下://part代表要修改射速相关属性的ParticleSystem对象
System.Type type = part.emission.GetType();
PropertyInfo property = type.GetProperty(“rateOverTImemultiplie”);
float f = part.emission.rateOverTimeMultiplier;
f += 10;
property.SetValue(part.emission,f,null
1
2
3
4
5
6
动态修改粒子发射颜色
修改StartColor:之前使用直接修改ParticleSystem对象的startColor属性(这里修改的是Alpha值),如下:
Color adjustColor = part.startColor;
adjustColor.a += 0.01f;
part.startColor = adjustColor;
1
2
3
注意:上面使用了一个中间变量来对alpha值进行增加之后,再将颜色赋给startColor,直接使用part.startColor.a+=0.01f是不行的,会有错误提示 Cannot modify a value type returnvalue of `UnityEngine.ParticleSystem.emission’. Consider storing the value in atemporary variable。 参考技术A 在unity的菜单栏,Help-Scripting reference,打开就是本版本的本地api文档,这是最实用的的,如果英文不好,可以去圣典看中文版,不过,圣典好久不更新了,好多api过时了 参考技术B Editor是用来给unity这个软件本身用的,比如自定义一些小工具,比如自动化打包。 运行时的UnityEngine,里面才是你游戏里面需要用到的功能,比如物理引擎、动画系统等等。 参考技术C 随着unity的各种更新,出现过时的问题是很常见的。遇到这种问题,如果一时间找不到解决的方法,可以到paws3d去看看。他们随时更新各种问题案例的
有在学习andengine的同学吗,求问下如何画圆形多边形和曲线
例子里有一个draw Line一个draw rectangle的,看了下那GLShape,发现只有Line, RectangularShape 这两个子类不知道圆形和多边形曲线怎么画呢?需要自己继承,还是有现成的我没有找到求指点,谢谢
你提到的问题,可能没有直接的 API 可以解喔,依照 AndEngine 的设计原理,是利用 OpenGL 的贴图机制(Texture)来实作,每一个图层都看成是一个Texture. 所以如果你想要画什麼东西上去,也是要贴图。你去了解一下 Open GL 的 API 大概就知道我在作什麼了 ... 不过 ... 相同的结果,仍然有两种解法是你可作到的。 (但我不确定方法 1. 找一个圆形的图放入 Asset 下透过 createFromAsset 建立 TextureRegion mCircleTextureRegion於是你可以宣告任意个 Sprite, 去吃 mCircleTextureRegion.方法 2.自己画好图,然後送入TextureRegion. 画的太多可能会跟 AndEngine 的 bug 冲到,我不确定,你要试试看。不过这条路肯定会比方法一作比较多工。希望有帮助。 参考技术A 楼上正解,楼主怎么都没有感谢一二呢? ...以上是关于Unity2017.3.1f1 API过时,求问如何修改?的主要内容,如果未能解决你的问题,请参考以下文章