接口
接口名字都以I开头,以interface为关键字
比如
public interface IHero
接口
接口名字都以I开头,以interface为关键字
比如
public interface IHero
建议把多个对象放在一个单例里面调用,这样不会使代码凌乱
单例模板的制作
//单例模板的制作
public abstract class SingletontestToOne<T> : MonoBehaviour
where T : MonoBehaviour
{
private static T _One;
public static T One
{
get
{
return _One;
}
}
private void Awake()
{
_One = this as T;
}
//可以得出结论,单例模板和名字无关,只要后续名字都一致即可。于上面是否制作过单例也无关。
}
单例模式
生成
饿汉式单例
private static SingleTon _instance;
(按照ctrl+r+e可以直接封装get set方法)
public static Singleton Instance
{
get
{
return_instance;
}
}
private void Awake()
{
_instance=this;
}
NPC说话解决方案
多做几个话,然后使用随机数,这样NPC可以随机说话
为何LastProportion=oneItemProportion*moveCount;
为何不是+=
已经解决,老师忘记加了
(int)(xxx)取整
UI的宽度=原来的宽度+(每一个单元格长度+间隙)*(单元格数量-1)
scrollRect.onValueChanged.AddListener(PrintValue);//添加监听者
//水平滚动位置为0到1,0代表左侧。可以做成翻书,图鉴等功能。需要等分测算距离。
scrollRect.horizontalNormalizedPosition = 1;
Scroll rect 从代码里拿到引用的话需要从Content 和Viewport里面拿
拿到ContentRectTransform 方法
先定义一个RectTransform对象,使得他等于ScrollRect.Content.
拿UI的属性,需要从.RECT里面拿
1:Scroll Rect
MoveMent Type:滑动模式,Elastic一般作用于商店和背包
1:增加Grid Layout Group组件来排序物件
2:使用Griad Layout Group锁定物件大小时,无法通过物件直接调整大小
UI-TEXT 可以增加组件外边框-OUTLINE来提高清晰度
1:可以巧妙使用图层显示关闭-static来切换Panel页面
1:做动画时候,若产生位置不符合,可以调整锚点来调整产生位置。
2:点击Preview来取消动画播放模式
1:UI-Button属性--Transition可以选择用不同图片来显示按下时的变化。
1:doTween机制:若不存储动画,动画只执行一次,播放一次动画后销毁(为了节省资源)。
避免销毁的API:maskTween.SetAutokill(false);
2:Tween对象的Play方法只能播放一次(一次倒播),不能倒播。PlayForward可以无限次倒播。
3:Tween对象不能直接倒播,只有先正播才能倒播。
Tween tween = transform.DOLocalMoveX(300,0.5f)
动画的事件回调:
tween.OnComplete(function)
动画的缓动函数设置
tween.SetEase(Ease.InOutBounce)
动画循环次数
tween.SetLoops(-1, LoopType.Incremental)
(1)拖动文件夹等价于拖动 .unitypackage文件
(2)StreamingAssets文件夹中的内容打包时不会放入包中