小编Jho*_*per的帖子

Flutter doctor 结果显示“cmdline-tools 组件丢失”

我已经尝试过这里这里的答案,但无济于事。

\n

在 Windows 10 上安装 Android Studio 和 Flutter 后,当我运行 时flutter doctor,我得到以下信息:

\n
[\xe2\x88\x9a] Flutter (Channel stable, 2.5.0, on Microsoft Windows [Version 10.0.19043.1202], locale en-US)\n[X] Android toolchain - develop for Android devices\n    X cmdline-tools component is missing\n      Run `path/to/sdkmanager --install "cmdline-tools;latest"`\n      See https://developer.android.com/studio/command-line for more details.\n[\xe2\x88\x9a] Chrome - develop for the web\n[\xe2\x88\x9a] Android Studio (version 2020.3)\n[\xe2\x88\x9a] VS Code (version 1.60.0)\n[\xe2\x88\x9a] Connected device (2 available)\n
Run Code Online (Sandbox Code Playgroud)\n

打开Android Studio > SDK Manager > Android SDK …

java android android-studio flutter

37
推荐指数
1
解决办法
5万
查看次数

对象退出门户在 Unity 2D 中移动错误的方向?

在我开始之前,如果这不是高度专业的写法,我想说声抱歉,我一直在努力解决这个问题好几个小时,试图在没有运气的情况下解决这个问题,我很累而且压力很大。

我试图让一个移动的物体在特定点通过 1 个门户进入,并在它进入的同一点从另一个门户出来。所以如果球进入传送门的顶部,物体会从传送门的顶部出来,如果物体从传送门的底部进入,它就会离开另一个传送门的底部。我不是最好的插图,但这是我想要做的: 在此处输入图片说明 在这里,您可以在两个图像中看到对象进入蓝色门户并在它进入的点退出橙色,因此从上到下,从下到下。

我实际上已经让它正常工作了,但现在我需要再做一次,但这一次,门户之一需要是水平的而不是垂直的: 在此处输入图片说明 所以我所做的是,当两个都是垂直时,我不选中一个名为“exitIsHorizo​​ntal”的布尔值(假),当其中一个在水平面上的天花板上时,它将垂直轴转换为水平轴一。

我什至让它起作用了,但是它有一个需要修复的可复制夸克。当对象进入门户底部时,它会像您期望的那样正常工作,就像上图一样。但是,当您击中门户的顶部时,该对象会像您预期的那样从门户的另一侧出来,但该对象开始向相反的方向移动,如下图所示: 在此处输入图片说明 正确的出口位置,由于某种原因错误的出口方向。我还需要这个函数是动态的,这样如果说,对象从另一个方向击中蓝色门户,退出方向也会像这样切换边: 在此处输入图片说明

这是我的脚本:

    public GameObject otherPortal;
    public PortalController otherPortalScript;
    private BallController ballController;
    public bool exitIsHorizontal = false;

    List<PortalController> inUseControllers =  new List<PortalController>();

    // Use this for initialization
    void Start () 
    {

    }

    // Update is called once per frame
    void Update () 
    {

    }

    void OnTriggerEnter2D(Collider2D other)
    {
        if (other.gameObject.tag == "Ball")
        {
            ballController = other.GetComponent<BallController>();
            if (inUseControllers.Count == 0)
            {
                inUseControllers.Add(otherPortalScript);
                var offset = other.transform.position - transform.position;
                if(exitIsHorizontal)
                {
                    offset.x = offset.y; …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine

6
推荐指数
1
解决办法
313
查看次数

Unity 中移动平台的奇怪输出

首先,对不起,这不是写得很好,我花了几个小时调试这个,我很紧张。我正在尝试制作一个可以在路径点之间移动的统一移动平台,但我不想让世界上有大量游戏对象占用宝贵的处理能力,所以我正在尝试使用我可以使用的东西只需通过编辑器添加到脚本中即可。

唯一的问题是它似乎以令人难以置信的速度执行此操作: 在此处输入图片说明 黑色 = 摄像机视图,蓝色 = 平台以及基于航路点的位置,红色 = 当前正在做什么。

我花了几个小时试图找到解决办法,但我不知道为什么要这样做。

我在平台上的脚本:

public Vector3[] localWaypoints;
    Vector3[] globalWaypoints;

    public float speed;
    public bool cyclic;
    public float waitTime;
    [Range(0, 2)]
    public float easeAmount;

    int fromWaypointIndex;
    float percentBetweenWaypoints;
    float nextMoveTime;

    void Start()
    {

        globalWaypoints = new Vector3[localWaypoints.Length];
        for (int i = 0; i < localWaypoints.Length; i++)
        {
            globalWaypoints[i] = localWaypoints[i] + transform.position;
        }
    }

    void Update()
    {


        Vector3 velocity = CalculatePlatformMovement();
        transform.Translate(velocity);
    }

    float Ease(float x)
    {
        float a = easeAmount + 1;
        return …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine

5
推荐指数
1
解决办法
85
查看次数

如何在Unity中引用实例化对象?

我有一个武器,我想实例化一个对象(在本例中是子弹),然后等到该子弹击中一个对象后,才允许该武器实例化另一个对象。

我目前正在通过在武器脚本上添加以下内容来做到这一点:

public class weaponScript : MonoBehaviour
{
        public gameobject projectilePrefab;
        public bool launchable;

        void Update{
        if(launchable){
             Instantiate(projectilePrefab, firePoint.transform.position, transform.rotation);
             launchable = false;
        }
    }
Run Code Online (Sandbox Code Playgroud)

子弹脚本上是这样的:

public class projectile : MonoBehaviour
{
    void OnCollisionEnter2D(Collision2D other){
        weaponScript.launchable = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

这非常适合我的需要,但是这不起作用,因为射弹没有定义weaponScript,因此它无法launchable将 上的变量设置weaponScript为 true。

我可以使用 FindObjectOdType() 函数,当场景中有一种武器时,该函数就可以工作,但是一旦场景中一次有多个 WeaponScript,您就开始难以确定谁是谁。

有没有办法让 WeaponScript 在实例化对象时将自身设置为变量,如下所示:

public class weaponScript : MonoBehaviour
{
        public gameobject projectilePrefab;
        public bool launchable;

        void Update{
        if(launchable){
             Instantiate(projectilePrefab, firePoint.transform.position, transform.rotation);
             [InstanciatedObjectHere].parentWeapon = this.gameobject;
             launchable = false; …
Run Code Online (Sandbox Code Playgroud)

instantiation unity-game-engine

2
推荐指数
1
解决办法
6588
查看次数

奇怪的 git 合并?

我是 git 的新手,所以这对其他人来说似乎很简单,我只是不理解。

我正准备与其他 1 位朋友开始一个项目,我们决定使用 git 作为我们的版本控制系统,所以我们一直在运行测试以了解它是如何工作的。以下是我们迄今为止测试过的内容以及我们遇到的问题:

我们有3个分店

  • 掌握
  • 我的名字
  • 朋友的名字

可以,然后呢:

  1. 在创建其他 2 个分支之前,我直接在 master 中创建了一个 test.txt 文件,并将 txt 留空。
  2. 我们创建了其他 2 个分支,然后在没有其他行的情况下检查我的分支在第 1 行写入“Test 1”,然后提交并将其与 master 合并。
  3. 我的朋友签出他的分支并在第 1 行写入“Test 2”,在第 3 行写入“Hotfix”,然后他提交并与 master 合并并收到合并错误,因为第 1 行的 1 已更改为 2,并且因为 Hotfix加入。

与我们正在运行的测试相比,这稍微简化了一点,但是当进行如此简单的更改时,git 真的不够聪明以识别差异吗?我可以看到它询问第 1 行是否应该有 1 或 2,但为什么它会抱怨在新行上添加了修补程序?

我认为这并不重要,但我们已经在 Windows 的 Bash CLI、Linux 的 Bash 直接、桌面的 Github、Gitkraken 和 Gmaster 中尝试了相同的测试,结果都相同。

编辑,为了清楚起见,这里读出了我在终端中所做的事情:我解释了我在提交消息中所做的事情,虽然我不知道如何从 bash 终端显示合并冲突,但这里是冲突的屏幕截图它在 vscode 中打印:https://imgur.com/a/Yd6EXx2

另外,为了更清楚,创建 .txt 时,有 1 行,我在两个分支的预创建行上放置了 Test(此处为数字),对于朋友分支,我创建了第 2 行和第 3 行,并放置了 …

git git-merge git-merge-conflict

1
推荐指数
1
解决办法
69
查看次数