zoukankan      html  css  js  c++  java
  • 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
    }

  • 相关阅读:
    1016: 写出来吧
    从硬件工程师转到纯软件开发,回顾那些岁月
    用大白话聊聊JavaSE -- 自定义注解入门
    数组中的一些常用方法总结
    js中的隐式转换
    开源OSS.Social微信项目进阶介绍
    .Net开源oss项目进度更新(含小程序接口)
    windows下部署免费ssl证书(letsencrypt)
    完成OSS.Http底层HttpClient重构封装 支持标准库
    谈javascript变量声明
  • 原文地址:https://www.cnblogs.com/baimangguo/p/11013261.html
Copyright © 2011-2022 走看看