1.7
-
0.22
1.7
-
0.22
Color.Lerp(当前颜色,目标颜色,变化速度)
Mathf.Abs(x); //求x绝对值
WaitForSeconds(x); //等待x秒之后再执行下一步任务
yield return 0; //每次循环暂停一帧,相当于update
Vector3.MoveTowards( )
向某个位置以某个速度移动
Vector3.Distance( )
两个对象之间的距离
UI不需要做任何事件则删除EventSystem
Canvas设置为World Space,可以用Rect Tool(左上角第五个)修改画布大小
这个项目是入门里最难的一个了
if (Vector3.Distance(transform.position, weizhi1.position) < 0.05f//Vector3.Distance方法来判断,transform.position原物体的位置,weizhi1.position目标位置,< 0.05距离小于0.05
transform.Rotate(new Vector3(0,0,Time.deltaTime));
2333333,乱七八糟的circle
public float speed = 90; //表示每秒旋转90度
void Update()
{
transform.Rotate(new Vector3(0,0,speed * Time.deltaTime)
} //这里的Vector3(0,0,speed * Time.deltaTime )代表的是每秒按z轴旋转的度数
还可以参考 unity 脚本手册 transform.Rotate 函数 说明
另外 在Scene窗口如果 Circle 的坐标没有旋转 可能是坐标处于 Global (全局坐标)状态 在左上角更改为 Local(局部坐标)状态 就可以旋转了
unity2017 如果素材放在中文目录也是支持的,
有的版本不支持素材中文目录,导入素材时把素材放在英文目录
旋转不了的同学要仔细看呀,把C#文件拉进圆的Inspector下面进行控制的
Pin
StartPoint
SpawnPoint
GameManager
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GameManager : MonoBehaviour {
private Transform startPoint;
private Transform spawnPoint;
public GameObject pinPrefab;
// Use this for initialization
void Start () {
startPoint = GameObject.Find("StartPoint").transform;
spawnPoint = GameObject.Find("SpawnPoint").transform;
SpawnPin();
}
void SpawnPin()
{
GameObject.Instantiate(pinPrefab, spawnPoint.position, pinPrefab.transform.rotation);
}
}
0 0 90
o o o
RotateSelf
public
0 1.7 0
0 0 0
0.7 0.7 1
0.01
Scenes
Scripts
Prefabs
针头的Prefeb预制体
控制小球旋转
RotteSelf.cs脚本
public class RotateSelf : MonoBehaviour {
public float speed = 90;//小球旋转度数=90
void Update(){
transform.Rotate(new Vector3(0,0,-speed * Time.deltaTime));//应用Rotate方法控制小球旋转 ,让小球围绕z轴旋转。speed:逆时针旋转,-speed:顺时针旋转。
}
}