我来自其他编程语言,我是Unityscript的新手.我试图了解Unityscript代码正在做什么.
我找到了这条线
var guiTouchPos : Vector2 = touch.position - guiTouchOffset;
Run Code Online (Sandbox Code Playgroud)
这是什么声明?这条线在做什么?写起来不容易
var guiTouchPos = touch.position - guiTouchOffset;
Run Code Online (Sandbox Code Playgroud)
因为我没有看到Vector2在代码中的任何地方使用?
是否为两个变量分配减法的行?
谢谢.
我正在尝试使用Unity 4.6中的新UI对象来创建排名屏幕,我在其中下载有关用户的信息并显示它们.在这些信息中,我有一个指向其图片的URL.
在UI工具之前,我使用GUITexture并使用www.LoadImageIntoTexture方法,但似乎没有类似的UI图像解决方案.使用带有Rect变换的GUITexture似乎不起作用.
我应该手动下载图像并将其加载到图像中,还是使用类似于使用WWW类的解决方案?
我试图将两个纹理合并为一个,第一个纹理来自webcamTexture
第二个是来自精灵,使用:gameobject.getComponent<SpriteRenderer>().sprite.texture as Texture2D
我在编写函数时遇到问题这是我到目前为止所做的:
public static Texture2D CombineTextures(GameObject obj, Texture2D background, Texture2D TodrawLogo)
{
Vector3 v = obj.transform.position;// obj is TodrawLogo gameobject
int width = TodrawLogo.width;
int height = TodrawLogo.height;
for (int x =(int)v.x; x < width; x++){
background.SetPixel(x,(int)v.y,TodrawLogo.GetPixel(x,(int)v.y));
}
background.Apply();
return background;
}
Run Code Online (Sandbox Code Playgroud)
这就是我想要做的:
WebcamTexture

结果纹理应该是这样的

webcamTexture是一个3dplane和徽标是一个single sprite
但遗憾的是我的功能不起作用有没有人知道如何解决这个我知道我应该找到的确切坐标todraw image和设置像素但我无法弄清楚如何
非常欣赏
编辑:
我试图使用@nexx代码:
public static Texture2D CombineTexture(Texture2D background, Texture2D TodrawLogo)
{
int width = TodrawLogo.width;
int height = TodrawLogo.height;
int backWidth …Run Code Online (Sandbox Code Playgroud) 我是Unity5的新手,我正在尝试创建一个简单的游戏.
通过扩展MonoBehaviour,我收到一个Update()函数.但我不知道它在幕后是如何运作的.
我的问题是,当许多人MonoBehaviour有自己的Update功能时,Update()函数是序列化的(一个接一个地调用)还是并行化的.
例如,如果我有两个脚本,每个脚本都有自己的更新,那么是同时调用更新(并行化)还是一个接一个地调用它们(序列化)?
如果序列化,我该如何确定订单?
嗨,我正在使用Unity 2D在两个人之间创建对话.正如你所看到的,当一个角色遇到某人时,我会渲染一个气泡精灵.然后我想要一个外部资源及其内部的文本("你好,你好吗?").有人能帮我完成这项工作吗?我很无能,我尝试使用文本网格,但它没有用.非常感谢你!(我使用的是Javascript)
我对 Unity 还很陌生,如果您对这个问题有任何帮助,我将不胜感激。
我的设置可以很好地使用我设计的屏幕分辨率。我相信当我更改分辨率时,UI 元素可以很好地缩放,但我刚刚发现我制作的碰撞器(图像中的红线)却不能。目前,我正在使用添加到画布上的边缘碰撞器。我还尝试向每个面板添加单独的边缘碰撞器。然后我尝试了盒子碰撞器。我尝试过将面板+碰撞器变成预制件。一切都无济于事。我还尝试通过脚本设置边缘碰撞器的点,以便它们始终包裹在面板周围,但我无法得到任何碰撞(注意:我不知道如何显示/渲染这个运行时生成的碰撞器所以我不能完全确定它们是否正是我想要的样子)。
太棒了;有人知道如何使碰撞器缩放或环绕它们所绑定的 UI 元素吗?
我原本以为必须知道使用Unity开发的C#和UnityScript.但现在看来我只需要知道一个.所以,
if(Vector3.Distance(transform.position,Player.position) <= MaxDist)
{
//Call What Happens Here
}
Run Code Online (Sandbox Code Playgroud)
我想用一些将播放器发送到主菜单(场景 0)的代码替换注释。顺便说一下,这是 JavaScript,我使用的是 Unity 5.6。完整代码如下。
#pragma strict
var Player : Transform;
var MoveSpeed = 4;
var MinDist = 3;
var MaxDist = 20;
function Start()
{
}
function Update ()
{
transform.LookAt (Player);
if(Vector3.Distance(transform.position,Player.position) >= MinDist)
{
transform.position += transform.forward * MoveSpeed*Time.deltaTime;
if(Vector3.Distance(transform.position,Player.position) <= MaxDist)
{
//Call What Happens Here
}
}
}
Run Code Online (Sandbox Code Playgroud) 作为一名学生并完成了我的学年,我研究了Unity在C#中的开发,以学习如何使用引擎,但最重要的是要玩得开心.
Unity的一个优点是你可以直接在拖放中传递一个游戏对象参数,但为了这个可能,所述变量必须是公开的,这与我在课堂上学到的相反(属性)必须尽可能私密).
我的问题是,如何确保与私有属性具有相同的结果,即,在不使用拖放系统的情况下手动恢复游戏对象?
提前致谢,对不起我的英语水平.
通过他们网站上的Unity3D教程(http://unity3d.com/learn/tutorials/projects/roll-a-ball/moving-the-player),我遇到了"通用功能".
http://docs.unity3d.com/Manual/GenericFunctions.html
在C++中,我会称之为模板.在他们的UnityScript中它看起来像这样:
var obj = GetComponent.<Rigidbody>();
Run Code Online (Sandbox Code Playgroud)
我已经尝试在线寻找其他地方以了解这些东西究竟是如何工作的,以及我如何编写使用它的UnityScript代码,但我已经空了.我想知道我是不是在寻找正确的条款.他们说UnityScript基于Javascript,但我怀疑这是Unity的UnityScript编译器特有的.
ECMAScript版本的JavaScript中不存在"通用函数",仅在Unity的版本中.
编辑:这个问题是在Unity仍在调用他们的专有脚本语言"Javascript"时发布的,尽管他们现在似乎再次称它为UnityScript.这样可以防止问题首先被问到.