• U3D 一些基础注意事项


    上up下down左left右right
    移动(需要建立全局变量 最好使用 public float speed=1 使用public可以在u3d页面手动调节 speed的值,调控位置的时候要使用transform)
    transform.Translate(Vector3.right*speed*Time.deltaTime);

    要调试UI内添加的控件时要引用
    using UnityEngine.UI;

    通过游戏物体的名称进行获取(GameObject 大写为获取游戏对象 小写为当前游戏对象)
    var r = GameObject.Find("renwu");

    获取通过UI添加的物体时 (也可以用来获取组件)
    var text = GameObject.Find("text").GetComponent<Text>();

    刚体和游戏物体碰撞 碰撞器属性不是 is tigger 才能发生碰撞
    void OnCollisionEnter2D(Collision2D coll)
    {
    print("撞了");
    }


    刚体和游戏物体碰撞 碰撞器属性必须是 is tigger 才能发生碰撞(c是被碰撞的对象)
    void OntriggerEnter2D(Collider2D c)
    {
    print("撞了");

    //销毁被碰撞的对象
    Destroy(c.gameobject);
    //销毁碰撞的对象
    Destroy(this.gameobject);
    }

    动画制作
    在image上添加组件 Animator
    然后创建文件夹Aciton 创建一个控制器 Animator Controller
    拖动控制器 到Animator组件的 Controller里面
    选中要制作动画的image 点击菜单栏window Animation 右边点击create
    拖动资源库里面的几张图片进去 然后更改变换速度 保存即可

    动画切换
    点击image的控制器
    点击上方的Parameters 点击加号创建一个bool的变量
    然后在主动画上右键 Make Transition链接到副动画上
    点击链接线写上条件 true或false的时候转换动画
    点击链接线会发现有个Has Exit Time选项 默认勾选为有动画过度(建议取消勾选)
    副动画同上

    按键控制
    当按下A键的时候
    if (Input.GetKey(KeyCode.A))
    {
    transform.Translate(Vector3.left * speed * Time.deltaTime);
    }
    当按下J键的时候把XXX的XX变量设置为false (要先去获取XXX组件,赋值之后才能直接使用XXX)
    if (Input.GetKey(KeyCode.J))
    {
    XXX.SetBool("XX", false);
    }

    动画播放完毕检测(XXX动画名称,判断XXX动画播放次数如果大于1就咋咋咋咋咋)
    AnimatorStateInfo info = anima.GetCurrentAnimatorStateInfo(0);
    if (info.normalizedTime > 1 && info.IsName("XXX"))
    {
    XXXXXXXXXXXXXXXXXX
    }

  • 相关阅读:
    tbusers
    Dism解决win 10访问服务器共享问题,共享需要过时的SMB1协议,安装时错误代码:0x800736B3
    &【03】Python 变量与数据类型概览
    & 【01】 Spring源码编译
    &【02】Python 基础语法
    linux出现 -bash: fork: Cannot allocate memory 问题
    并发编程-15 ThreadPoolExecutor线程池
    Spring事务嵌套问题记录
    多线程笔试题记录
    & IDEA Debug启动失败或启动慢
  • 原文地址:https://www.cnblogs.com/baimangguo/p/11013261.html
Copyright © 2020-2023  润新知