-
。。。。。。
查看全部 -
游戏要素:1,逻辑;游戏的玩法,控制
2,显示;展示游戏内容,过程,逻辑的结果
查看全部 -
子节点和父节点查看全部
-
walkSpeed 一秒能前进多少的单位
transform.forward 面朝方向
Time.deltaTime 上一帧到这一帧经历的时间
查看全部 -
“Llddldlddfdess查看全部
-
有点深奥,标签一个
查看全部 -
// 要移动的物体
public GameObject center;
// 新的位置
Vector3 newPoint;
// 用来看看这次运动是否结束
private bool isOver = true;
void Update ()
{
if (Input.GetMouseButtonUp(0))
{
ClickOn(Input.mousePosition);
}
MoveTo(newPoint);
}
void ClickOn(Vector2 pos)
{
// 从摄像机生成一条射线
Ray ray = Camera.main.ScreenPointToRay(pos);
// 获取射线穿过的所有游戏对象
RaycastHit[] hits = Physics.RaycastAll(ray);
// 遍历射线穿过的所有对象
foreach (RaycastHit hit in hits)
{
// 如果当前穿过的对象的名字叫做Plane(名字根据自己设置)
if (hit.collider.name == "Plane")
{
newPoint = hit.point;
// 是因为我的球大小是1然后对应的y会比点击到的y要大0.5
newPoint.y = 0.5f;
isOver = false;
break;
}
}
}
// 这个是往指定方向移动的方法
private void MoveTo(Vector3 tar)
{
if(!isOver)
{
Vector3 offSet = tar - center.transform.position;
// 进行移动
center.transform.position += offSet.normalized * 5 * Time.deltaTime;
// 如果位置小于0.5就不动了
if(Vector3.Distance(tar, center.transform.position)<0.5f)
{
isOver = true;
center.transform.position = tar;
}
}
}
查看全部 -
本节课程总结
查看全部 -
游戏的要素
查看全部 -
这个场景在《课堂演示案例》——Assets——Objects——Environment——StructuralElements里,拖到新建工程就好了。
查看全部 -
Input.GetAxis()返回的值时-1到1之间,确定当前输入的是哪个方向,0表示没有输入
查看全部 -
脚本间调用
通过GetComponment()找到同一个物体的其他脚本;
通过GameObject.Find()找到其他物体;
查看全部 -
执行逻辑的顺序
场景启动时调用所有脚本的Awake();
调用所有脚本的Start();
每一帧调用Update();
调用完所有脚本的Update()后调用LateUpdate()(每一帧调一次);
调用FixUpdate()(与时间相关);
查看全部 -
逻辑,显示查看全部
-
游戏输入的步骤
查看全部
举报