我正在阅读一些Unity教程,并在其中一个示例脚本中遇到了这行代码.我熟悉javascript但我从未见过在声明除了对象文字之外的变量时使用的冒号.
var controller : CharacterController = GetComponent(CharacterController);
冒号在这一行做什么.
在脚本的末尾,还有另一行可能相关的代码
@script RequireComponent(CharacterController)
以下是来自unity的完整示例代码:
http://docs.unity3d.com/Documentation/ScriptReference/CharacterController.SimpleMove.html
-
我搜索了SO的重复项,但我找到的唯一一个就是这个:
那家伙被嘲笑出了网站
我正在尝试编写一个简单的聊天框,我在Unity论坛上找到了一段非常简单的代码,但它在UnityScript中(类似于JavaScript).
我试图将代码转换为C#并且我已经取得了一些成功,但问题是代码使用了Array.Unshift(),它将一个项目添加到数组中.我试图在C#中找到一些简单的方法,但对于我的生活,我无法让它工作.
什么是C#等价物Array.Unshift?
我正在尝试找到合适的词语来描述我遇到的问题,希望这能解释问题。
我在两个不同的类中有两个Update()方法,其中一个类的某些功能依赖于另一个类的数据。代码 A 依赖于代码 B 的数据,使用Debug.Log()我发现代码 B 的Update()是在代码 A 的Update()之后执行的。
我的问题是,是否有一个开箱即用的方法来控制 Update 方法的调用堆栈?如果有的话是怎么做到的?如果没有,是否有人有任何我可以用来解决问题的技术。我意识到我可以在代码 B 中创建可以从更新中的代码 A 调用的方法来解决问题,但我很好奇是否有其他方法可以解决问题。
我有 2 个控制器可能
1-ControllerBLUE.controller(默认)
2-控制器RED.controller
如何从脚本更改控制器
我试过:
var colorController = GetComponent(Animator);
colorController.runtimeAnimatorController = Resources.Load("main/colors/controllercolors/ControllerRED.controller ") as RuntimeAnimatorController;
Run Code Online (Sandbox Code Playgroud)
但这不起作用,只是将动画控制器设置为:“无(运行时动画控制器)”
是否可以 ?我怎样才能让它发挥作用?
我知道之前已经问过这个问题,但我无法在任何地方找到答案,所以请不要将此标记为重复.
我想在Unity中制作2D游戏,我需要检测击中敌人的子弹.
我在敌人预制件和子弹预制件上都有一个Box Collider 2D和一个Rigidbody 2D.
首先,我尝试不检查"Is Trigger"框.
这是我使用的代码:
function OnCollisionEnter2D(coll: Collision2D)
{
Debug.Log("Detected !");
}
Run Code Online (Sandbox Code Playgroud)
没有成功.
接下来我尝试勾选'Is Triggered'框,并使用以下代码:
function OnTriggerEnter2D(other: Collider2D)
{
Debug.Log("Detected !");
}
Run Code Online (Sandbox Code Playgroud)
再一次,没有成功......
我在两个对象上的组件是'Box Collider 2D'.
我尝试的方法都没有返回任何错误消息,函数只是没有被调用.
如果有人请知道发生了什么,请尽快告诉我 - 我无法继续处理我的游戏,直到这个工作:/
这是Unity的错误吗?我应该报告吗?
此外,以下是其中一个对象上的检查器的屏幕截图:

欢呼任何能回答我所有问题的人!对不起,如果我没有对我的帖子进行格式化,我对论坛不熟悉......
Fjpackard.
collision-detection unity-game-engine unityscript unity3d-2dtools
我在中有以下脚本UnityScript,该脚本在JavaScriptUnity Editor中被调用,但是对于遍历对象而言并不太相同。
public class UpgradeProfile extends MonoBehaviour {
public var brakeSpeed : float = 0;
public var jumpForce : float = 0;
public var maxJumps : int = 1;
};
Run Code Online (Sandbox Code Playgroud)
如何遍历此类的所有属性,例如记录值或将它们与同一类的另一个成员的值求和?
注意: UnityScript不是JavaScript 或 C#,因此与这些语言有关的答案不能回答此问题。
我想从我的服务器获取视频并将其保存在我的资产中,以便稍后在我的游戏中查看。我知道使用 www. 但我不明白如何从我的服务器下载视频并给出它的网址。下面是获取视频作为纹理的代码。
var www = new WWW("http://Sameer.com/SampleVideo_360x240_2mb.mp4");
var movieTexture = www.movie;
Run Code Online (Sandbox Code Playgroud)
知道如何保存 mp4 文件吗?
我在主摄像头上添加了一个C#脚本.我定义了一个MyNumber如下变量-
public int MyNumber = 9;
Run Code Online (Sandbox Code Playgroud)
我的问题是当我改变变量的值时; 在Unity Editor中,它保持不变.例如,如果我使用Monodevelop将C#脚本文件中的值从9更改为19,则Unity编辑器将继续显示My Number = 9而不是19; 除非我重置脚本文件.
在Unity中,它提供了获取GameObject实例的函数
GetInstanceID ()
Run Code Online (Sandbox Code Playgroud)
虽然实例ID可以与游戏对象不同,但是通过实例ID获取游戏对象的函数
InstanceIDToObject()
Run Code Online (Sandbox Code Playgroud)
仅在EditorUtility中提供,在release中无法使用。
据我认为,使用HashTable可能是实现这一目标的一种方法,但是还有其他方法可以实现这一目标吗?