Unity3D-C#脚本

  • 生成的脚本中,生成的Start()方法,进行游戏初始化,只执行一次。Update()方法,会重复执行,可以监听用户动作或者游戏状态。

  • 打印Log的两种方法:1.print(), 2.Debug.log();

  • 根据名称获取游戏对象: GameObject.Find(“objectName”)

    可以直接通过tansform.find("")获取本对象下的子对象。再通过GetComponent获取对象下的属性
    
  • 获取游戏对象中的游戏属性:GameObject.Find(“Image”).GetComponent();(需要先引入UI包,using UnityEngine.UI;)

  • 刚体间碰撞检测:

//必须一个游戏对象属于刚体才能发生碰撞,参数是碰撞到的刚体
    //刚体和刚体间
    void OnCollisionEnter2D(Collision2D coll)
    {
        print("刚体间碰撞:"+coll.gameObject.name);
    }
  • 刚体和物体间碰撞检测,标示不同物体用Tag
  //必须一个游戏对象属于刚体才能发生碰撞,碰撞器属性一定是 isTrigger 才能发生碰撞 
    //刚体和物体碰撞
    void OnTriggerEnter2D(Collider2D c)
    {
        if (c.tag=="aaa")
        {

        }
        print("刚体和游戏物体aaa碰撞:"+c.gameObject.name);
    }
  • 获取用户键盘输入(例如按下A键):
Input.GetKey(KeyCode.A) : GetKey:按下不放则一直触发
Input.GetKeyDown() : 键盘按下的那一次才会触发。
  • 代码控制Animator中参数的值
//定义一个Animator
private Animator animator;

void Start(){
    //获取Animator
    animator = GetComponent<Animator>();
}

void Update(){
    //修改参数的值
    animator.SetBool("name",true);
}
  • 检测当前动画状态,判断动画是否完成
//获取当前动画状态,用于判断动画是否结束
        AnimatorStateInfo info = animator.GetCurrentAnimatorStateInfo(0);

        //设置标志位
        if (info.normalizedTime > 1.0f && info.IsName(stateName))
        {
            animator.SetBool(parName, newState);
        }
  • 销毁对象
Destroy(this.gameObject);
  • 生成一个对象
    可用于使用预制体发射子弹
GameObject.Instantiate(bullet, transform.position, Quaternion.identity);
  • 屏幕坐标转化成世界坐标
Vector3 tempPosition = Camera.main.ScreenToWorldPoint(new Vector2(Screen.width, Screen.height));
  • 移动游戏对象
//将对象在坐标系中以某个方向移动
transform.Translate(Vector3.up * speed * Time.deltaTime);
//对象以某个速度运动。包括物理效果。
rigidbody2d.velocity = new Vector2(0,speed);
  • 给刚体添加力
rigidbody2d.AddForce(new Vector2(100, 0)); //向右施加力

持续更新。。。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值