unity-unity2d基础操作笔记(三)0.5.000

目标是:牢记以下137条操作,越级上升到中级阶段

unity-unity2d基础操作笔记(三)

    • 一百零一、如何操作一个游戏物体由多个部分组成的动画
    • 一百零二、如何使用rigidbody 2d进行物体移动
    • 一百零三、获取游戏物体身上的组件方法
    • 一百零四、代码控制物体朝向
    • 一百零五、不使用插件,纯手动跳跃的实现
    • 一百零六、如何判断玩家按下了某个键
    • 一百零七、如何防止跳的过程中可以左右移动
    • 一百零八、实现多方向开枪的思路
    • 一百零九、如何保存预制体变动
    • 一百一十、如何制作子弹预制体
    • 一百一十一、如何从预制体路径上生成子弹
    • 一百一十二、如何实现子弹飞行
    • 一百一十三、直接在代码里面可以使用标签匹配找到物体
    • 一百一十四、欧拉角表示旋转
    • 一百一十五、如何获取另外一个脚本的方法
    • 一百一十六、如何通过路径加载AudioClip
    • 一百一十七、代码中如何控制游戏物体身上的Animator组件是否勾选
    • 一百一十八、如何通过界面的方式添加动画事件
    • 一百一十九、围绕自身旋转代码实现
    • 一百二十、手榴弹遇到物体时的状态设置
    • 一百二十一、移动的第四种方法
    • 一百二十二、游戏物体旋转的写法
    • 一百二十三、如何在c#中实现要等待一秒执行
    • 一百二十四、audioSource.playOnAwake=false表示不会开始时自动播放【技巧】
    • 一百二十五、如何使用代码找到指定范围内的所有敌人
    • 一百二十六、如何计算transform的距离
    • 一百二十七、如何实现不使用插件情况下,如何实现镜头跟随游戏物体
    • 一百二十八、如何让摄像机不移动,固定在一个位置
    • 一百二十九、Text的命名空间:using UnityEngine.UI
    • 一百三十、如何通过组件的类型名称获取游戏物体
    • 一百三十一、开火点一般都设置成物体的子物体,调整好位置【技巧】
    • 一百三十二、如何为空物体设置颜色icon
    • 一百三十三、layer的检视面板中,越靠下面就越显示在上面【技巧】
    • 一百三十四、物体朝某个方向移动的方法
    • 一百三十五、Random.Range(0,101)随机生成0到100的随机数,左边包括,右边不包括
    • 一百三十六、使用AddListener方式添加按钮点击事件
    • 一百三十七、如何从一个场景跳转到另外一个场景

一百零一、如何操作一个游戏物体由多个部分组成的动画

当一个人物由多个部分的动画组成,可以将动画的多个部分都放入一个数组中,当需要执行某个动作时,循环数组执行某一个动画就可以了

一百零二、如何使用rigidbody 2d进行物体移动

float h = Input.GetAxis(“Horizontal”); rd.velocity = new Vector2(h " speed * Time.fixedDeltaTime, rd.velocity.y);

一百零三、获取游戏物体身上的组件方法

一个游戏物体上可以挂在多个脚本,可以通过如下获取脚本,同时,当播放动画的时候,一般都需要先获取Animator组件

  1. public定义好

  2. 直接拖动

  3. 通过代码GetComponent获取

一百零四、代码控制物体朝向

transform.rotation=Quternion.Euler(0,0,0)右边
transform.rotation=Quternion.Euler(0,180,0)右边

一百零五、不使用插件,纯手动跳跃的实现

  1. 还是使用rigidbody2d组件

  2. 通过rigidbody 2d组件给一个向上的力

rd.AddForce(Vector2.up*500F);

  1. 如何防止多段空中跳跃

可以设定给一个int的值如 int 具名Num=1

在按下键的时候Num-=1

同时执行动画的条件加上一个&& 条件Num>0

当落在地上的时候Num=1

  1. 如何判断是否落在地上

先给地上打上标签,通过碰撞体碰撞的时候判别,碰撞的时候识别碰撞的是什么,可以通过

other.transform.tag

一百零六、如何判断玩家按下了某个键

Input.GetKeyDown(KeyCode.K)

一百零七、如何防止跳的过程中可以左右移动

只需要判断是否在地上,在空中,就不移动,在移动方法中直接returnif(isOnGround -false) return;

一百零八、实现多方向开枪的思路

  1. 在玩家上和右边创建空物体作为发射点

  2. 在hirachy中,将发设定放在玩家的下面

一百零九、如何保存预制体变动

  1. 如果在hirachy中,预制体有 改动

  2. 在inspector面板中,点击overrides保存变动

  3. 然后点击apply all

一百一十、如何制作子弹预制体

  1. 在hirachy中,创建一个2d object中的sprite

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/715878.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#上位机调试经验

1.使用Visual Studio的远程工具 因为上位机软件安装在工控机上,不方便调试。如果直接把代码放在工控机上,又不太安全。 可以在工控机上安装一个Visual Studio的远程工具,把随身带的笔记本电脑通过网线插在工控机上 这样可以在笔记本上使用…

s3cmd工具使用

1. 安装s3cmd工具 [roottestserver01 ~]# yum install s3cmd 2. 配置s3cmd, 按提示输入相应的ak,sk,endpoint等信息 [roottestserver01 ~]# s3cmd --configure 3. s3cmd使用 [roottestserver01 ~]# s3cmd mb s3://abc (创建一个桶&am…

python笔记_程序流程控制

A,顺序控制 程序从上到下逐行执行 python定义变量时,会合法地向前引用 age 1 age2 age 1 age2 age 1 age 1 ——>错误,age应在age2之前 B,分支控制 1,单分支if 语法 if 条件表达式 : 代码块 说明…

【六】【SQL】多表查询,笛卡尔积

笛卡尔积 笛卡尔积发生在当你在查询中将两个或多个表进行交叉连接(CROSS JOIN)或者没有指定任何连接条件时。假设第一个表有M行,第二个表有N行,那么结果集将包含M x N个记录。在大多数情况下,笛卡尔积并不是你想要的结…

数字化转型导师坚鹏:证券公司数字化思维升级之道

证券公司数字化思维升级之道 ——数字化思维之六脉神剑 课程背景: 很多证券公司存在以下问题: 不知道数字化转型如何改变思维模式? 不清楚需要建立什么样的数字化思维? 不知道如何开展数字化思维提升工作? 课…

Redis之十:Spring Data Redis --- CrudRepository方式

SpringData Redis CrudRepository方式 Spring Data Redis 的 CrudRepository 是 Spring Data 框架中用于提供基础 CRUD(创建、读取、更新和删除)操作的一个接口。在与 Redis 集成时,尽管 Redis 是一个键值存储系统,并没有像关系型…

华为机试真题实战应用【算法代码篇】-去除多余空格(附Java、C++和python代码)

目录 问题描述 输入描述 输出描述 样例 思路解析 代码实现

关于福彩历史数据采集器和体彩历史数据采集器的下载安装说明

前段时间因为研究基于人工神经网络(深度学习,所谓的“AI”算法)对3D开奖数据进行预测,开发了两款浏览器插件----“福彩历史数据采集器”和“体彩历史数据采集器”。之所以开发这两款插件,是因为不管是基于什么样的方式…

Unity 游戏设计模式:观察者模式

本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com 在 unity 游戏设计中,观察者模式(Observer Pattern)有着重要的作用,它主要用于实现对象之间的一对多的依赖关系,当一个对象的状态发生变化时&#x…

【QT+QGIS跨平台编译】之六十三:【QGIS_CORE跨平台编译】—【错误处理:未定义的类QgsMapLayer - QgsMapLayerModel】

文章目录 一、未定义的类QgsMapLayer二、解决办法 一、未定义的类QgsMapLayer 报错&#xff1a; 二、解决办法 QgsMapLayerModel.h文件中 ①第27行修改为&#xff1a; #include "QgsMapLayer.h" ②第23行增加&#xff1a; #include <QPointer>

Github 2024-03-03 开源项目日报Top9

根据Github Trendings的统计&#xff0c;今日(2024-03-03统计)共有9个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量非开发语言项目4Rust项目1C项目1Jupyter Notebook项目1Python项目1Shell项目1 任天堂Switch模拟器yuzu&#x…

将jar程序封装为docker镜像 shell脚本

将JAR程序封装为Docker镜像通常涉及编写一个Dockerfile&#xff0c;然后使用docker build命令构建镜像。然而&#xff0c;如果你想要通过一个shell脚本来自动化这个过程&#xff0c;你可以创建一个脚本&#xff0c;该脚本首先创建一个Dockerfile&#xff0c;然后使用docker bui…

嵌入式驱动学习第一周——linux设备管理模型

前言 现在来聊点原理性的东西——linux设备管理模型 嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程&#xff0c;未来预计四个月将高强度更新本专栏&#xff0c;喜欢的可以关注本博主并订阅本专栏&#xff0c;一起讨论一起学习。现在关注就是老粉啦&#xff01; 行文目录…

编写dockerfile挂载卷

编写dockerfile文件 [rootwq docker-test-volume]# vim dockerfile1 [rootwq docker-test-volume]# cat dockerfile1 FROM centosVOLUME ["volume01","volume02"]CMD echo "------end------" CMD /bin/bash [rootwq docker-test-volume]#使用do…

leetcode:51.N皇后(复习)

题目理解&#xff1a;&#xff08;回溯算法&#xff09; 树形结构——层数代表行数&#xff0c;递归的深度就是总行数。 代码实现&#xff1a;

解释Android中的Activity生命周期,以及在哪个生命周期方法中可以进行布局的初始化?

在Android中&#xff0c;Activity的生命周期是指Activity从创建到销毁的整个过程&#xff0c;这个过程中会经历一系列的回调方法。了解Activity的生命周期对于管理资源、处理用户交互和确保应用的稳定性非常重要。下面是Activity生命周期的主要阶段及其对应的回调方法&#xff…

手写 Attention 迷你LLaMa2——LLM实战

https://github.com/Yuezhengrong/Implement-Attention-TinyLLaMa-from-scratch 1. Attention 1.1 Attention 灵魂10问 你怎么理解Attention&#xff1f; Scaled Dot-Product Attention中的Scaled&#xff1a; 1 d k \frac{1}{\sqrt{d_k}} dk​ ​1​ 的目的是调节内积&…

分布式ID选型对比(4)

百度UID generator 一, 创建表: worker_node(在项目启动时初始化生成workId) CREATE TABLE worker_node (ID bigint NOT NULL AUTO_INCREMENT COMMENT auto increment id,HOST_NAME varchar(64) NOT NULL COMMENT host name,PORT varchar(64) NOT NULL COMMENT port,TYPE int…

金属3D打印新材料崭露头角,性能卓越引领行业新潮流

在3D打印模具制造领域&#xff0c;材料的选择对最终产品的性能有着至关重要的影响。随着技术的不断进步&#xff0c;金属3D打印材料正迅速发展&#xff0c;展现出强大的竞争力和创新潜力。其中&#xff0c;3D打印企业毅速推出的多款不锈钢粉末材料&#xff0c;如EM191、EM191S、…

字符串函数 strncpy() 详解

什么是 strncpy() 函数&#xff1f; strncpy() 函数是 C 语言中的一个标准库函数&#xff0c;它的作用是从一个字符串中按照指定的长度复制字符到另一个字符串中。它的原型如下&#xff1a; char *strncpy(char *dest, const char *src, size_t n);其中&#xff0c;dest 是目…