Unity学习草稿

预设体

预设体能够使游戏对象和资源重复使用
相同的游戏对象可以使用同一个预设体来创建
对预设体进行修改后,所有的同一预设体游戏对象都会相应改变

要区分 预设体 与 预设体游戏对象!!!

在create栏把游戏对象拖到project栏即可创建预设体
预设体扩展名为.prefab

然后就可以把预设体拖到场景中创建预设体游戏对象

对预设体游戏对象可以单个的修改

//常用
用脚本在游戏时动态创建创建预设体游戏对象
先在create创建一个空gameobject
为此对象添加脚本:
public Gameobject playerPrefab;用来记录需要作为预设体的对象


fun里:
Instantiate(playerPrefab);//但是这种方法无法控制创建的位置


Vector3 pos = new Vector3();
pos.y = 0.5f;//让对象在地面之上
pos.x = Random.Range(-5f,5f);//使用随机数 -5.0~5.0之间
pos.z = Random.Range(-5f,5f);


float angel = Random.Range(0f,360f);//角度随机


Instantiate(playerPrefab,pos,Quatenion.AngelAxis(angel,Vector.up));
预设体   位置   角度
创建一个对象在pos位置,旋转角度为正y轴angel度
Instantiate返回值为Object,可以用转换为gameobject:
Gameobject g = Instantiate(...) as Gameobject;

p.AddComponent<TestSP>();//为其添加脚本


Class Inptu
用于获取用户事件,如按键、鼠标

一般写在Update里
每帧监听用户事件

if(Input.GetKeyDown(KeyCode.W));
当用户按下W时返回true,否则返回false,KeyCode.W是枚举
因为是在Update中,所以是每帧检查用户是否按下W
if(Input.GetKeyUp(KeyCode.Alpha1));
按下并松开 1 时
if(Input.GetKey(KeyCode.Q));
持续按下按钮时持续触发

但是应该使用:
if(Input.GetButton("Jump"))...

Input.GetMouseButtonDown(0);
参数0监听鼠标左键按下,1监听鼠标右键
同理GetMouseButtonUp与GetMouseButton对应GetKeyUp与GetKey

Input.GetMouseButton(0);单击鼠标左键,1为右键 2...

获取某个坐标轴上的一个方向
float h = Input.GetAxis("Horizontal");//当按下a时返回-1,d返回1
float v = Input.GetAxis("Vertical");//w、s同上



射线

虚拟射线能够检测所有碰撞到的物体
使用Physics类的Raycast方法实现射线碰撞检测功能

Vector3 target;//目标点
bool isOverMove=true;//是否到达目标
RaycastHit hitinfo = new RaycastHit();

punlic float speed;//速度

void Update(){
if(Input.GetMouseButtonDown(0)){
//创建一条从摄像机开始经过鼠标当前位置的射线
Ray ray = Camera.main.ScreenPoingToRay(Input.GetMousePosition);
//发射射线 是否发射碰撞 
if(Physics.Raycast(ray,out hitinfo)){//保存碰撞点信息到hitinfo
//Physics.RaycastAll()会返回射线经过的所有游戏对象
if(hitinfo.collider.name = "Plane"){//是否与地面发生碰撞
target=hitinfo;
target.y=0.5f;//因为碰撞点是地面,所以y为0
isOverMove=false;
}
}
}
//移动对象
MoveTo(target);
}

void MoveTo(Vector3 target){//移动
if(!isOverMove)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值