小编Dra*_*18s的帖子

我什么时候应该使用惰性单例而不是普通单例?

到目前为止,我已经看到了两个单身人士的例子。

普通单身人士,

public class Singleton {
  private static Singleton instance;

  static {
    instance = new Singleton();
  }

  private Singleton() { 
    // hidden constructor
  }    

  public static Singleton getInstance() {
    return instance;
  }
}
Run Code Online (Sandbox Code Playgroud)

和懒惰的单身人士,

public class Singleton {

  private Singleton() { 
    // hidden constructor
  }

  private static class Holder {
    static final Singleton INSTANCE = new Singleton();
  }

  public static Singleton getInstance() {
    return Holder.INSTANCE;
  }
}
Run Code Online (Sandbox Code Playgroud)

编码来自这个线程和这个用户。我最近才开始尝试学习单身人士,因为我以前的方法是

1.) 使用静态来创建类似......

static MyClass instance;
Run Code Online (Sandbox Code Playgroud)

2.) 我会尝试以一种看似奇怪的方式传递一个实例,

MyClass …
Run Code Online (Sandbox Code Playgroud)

java single-instance

6
推荐指数
2
解决办法
2678
查看次数

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

使用 Transform 属性移动和旋转 LineRenderer

您可以使用 Transform 属性在 Unity 中旋转任何可视对象。一个例外是LineRenderer. 您不能使用 transform 属性移动或旋转它。

LineRendererSetPositionorSetPositions函数一起移动,因此我设法通过变换位置属性使其可移动,但我也无法使其旋转。

下面是我用来使它可移动的代码。

public Vector3 beginPos = new Vector3(-1.0f, -1.0f, 0);
public Vector3 endPos = new Vector3(1.0f, 1.0f, 0);

Vector3 beginPosOffset;
Vector3 endPosOffset;

LineRenderer diagLine;

void Start()
{

    diagLine = gameObject.AddComponent<LineRenderer>();
    diagLine.material = new Material(Shader.Find("Sprites/Default"));
    diagLine.startColor = diagLine.endColor = Color.green;
    diagLine.startWidth = diagLine.endWidth = 0.15f;

    diagLine.SetPosition(0, beginPos);
    diagLine.SetPosition(1, endPos);

    //Get offset
    beginPosOffset = transform.position - diagLine.GetPosition(0);
    endPosOffset = transform.position - diagLine.GetPosition(1);
}

void Update() …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine

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

使用字符串统一设置下拉值

有谁知道如何 使用统一的字符串设置dropdownUI 值?
我知道如何用这样的 int 设置它

public DropDown dropdown;

dropdown.value = 1;
Run Code Online (Sandbox Code Playgroud)

但是,我想要的是用给定的字符串设置值。

就像是:

dropdown.value = "an Option";
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine

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

Time.deltaTime在Unity中执行什么主要功能?

我正在学习 Unity 中的游戏开发。我最近在从教程中学习的代码中获得了 Time.deltaTime 函数的结构。我已经搜索过它以更好地理解,但没有了解使用它的主要目的,因为它以专业的方式解释。简而言之,我想要一些简单的解释。所以,我可以从中理解。

c# time unity-game-engine

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

没有发送邀请的面料分布与Gradle

我试图通过https://docs.fabric.io/android/beta/gradle.html之后的结构分发Android beta版本.

运行后gradle assembleRelease crashlyticsUploadDistributionRelease ,构建成功上传到Fabric,但问题是没有人被邀请进行测试.我在这里缺少任何设置? 在此输入图像描述

这是我在gradle文件中的设置:

ext.enableCrashlytics = true
ext.betaDistributionReleaseNotes="Hello World"
ext.betaDistributionEmails="yzhong@gmail.com"
Run Code Online (Sandbox Code Playgroud)

android crashlytics-beta google-fabric

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

如何在保持中心不缩放的同时对精灵进行 9 切片?

我想知道有什么方法可以切片这个精灵(对话框弹出的东西),可以保持底部中心(倒三角形)不缩放?如果重要的话,我正在使用 nGUI。

图像检查器属性

unity-game-engine ngui

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

如何等待协程回调执行?

我想等待 StartCoroutine 回调被执行。有人知道该怎么做吗?

public float getXXX() {
  var result;
  StartCoroutine(YYY((r) => result = r)); // how to wait this?
  return result;
}

private IEnumerator YYY(System.Action<float> callback) {
  LinkedList<float> list = new LinkedList<float>();
  while(timeleft > 0) {
    timeleft -= Time.deltaTime;
    list.add(transform.position.magnitude);
    yield return new WaitForSeconds (WAITSPAN);
  }

  callback(list.max());
  yeild return true;
}
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine

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

"新相机相机"Unity3d中的术语是什么?

我正在浏览相机脚本并遇到声明术语

new Camera camera;
Run Code Online (Sandbox Code Playgroud)

我想知道这是做什么的.它是在创建一个实例吗?令我困惑的是脚本已经附加到Inspector中的Camera Object.那为什么有必要创建一个相机实例?它在类之上定义,但未分配给任何变量.那究竟它在Unity3d中的作用是什么?

上述声明的任何特定用例?

c# unity-game-engine

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

如何使用 Unity 格式化 JSON

当我JsonUtility.ToJson()在 Unity (2019.3.0) 中使用时,它会在一行中返回 JSON 字符串,如下所示:

{"ID":0,"Name":"David","HairColor":{"r":0,"g":0,"b":0}}

我的问题是:我怎样才能得到:

{
    "ID":0,
    "Name":"David",
    "HairColor":{
        "r":0,
        "g":0,
        "b":0
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以使用too 来JsonUtility.FromJson()像往常一样简单地获取信息吗?

c# json unity-game-engine

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