小编Rob*_*rto的帖子

在FixedUpdate上使用Input.GetKey()是否真的错了?

我们知道有一个"规则",Input功能不应该在内部使用FixedUpdate(); Input.GetKeyDown()如果我们这样做可能不起作用,但是使用它真的错了Input.GetKey()吗?

假设我们想要以某种不依赖于硬件性能的速率按住某个键来触发某些东西.我不想创建一个逻辑来控制它使用增量时间或写入密钥检测代码Update和激活代码FixedUpdate.

只做里面的一切都没有意义FixedUpdate吗?会发生什么 - 我们可能会失去一些关键的紧迫事件,即我们不想要的事情,以保持我们想要的速度.

但是,如果发生一个单一的关键事件,我们会失去它吗?之后是否有重置Update,所以我们不会看到它FixedUpdate

unity-game-engine

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

如何在Unity中禁用Metal

Unity有一个设置来自动选择Graphics API.

出于某种原因,使用Metal时我的游戏性能要低得多; 现在我想不要选择Metal作为选项,但仍然能够自动选择Open GL ES 2.0或3.0.

我正在使用Unity 5.0.

unity-game-engine metal

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

为什么不推荐从List <A>到List <B>的转换?

了解到如果我有两个课程:

public class A {}
public class B extends A {}
Run Code Online (Sandbox Code Playgroud)

我可以从一个投List<A>List<B>通过这样做:

List<B> list = (List<B>)(List<?>) collectionOfListA;
Run Code Online (Sandbox Code Playgroud)

这会产生警告,但它有效.但是,我读到这是不推荐的.在这种情况下是真的吗?

如果我知道它List<B>会让我回归,为什么要进行这种演员是一种不好的做法?

请注意,我想知道为什么,在这种情况下,这是一个不好的做法,而不是为什么有警告.并且"这是一种不好的做法,因为它会产生警告"并不是一个好的答案.

java casting list

5
推荐指数
2
解决办法
327
查看次数

在OS X上检查程序集(dll)的版本

如何在OS X上检查dll的版本?

dll是用C#创建的,这就是我所知道的.

macos dll mono .net-assembly

5
推荐指数
4
解决办法
3639
查看次数

在Unity上构建之前运行脚本

有没有办法在构建之前自动运行脚本方法File > Build Settings... > Build

我知道我可以创建一个菜单项来调用我的方法并在之后调用构建.

build unity-game-engine

4
推荐指数
2
解决办法
8935
查看次数

UE4 - 对象有反射 - 那么为什么要使用 C++?

我一直认为 UE 比 Unity 更快,因为 UE 使用 C++ 和 Unity C#。C++ 的哲学在这里似乎被打破了,那就是你为你使用的东西付费。现在添加了反射和垃圾收集。那么,如果 UE4 是从 C++ 和另一个 C# 生成的,为什么它们会更快呢?

c# c++ unity-game-engine unreal-engine4

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

浮点划分的按位表示 - 浮点的划分如何工作

如果我们使用float,则数字可以有多个表示,因此浮点除法的结果可能会产生按位不同的浮点数.但是,如果分母是2的幂?

AFAIK除以2的幂只会移动指数,留下相同的尾数,总是产生逐位相同的浮点数.是对的吗?

float a = xxx;
float result = n/1024f; // always the same result?
Run Code Online (Sandbox Code Playgroud)

---更新----------------------

很抱歉我对于浮点数的IEEE黑魔法缺乏了解:),但我在谈论Guvante提到的那些数字:没有某些十进制数字的表示,'不准确'的浮点数.对于这篇文章的其余部分,考虑到Guvante对这些词的定义,我将使用"准确"和"不准确".

为简化起见,假设分子总是一个"准确"的数字.另外,让我们除以2的任何幂,但总是为1024.另外,我每次都以相同的方式进行操作(相同的方法),所以我说的是在不同的执行中得到相同的结果(对于相同的输入,当然).

我问这一切是因为我看到不同的数字来自相同的输入,所以我想:如果我只使用'准确'浮点数作为分子并除以1024我只会移动指数,仍然有'准确'的浮点数.

你问了一个例子.真正的问题是:我有一个模拟器有时产生0.02999994,有时相同输入产生0.03000000.我想我可以将这些数字乘以1024,得到一个'整数'('精确'浮点数),对于这两个数字是相同的,然后除以1024得到一个'精确'的圆形浮点数.

我被告知(在我的另一个问题中)我可以转换为十进制,圆形和转换为浮动,但我想知道这种方式是否有效.

c# floating-point floating-accuracy

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

如何从字符串中删除特殊字符?

我有一个包含我在字符串中允许的字符的集合:

var characterSet:NSCharacterSet = NSCharacterSet(charactersInString: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLKMNOPQRSTUVWXYZ")
Run Code Online (Sandbox Code Playgroud)

我想从字符串中去掉任何其他字符,这样两个未格式化的数据就可以被认为是相等的,如下所示:

"American Samoa".lowercaseString == "american_samoa1".lowercaseString
Run Code Online (Sandbox Code Playgroud)

这些转换后的字符串的小写版本将是 "americansamoa"

regex string nsstring nscharacterset swift

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