当前位置: 首页 > 知识库问答 >
问题:

代码行快速解释

咸亦
2023-03-14
motion *= (Mathf.Abs(inputVec.x) == 1)?.7f:1;

据我所知,直线的意思是,那个变量运动得到乘以向量inputVec的x部分的绝对值,但我不明白接下来会发生什么。

共有2个答案

杨安歌
2023-03-14

>

  • ?:运算符是if/else的一种简捷方法,它称为条件运算符

    *=运算符是x=x*1的快捷方式,如下所述

    math.abs()返回给定值的绝对值

    0.7f-f是将值声明为浮点类型的后缀

    所以..

    motion *= (Mathf.Abs(inputVec.x) == 1)?.7f:1;
    

    等号

    if (Mathf.Abs(inputVec.x) == 1)) //if inputVec.x equals 1 or -1
    {
        motion = motion * 0.7;
    }
    else
    {
        motion = motion * 1;
    }
    

  • 狄新翰
    2023-03-14

    如果条件mathf.abs(inputvec.x)==1为真,则motion乘以.7f。否则按1。

    问号是条件运算符。这是编写if else语句的一种简洁方法。

    例如:

    if(Mathf.Abs(inputVec.x) == 1)
    {
        motion *= .7f;
    }
    else
    {
        motion *= .5f; 
    }
    

    相当于这样:

    motion *= (Mathf.Abs(inputVec.x) == 1)?.7f:.5f;
    

    所以你可以写一行代码而不是8行!

     类似资料:
    • 本文向大家介绍6行代码快速解决golang TCP粘包问题,包括了6行代码快速解决golang TCP粘包问题的使用技巧和注意事项,需要的朋友参考一下 前言 什么是TCP粘包问题以及为什么会产生TCP粘包,本文不加讨论。本文使用golang的bufio.Scanner来实现自定义协议解包。 下面话不多说了,来一起看看详细的介绍吧。 协议数据包定义 本文模拟一个日志服务器,该服务器接收客户端传到的数

    • 我无法运行服务器......我得到的错误为 如何解决这个错误! 当我尝试使用不同的端口时....所有的人都给了我同样的错误!

    • 本文向大家介绍pycharm 快速解决python代码冲突的问题,包括了pycharm 快速解决python代码冲突的问题的使用技巧和注意事项,需要的朋友参考一下 找到冲突的文件(项目中报红的就是冲突文件),如下 :以下是一个标准的冲突表 说明 * : <<<<<<< HEAD 到 =======里面的内容是自己分支commit的内容 =========到 >>>>>>里面的内容是远程下拉的 根据

    • 问题内容: 有人可以帮我为什么下面的代码不起作用吗?我正在Xcode.1 Playground中对其进行测试 问题答案: 操场是沙盒,因此您将无法仅从用户文件夹中的任何位置抓取文件。以下是将该文件添加到游乐场以使其可访问的方法: 在Finder中找到您的“ .playground”文件 右键单击并选择“显示包装内容” 您应该看到“ timeline.xctimeline”,“ contents.x

    • 问题内容: (这是该问题的后续内容: 使用具有多个键的可解码协议。) 我有以下Swift代码: 我知道,如果我使用并且没有该属性,但如果它是一个可选变量,它仍然可以正确处理它。 例如,以下JSON可使用上面的代码来解析它。 以下JSON也适用。 但是以下操作无效。 如何使所有3个示例正常工作?有什么类似的? 问题答案: 您可以使用以下功能: 返回一个值,该值指示解码器是否包含与给定密钥关联的值。与

    • 问题内容: 没有迅速的方法。该程序必须从某处开始执行。那么快速代码执行的切入点是什么,它是如何确定的? 问题答案: 普通Swift模块中的入口点是模块中名为的文件。是唯一一个允许在顶层具有表达式和语句的文件(模块中的所有其他Swift文件只能包含声明)。 可可触摸使用属性上的实现,而不是一个纪念的入口点文件。可可曾经使用了一个简单的最小文件,但是从Xcode 6.1开始, 它在的实现上使用属性。