【Unity】2D太空登录小游戏开发入门教程(下)

2023-11-18

Unity 是一款非常流行且用途广泛的游戏引擎,拥有一长串受支持的平台和设备。3D 游戏可能是您谈到 Unity 时的第一个想法。该引擎甚至曾经被称为Unity 3D!但是,大部分移动、主机和桌面游戏都是以 2D 形式呈现的,因此了解 Unity 为构建 2D 游戏提供的功能非常重要。

在本教程中,您将构建一个 2D 太空着陆器游戏,并在此过程中学习以下技能:

  • 如何使用精灵和相机。
  • 所有关于_物理2D_组件以及如何处理碰撞和游戏玩法。
  • 如何设置 2D 动画和状态。
  • 图层和精灵排序如何影响 2D 游戏。

本教程的材料是在 Unity 版本 2020.3 中构建的。

[沿续上文]【Unity】2D太空登录小游戏开发入门教程(上)

二维对撞机和物理

Unity 允许您像在 2D 游戏中一样调整物理 3D 系统的重力。Unity 对新项目的默认重力设置与地球重力相同:根据定义,9.80665 m/s2。但是你把你的宇宙飞船降落在月球上,而不是地球上,月球上的重力大约是地球的16.6%,即1.62519米/秒2。

注意:初学者项目中的重力设置为 -1,以便于飞行并立即测试游戏。

要修改游戏的重力,请点击_“编辑”图标 ▸ 项目设置_ 然后选择物理 2D 选项卡并使用_物理 2D_ 面板将_重力的_ Y 值从 -1 更改为 -1.62519

在物理设置中调整重力

事情要变得沉重了!

单击_“开始_”以运行游戏;飞一圈,看看重力如何改变飞船的运动:

重力上升一小步,推进器动力需要一个巨大的飞跃!

重力需要一小步,推进器动力需要一个巨大的飞跃!

与对象碰撞

如果你已经尝试过在场景中导航_着陆器_,你可能已经撞到了一两块石头。这是Unity的2D碰撞系统在工作。

每个应与重力和其他物理对象交互的对象都需要一个 Collider 2D 组件和一个 Rigidbody 2D 组件。

在层次结构中选择_着陆器_游戏对象。

刚体和碰撞体设置

您将看到附加了刚体 2D 和多边形碰撞体 2D 组件。将刚体 2D 组件添加到精灵中,使其受 Unity 的 2D 物理系统的控制。

物理组件快速课程

就其本身而言,刚体 2D 组件意味着重力会影响它所附加到的游戏对象。它还允许您使用对实体施加力的 Physics2D 相关方法从脚本中控制实体。

但是,如果您希望精灵与其他对象交互和碰撞,则还需要一个_碰撞体 2D_ 组件。添加适当的碰撞体组件会使精灵响应与其他精灵的碰撞。

多边形 2D 碰撞体比其他简单碰撞体(如箱形或圆形碰撞体 2D 组件)性能更重,但它们使对象之间的物理交互更加精确。始终使用游戏中可以侥幸逃脱的最简单的碰撞体形状,以确保获得最佳性能。

碰撞面

通过选择层次结构中的_着陆器_游戏对象并单击多边形 2D 碰撞体上的编辑碰撞体来探索宇宙飞船上的_碰撞_体:

“编辑碰撞体”按钮

将鼠标光标悬停在场景视图中的碰撞体边缘上。手柄允许您移动碰撞体点,您还可以创建或删除点以修改碰撞体的形状:

编辑 2D 多边形碰撞体

暂时保持_着陆器_对撞机的形状不变。

: 附加到 Lander 游戏对象的 Lander.cs 脚本中的代码用于处理与游戏场景中其他对象的碰撞。如果碰撞力的大小超过某个阈值,着陆器将被摧毁。OnCollisionEnter2D

您的着陆垫还需要一个对撞机;否则当你试图着陆时,你的飞船会直接掉下来!

在层次结构中,双击 LanderObjective 游戏对象以将焦点放在着陆台上。使用检查器,单击添加_组件_并选择_箱形碰撞体 2D_ 组件:

着陆器箱式对撞机-2D

Unity 将_箱形碰撞体 2D_ 组件添加到 LanderObjective 游戏对象中,并自动调整碰撞体的大小以匹配精灵大小。

着陆器箱式对撞机着陆平台

凉!

其他一些事情

关于刚体和 2D 碰撞体组件,还有其他一些事项需要记住:

  • 当您想要通过变换组件移动物理实体而不是仅让重力影响它们时,将刚体更改为使用_运动体_类型。要让它们处于 Unity 重力的控制之下,请使用_动态_。如果它们根本不会移动,请将它们设置为_静态_。
  • 您还可以修改_刚_体构件的质量、_线性_拖动、_角度拖动_和其他物理属性。
  • 碰撞体可以在_触发_模式下使用;它们不会与其他物理对象发生物理碰撞。相反,它们允许代码使用所有 MonoBehavior 脚本上提供的方法对事件做出反应。OnTriggerEnter2D
  • 要处理脚本代码中的冲突事件,请使用 ,这在所有 MonoBehavior 脚本上都可用。OnCollisionEnter2D
  • 您可以将可选的 Physics2D 材质 2D 参考分配给碰撞体,以控制弹力或摩擦力等属性。

注意:当游戏中只有几个对象时,您可能不会注意到这一点,但是当您的屏幕上有数百个对象时,所有对象都涉及物理交互,使用更简单的碰撞体形状将提高游戏的性能。

如果有很多物体碰撞,您可能需要重新考虑使用多边形碰撞体 2D 组件的策略!

如果有很多物体碰撞,您可能需要重新考虑使用多边形碰撞体 2D 组件的策略!

着陆器动画

如果没有可见的推进器来对抗重力,你的着陆器将是不完整的。现在,推进器可以工作,但没有视觉反馈告诉你它们正在发射。

Unity动画 101

要将动画分配给场景中的游戏对象,请将动画器组件附加到要进行_动画_处理的游戏_对象_。此组件需要对动画控制器的引用,该控制器定义要使用的动画剪辑以及如何控制这些剪辑,以及其他“更高级”的效果,例如_动画_的混合和过渡。

推进器的动画控制器

在层次结构中,展开_着陆器_游戏对象以显示其他四个嵌套的游戏对象。选择_推进器主_游戏对象;您将看到它已经附加了一个动画器组件,但它没有引用_动画_控制器:

兰德-动画师-组件-无控制器-参考

在推进_器主游戏对象_仍处于选中状态的情况下,单击_动画_编辑器选项卡。如果您在编辑器的主窗口中没有看到此选项卡,请选择_窗口_ ▸ 动画 ▸ 动画 来打开它:

动画窗口

当您在层次结构中选择了游戏对象时(您确实如此!),动画窗口将显示与该游戏对象相关的动画 - 就像检查器显示与该游戏对象相关的组件一样。单击“_创建”ThrusterMain 创建_动画剪辑

创建动画剪辑

输入名称 ThrusterAnim 并将其放在_“资源/动画_”文件夹中。

现在,您应该在“项目”窗口的“动画”文件夹中看到两个新的动画资源。ThrusterAnim 是动画剪辑,它将保存推进器效果的动画,ThrusterMain 是将控制动画的动画器控制器:

创建的着陆器动画资产

您将在动画窗口中看到动画时间轴;在这里,您可以放置和订购各个推进器精灵框架。

单击_添加属性_,然后选择_精灵渲染器/精灵_作为要动画的属性类型:

动画添加属性 Unity2D

兰德-精灵-属性-动画

您的编辑器现在应如下所示:

兰德-精灵动画-时间线

处理时间线的时间

处理时间线

在“项目”窗口中,单击“精灵”文件夹并展开_推进器-精灵表.png_精灵。突出显示四个切片的推进器精灵,并将它们拖到_动画_编辑器中的_推进器主:精灵_时间轴上。

精灵帧最终在时间轴上聚集在一起;你可以自己解决这个问题。从最右边的精灵开始;单击精灵,将其拖到右侧,将其与相邻的精灵间隔大约 0:05:

Lander-assign-sprite-frames-to-animation

选择 1:00 标记处的最后一帧,然后按 Delete 将其删除。

删除最后一帧

单击动画窗口中_的预览_,然后单击_播放_。在场景视图中聚焦着陆器飞船,查看您的工作预览!

因此,图斯特斯预览

队长准备好了!

ThrusterMain 仍处于选中状态的情况下,您还可以在精灵_渲染器_组件中看到_精灵_的变化:

精灵动画

滴答作响:]

现在是时候配置动画控制器了。

配置动画控制器

_着陆器.cs_脚本当前将动画参数设置为 或,具体取决于玩家是否发射推进器。动画控制器将评估这些参数,并允许进入或退出某些状态。true``false

在“项目”窗口中,单击_“动画_”子文件夹。然后,双击_ThrusterMain.controller_。这将打开动画编辑器,您将在其中看到在推进器主游戏对象上创建动画剪辑时为您添加的控制器 Unity:

着陆器动画师启动

现在,推进器动画正在连续运行。从逻辑上讲,推进器动画应仅在玩家当前正在发射推进器时运行。

右键单击_动画编辑器_的网格区域,然后单击_创建状态/空_:

创建状态为空

使用检查器将新状态命名为 NoThrust。这是没有玩家输入时动画的默认状态:

着陆器无推力状态

Entry 开始,动画师应直接流向 NoThrust 并停留在那里,直到_布尔_参数变为 。若要发生动画状态更改,需要使用_过渡_添加连接。true

右键单击无_推力_,然后单击_设置为图层默认状态_。NoThrust 现在应显示为橙色,如下所示,Entry 中的箭头现在指向 No Thrust

动画控制器进行过渡

橙色表示该状态将是第一个状态运行。

使用_动画编辑器_,单击_参数选项卡中的_ + 以创建新的参数类型 Bool。将其命名_为应用推力_:

着陆器创建应用推力参数

右键单击“NoThrust”,单击“进行过渡”,然后单击“推进器动画”。这将创建一个转换,允许在两个状态之间更改状态。现在执行相同的步骤集,但这次创建从 ThrusterAnimNoThrust 的过渡:

着陆器推进器动画状态连接

点按“NoThrusterto ThrusterAnim”过渡线,然后在检查器中点按 + 以添加“条件”。这将选择唯一可用的条件:应用推力

确保在下拉列表中选择 true。这表示_“应用推力_”必须为 true,动画才能移动到“推进器动画”状态。

着陆器应用推力条件为真

现在编辑从 ThrusterAnimNoThrust 的过渡线,以使用相同的 ApplyingThrust 条件。但是,这次您正在检查_错误_条件:

应用推力错误

您可以在动画编辑器中调整动画播放速度以适应。单击“推进器动画”状态,然后在检查器中,将“速度”属性更改为 1.5

着陆器推进器动画速度

推进器动画应快速响应,以反映玩家的发触发反应,以显示响应。单击两条过渡线(NoThrustThrusterAnim 之间的转场线),然后使用检查器将与_过渡_相关的设置更改为 0。取消选中_也有退出时间和__固定持续时间_:

推进器的着陆器过渡设置

最后,将相同的动画和控制器应用于左右推进器。从层次结构中选择 ThrusterLeftThrusterRight,然后将 ThrusterMain.controller 从“项目”窗口中的“动画”文件夹拖放到_动画器_组件的_“控制器_”属性中:

拖动推进器控制器

单击_“开始_”以运行游戏;使用_WASD_或_箭头键_试用您的新推进器:

推进器播放

休斯顿,我们已经升空了!:]

精灵排序和图层

没有精灵排序能力,任何 2D 引擎都是不完整的。Unity 允许您使用图层和_图层排序_系统对精灵进行排序和排序。

单击编辑器中的_“播放_”以再次运行游戏;使用你最差的驾驶能力将着陆器撞到附近的岩石上。当“重新启动”按钮出现时,请查看编辑器中的“Scene ”视图。您可能会注意到一些岩石已经消失在背景图像后面:

着陆器错误排序

甚至可能是您打开了初学者项目,_只能_看到背景图像。如果是这样的话,干得好!

发生这种情况的原因是渲染引擎无法确定精灵的分层顺序。除飞船外,所有精灵当前都设置为使用渲染顺序为 -1 的默认排序层。您的显卡将获得所有绘制调用,但没有告诉它们绘制的顺序!

要解决此问题,您可以使用“图层”和_“图层顺序”_系统来分隔精灵。Unity 将按照定义的图层顺序在这些图层上渲染精灵。对于每个单独的图层,Unity 将使用每个精灵上的精灵在层中的顺序编号来确定它应该按哪个顺序渲染每个精灵。

您可以将其视为有序列表:

  1. A层

    1. 序列 0
    2. 序列 1
  2. B层

是时候添加一些图层了

点按Edit ▸ Project Settings,然后选择Tags and Layers。展开Sorting Layers部分。

单击 + 添加三个新图层:

  • Background
  • Rocks
  • Player

单击并拖动每个图层旁边的控点,以确保它们按上面列出的顺序排列。此处图层的顺序决定了 Unity 在这些图层上渲染精灵的顺序:

着陆层排序

就像洋葱一样,空间也是由层组成的!

单击层次结构中的_背景_;在 Sprite renderer_组件上,单击_排序图层_下拉列表,然后从列表中选择_背景

背景排序后 unity2d

现在岩石肯定会在背景后面,因为它们仍然在_默认_图层上!

展开岩石游戏对象并突出显示所有子_岩石_游戏对象。使用检查器将对象更改为使用_岩石_排序图层,如下所示:

岩石-排序层-Unity2D

由于场景中的岩石往往相互重叠,因此它们有助于演示“图层中的顺序”属性如何适用于特定_图层_上的精灵。

如果您没有为岩石图层中的每块_岩石_提供单独的排序值,您会注意到在游戏过程中随机“弹出”其他岩石。这是因为 Unity 不会始终如一地以相同的顺序渲染岩石,因为它们目前在图层中都具有相同的顺序。

查找重叠的岩石,并为前面的岩石分配比它们后面的岩石更高的图层顺序值:

重叠岩石按图层排序

单击层次结构中的 Lander,将其精灵渲染器及其所有子游戏对象精_灵渲染器_组件的排序层属性更改为_玩家__排序层_。

对层次结构中_拾取_下的燃料游戏对象执行相同的操作。这将确保它们在所有内容之前呈现。

微调层

但是,有一个问题。推进器动画的精灵(以及通常隐藏在着陆器后面的着陆器的脚)呢?如果您没有为这些和_着陆器_本身设置特定的_图层编号_顺序,您会看到一些奇怪的渲染问题!

层内着陆器顺序冲突问题

将_着陆器_本身的_图层顺序_属性更改为 2。选择每个_推进器_子游戏对象以及 LanderFeet 游戏对象,并将其图层_顺序_值设置为 1

当着陆器降落在着陆垫上时,着陆垫会向下沉一点,以表明您已经着陆。着陆台和岩石精灵相互重叠,因此为了使效果看起来正确,您必须在岩石后面订购着陆台。

LanderObjective 精灵更改为使用_岩石_图层,并为其分配图层_顺序_值 0。将岩石设置在_着陆点物镜_下方,以使用_图层阶值_ 1

兰德目标和摇滚下面

最后,单击预制件文件夹中的_分解__预制件_,并将其_排序层_更改为_播放器_:

设置爆炸预制件分拣层

酷的人不看爆炸。但我们做到了!

单击_播放_并通过拾取燃料供应并降落在着陆台上来测试您的驾驶技能。只是要注意不要在任何一个方向上施加太大的推力,以免避开岩石!

完成着陆

搞定了!:]

通过足够的练习,您将像Space X一样擅长着陆火箭!:]

                                    完结!!!

【Unity】2D太空登录小游戏开发入门教程(上)

搜索关注公众号unity小游戏工坊回复“002”获取本教程的材料
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Unity】2D太空登录小游戏开发入门教程(下) 的相关文章

  • Unity 分块延迟渲染01 (TBDR)

    现代移动端图形体系结构的概述 现代SoC通常会同时集成CPU和GPU CPU被用于处理需要低内存延迟的序列 大量分支的数据集 其晶体管用于流控制和数据缓存 GPU为处理大型 未分支的数据集 如3D渲染 晶体管专用于寄存器和算术逻辑单元 而不
  • FBX导入Unity中模型没有材质的处理

    一 3dMax导出FBX时的注意事项 导出时 确保maps文件存在 里面放着fbx用到的image 二 在Unity中的设置 1 文件拖入Unity的Assets文件夹中 2 查看模型的材质是否存在 如下所示 材质为None 此时拖入sce
  • Unity动画控制器animator.CrossFade

    需要特别注意 1 CrossFade虽然可以不用任何逻辑来链接而直接跳转 但是CrossFade只能覆盖其他动画 当当前动画播放完毕而没有跳出这个动画时再次调用CrossFade将会失败 造成动画依旧停在原位 参数animator Cros
  • Unity Shader入门精要第七章 基础纹理之遮罩纹理

    Unity系列文章目录 文章目录 Unity系列文章目录 前言 一 实践 参考 前言 遮罩纹理 mask texture 是本章要介绍的最后一种纹理 它非常有用 在很多商业游戏中 都可以见到它的身影 那么什么是遮罩呢 简单来讲 遮罩允许我们
  • Unity中按钮检测鼠标状态

    改方法主要是用于按钮检测鼠标的进入 滑出 点击 抬起 长按 长按停止 1 先将下面这个脚本挂载到需要检测鼠标状态的按钮上 using System Collections using System Collections Generic u
  • UnityVR--组件3--Line Renderer--线性渲染

    目录 线性渲染组件简介 绘制线条Line Renderer组件介绍 绘制拖尾Trail Renderer组件介绍 应用1 使用Line Renderer绘制线段 应用1实现 使用系统工具或自定义工具绘制线段 应用2 Trail Render
  • Unity之获取游戏物体对象或组件的几个方法

    文章目录 前言 通过物体名称获取对象 GameObject Find Transform Find 通过物体标签获取对象 GameObject FindWithTag GameObject FindGameObjectWithTag Gam
  • Unity与Android的Back键冲突解决

    Unity与Android的Back键冲突解决 上一篇的最后留下了两个问题 Unity视图下横屏闪退 Unity视图下Android无法响应back返回上一activity 对于第一个问题 应该是Unity横屏下视图的某些设置跟Androi
  • Unity学习笔记(一)—— 基础知识

    一 基础知识 1 开发团队组成 2 unity特点 图形界面 所见即所得 入门简单 支持C 比OC C 更友好 js 国内外资源丰富 因为使用的人多 跨平台性好 PC端 移动端等 对VR AR的支持最完善 3 成功案例 游戏 炉石传说 神庙
  • unity后台加密时间锁

    前言 在做一些项目的时候 有些不良甲方在给完项目后会有不给尾款的情况 之前都是加一些水印啥的 感觉不是很方便 第一不美观 第二如果甲方给完尾款后还得重新打包去水印 然后又做过一个本地的时间锁 等到时间 程序直接退出 但是感觉还是不方便 有时
  • unity工程崩溃资源找回

    1 Unity死机未保存场景 当你在Unity中编辑场景 突然死机时 可以在项目文件目录中找到Temp文件夹 双击文件夹 找到 Backupscenes文件夹 把后缀为 backup的文件后缀改为 unity 然后拖进Unity的Proje
  • Unity打开工程时卡住的问题

    自从Unity升级了一个版本后 Unity打开工程卡住的问题越来越严重了 具体表现为 选择工程后 Unity窗口消失 但进程还在 有时候等个几分钟能出来 有时候等10分钟都不见得能出来 直观感受上看 似乎是Unity加载工程的时候某一步卡了
  • 【Unity】按Esc进入操作菜单

    本文章是基于如下视频的自我总结 https www youtube com watch v JivuXdrIHK0 步骤如下 1 在Canvas 界面添加一个Panel Panel中添加一个按钮 调整按钮的大小为合适大小 调整字体的大小为合
  • unity实现鼠标右键控制视角

    主要实现的功能是相机跟随主角 鼠标右击移动后 相机的视角会旋转 思路 在主角里创建空的子物体 把相机绑在空物体上 通过旋转空物体来实现视角的旋转 要把相机调整到适当位置 代码如下 public float rotateSpeed 100 设
  • Unity旋转以及万向锁问题

    我之前研读了一些关于unity旋转相关的博客 一直想抽个时间写个总结 但是由于实习太忙一直没有写 趁着今天请了假晚上有时间把这段时间一些学习心得写出来 Unity inspector面板中的Rotation 在unity中 想必大家最先接触
  • unity3d 自定义的图片无法放入source image中

    须将图片的texture type改为 sprite
  • unity3d image组件不显示

    需要将UI组件放到画布下面
  • 【原神游戏开发日志1】缘起

    原神游戏开发日志1 缘起 版权声明 本文为 优梦创客 原创文章 您可以自由转载 但必须加入完整的版权声明 文章内容不得删减 修改 演绎 相关学习资源见文末 大家好 最近看到原神在TGA上频频获奖 作为一个14年经验的游戏开发行业的老兵 我就
  • Unity中URP下的指数雾

    文章目录 前言 一 指数雾 雾效因子 1 FOG EXP 2 FOG EXP2 二 MixFog 1 ComputeFogIntensity 雾效强度计算 2 lerp fogColor fragColor fogIntensity 雾效颜
  • 游戏开发常见操作梳理之NPC药品商店系统(NGUI版)

    后续会出UGUI Json的版本 敬请期待 游戏开发中经常会出现药品商店 实际操作与武器商店类似 甚至根据实际情况可以简化设置 废话不多说 直接上代码 药品商店的源码 using System Collections using Syste

随机推荐

  • Arduino ESP32自平衡小车制作实现(不需编码器)

    1 mpu6050陀螺仪角度方向和静态平衡角度测试 说明 1 陀螺仪补偿值的计算 试时提前用calcGyroOffsets true 函数计算出 补偿值 知道mpu6050的补偿值后用setGyroOffsets 直接设置补偿值 避免每次开
  • 生成指定长度的随机字符串(数组和字母组合)

    brief getRandomCode 生成指定长度的随机字符串 数组和字母组合 param codelength 指定字符串长度 return 生成的字符串 QString getRandomCode int codelength con
  • 通过git clone批量下载huggingface模型和数据集

    目录 前言 一 配置git全局代理 可选 1 配置http或socks5代理 2 取消代理配置 二 下载步骤 问题 前言 想要下载huggingface的模型 却发现只能一个个文件下载非常不方便 又或者官方提供的api不好用或者下载不下来
  • 浏览器有哪些进程?浏览器进程,渲染进程,网络进程,渲染进程有哪些线程?

    浏览器进程 渲染进程有哪些线程 在浏览器中打开两个页面 会开启几个进程 1个浏览器进程 1个网络进程 一个GPU进程 通常一个Tab页对应一个渲染进程 但有其它情况 1 如果页面中有iframe的话 iframe也会运行在单独的进程中 2
  • 实现SSM简易商城项目的登录注册功能

    实现SSM简易商城项目的登录注册功能 项目背景介绍 在互联网时代 电商行业蓬勃发展 越来越多的人开始关注电子商务 为了实现一个简易商城项目 我们选择了SSM框架作为项目的基础架构 SSM分别代表了Spring SpringMVC和MyBat
  • 睿智的目标检测24——Keras搭建Mobilenet-SSD目标检测平台

    睿智的目标检测24 Keras搭建Mobilenet SSD目标检测平台 更新说明 学习前言 什么是SSD目标检测算法 源码下载 SSD实现思路 一 预测部分 1 主干网络介绍 2 从特征获取预测结果 3 预测结果的解码 4 在原图上进行绘
  • 【编译部署】使用Visual Studio编译Linux平台程序/动态库(远程连接)

    文章目录 1 背景 2 使用的环境 3 配置步骤 3 1 安装 Visual Studio 工具集 3 2 创建解决方案 3 3 Linux 端准备工作 3 4 测试编译和运行 5 添加附加包含和附加库 1 背景 由于日常在 Windows
  • 论文笔记:Hankel Matrix Factorization for Tagged Time Series to Recover Missing Values during Blackouts

    ICDE 2019 0 摘要 在执行时间序列分析时 恢复时间序列中的缺失值至关重要 而本文研究的blackouts问题 即在一定时期内丢失所有数据 是最紧迫和最具挑战性的问题之一 现有的时间序列缺失值恢复方法无法正确处理这个问题 但在这项工
  • 数组和指针笔试题解析之【数组】

    目录 前言 1 一维数组 2 字符数组 2 1题型一 2 2题型二 2 3题型三 3 二维数组 前言 1 数组名的意义 sizeof 数组名 这里的数组名表示整个数组 计算的是整个数组的大小 单位是字节 数组名 这里的数组名表示整个数组 取
  • win10连接蓝牙耳机_蓝牙耳机兼容性是什么?哪个牌子蓝牙耳机连接稳定续航高_...

    2020年10月21日 10 08 作者 网络 编辑 王动 不论我们何时走在街上 总能看到有人佩戴着耳机摇头晃脑 似乎沉浸在音乐的世界里无法自拔 但在众多手机去掉的耳机接口后 大多数人开始将目光投向蓝牙耳机 希望能够重获快乐 只是 并非所有
  • pyltp的本地安装

    0 电脑配置 win 8 1 64位操作系统 python 2 7 1 使用pip安装pyltp 运行安装命令 pip install pyltp 第一次失败 缺少Visual C 9 0 参考资料 https blog csdn net
  • Android,页面3秒自东跳转和点击跳转显示

    先打开ADT程序创建 创建文件 如图 命名为Day01 注意大小写 注意改名字不要重复 在res layout中找到 下面第一个是视图 第二个是对视图进行编辑点击第二个进行编辑 把
  • 多线程面试总结

    总结 每个对象有一个监视器锁monitor 线程进入同步方法时尝试获取monitor的所有权 其他线程进入阻塞状态 该线程释放monitor的所有权后其他线程重新尝试获取monitor的所有权 只能有一个线程对同步监视器加锁 1 多线程的问
  • React报错误及其解决方案

    1 Import in body of module reorder to top import first 解决方案 import开头代码写在最前面
  • 微信支付之扫码支付相关代码(Java)(转载)

    最近开发网站过程 需要引入支付过程 第三方支付中最火的莫过于支付宝支付和微信支付 下边借助微信支付官网上的文档 写一下接入微信支付之扫码支付的流程 相对支付宝支付而言 微信支付的开发文档写的相当的low demo写的一点都不简洁 下边写一下
  • 如何创建http端口监听_比Minikube更快,使用Kind快速创建K8S学习环境

    简述 K8S 如火如荼的发展着 越来越多人想学习和了解 K8S 但是由于 K8S 的入门曲线较高很多人望而却步 然而随着 K8S 生态的蓬勃发展 社区也呈现了越来越多的部署方案 光针对生产可用的环境就有好几种部署方案 对于用来测试和学习环境
  • PHP秒杀系统 高并发 高性能的极致挑战 下载

    第1章 课程介绍 秒杀系统在各种网站和应用中经常会用到 本课程从基本的系统设计和基础功能开始教导大家用PHP来设计和实现秒杀系统 并且为海量并发提供更高级的技术方案和实现手段 第2章 系统技术选型分析 本章节需要大家掌握基础的LNMP平台的
  • RAC Failover三种方式

    1 Client Side Connect Time Failover 1 1 在用户端tnsname中配置了多个地址 用户发起连接请求时 会先尝试连接地址表中的第一个地址 如果这个连接尝试失败 则继续尝试使用第二个地址 直至连接成功或者遍
  • CSAPP——2.2整数表示

    两种整数 1 非负数 unsigned 2 负数 0 正数 T 补码 B 二进制 U 无符号数 1 整数数据类型 unsigned char short int long int32 t int64 t 2 无符号数的编码 假设位向量 x
  • 【Unity】2D太空登录小游戏开发入门教程(下)

    Unity 是一款非常流行且用途广泛的游戏引擎 拥有一长串受支持的平台和设备 3D 游戏可能是您谈到 Unity 时的第一个想法 该引擎甚至曾经被称为Unity 3D 但是 大部分移动 主机和桌面游戏都是以 2D 形式呈现的 因此了解 Un