学习日记#01
文章目录
现代c++
模板参数
模板
template <class T>
void Func(T value){}
模版特化
template <class T>
void Func(string value) {}
Unity
协程
协程嵌套
IEnumerator First() {
for (int i = 0; i < 10; ++i) {
Debug.Log("first %d",i);
yield return StartCoroutine(Second());
}
}
IEnumerator Second() {
for (int i = 0; i < 5; ++i) {
Debug.Log("second %d",i);
yield return null;
}
}
void Start() {
StatrCoroutine(First());
}
UGUI
Canvas
Rect Transform : Transform的超集
- Info : PosX,PosY:锚点到轴心点的距离
- 中间九个,聚点型锚点,设置位置一致,周围一圈,要设置固定位置时
- 锚框型锚点,自适应尺寸
- Anchors : 四叶草样式的四个点,Vector2
- Pivot : 轴心点,圈型
Canvas组件
-
Render Mode : 渲染模式,Screen space - Overlay 显示在最前面
-
Sort Order :渲染顺序
-
Target Display : 渲染目标屏幕
-
Render Mode:渲染模式 Screen Space - Camera 有摄像机距离了,可以做特效
-
Render Camera : 渲染摄像机
-
Plane Distance: 画布距离,能在摄像机和UI之间加东西
-
Sorting Layer
-
Render Mode: World Space 把UI当游戏3d物体去渲染,开启Rect Transform
Canvas Scaler(Script)
- UI Scale Mode :Constant Pixel Size 固定像素大小,默认
Scale With Screen Size 缩放参考分辨率,做适配
Constanct Physical Size 使用物理尺寸,很少用 - Reference Resolution : 参考分辨率
- Screen Match Mode : 匹配规则模式
- Match : 以宽为准和以高为准
Graphic Raycaster:射线检测
- Ignore Reversed Graphics : 区分正反面,做3dUI
- Blocking Objects : 忽略对象
- Blocking Mask : 忽略层
Text
文本
Text : 内部文本
Character : 文本属性
- Shift + Alt 快捷键T 调整ui大小
- Rich Text :富文本,接受标记语言
Paragraph
- 对齐
- Horizontal Overflow :水平溢出
- Vertical Overflow : 垂直溢出
- Best Fit : 字体最佳自适应,放大缩小字号
- Color
- Raycast Target : 射线检测
- Material :材质?
Outline:描边
Shadow : 阴影
Image:要求Texture type 为 Sprite2d UI
- Source Image:Texture
- Color
- Material
- Raycast Target
- Image Type : 图片填充模式
- Sliced 九宫切图 : 需要边框Texture中修改Sprite Editer 对话栏Diglog
- Fill Center :填充中心
- Preserve Aspect :等比例变换
- Set Native Size : 设置原始大小
- Filled 填充
- Fill Amount : 填充度 技能冷却,血条控制
- Tiled :平铺
- Simple : 使用较多
示例代码
Raw Image : 可以放纹理
- Texture
- Material
- UV Rect :xy影响平移,wh影响uv大小
Button
自带一个Text组件
- Interactable : 是否交互
- Transition : 按钮变换 None, Color Tint, Sprite Swap, Animation
- Normal Color:
- Hightligthed Color:
- Pressed Color : 按下颜色
- Disabled Color : 禁用颜色
*Navigation : 导航 Automatic 可键盘控制 Horizontal 水平键盘
Visualize : 连线显示
事件
private Button btn
public void Start() {
btn = transfom.Find("Button").GetComponent<Button>();
btn.onClick.AddListener(UnityAction callback);
}
// public delegate void UnityAction(void);
public void TestMethod() {
Debug.Log("按钮被点击");
}
Toggle : 切换键
- IsOn :
- Group: 连接Toggle Group
示例
toggle.onValueChanged.AddListener(OnToggle);
private void OnToggle(bool arg0) {
}
Toggle Group : 单选组
- Allow Switch Off :允许一个都不选
Dropdown : 下拉选项
常用背包筛选
- Template: 模板
- Value : 选项数组下标
示例
public Dropdown dropDown;
void Start() {
dropdown = Find("");
dropdown
}