Articles of 团结一致

touch.phase == TouchPhase.Canceled没有工作

我厌倦了处理和解决与多点触控有关的问题。 即时使用最大化5触摸同时,但是当两个触摸都落在两个对象,我移动我的fingures,然后触发TouchPhase.Ended事件,但没有触发TouchedPhase.Caledled。 我想解雇TouchPhase.Canceled,当我从这些对象的音效。 if (touch.phase == TouchPhase.Began) { hitObject.GetComponent ().TouchDown (hitObject); } if (touch.phase == TouchPhase.Ended) { hitObject.GetComponent ().TouchExit (hitObject); } if (touch.phase == TouchPhase.Moved || touch.phase == TouchPhase.Stationary) { hitObject.GetComponent ().TouchStay (hitObject); } if (touch.phase == TouchPhase.Canceled) { print ("Touched canceled…."); hitObject.GetComponent ().TouchExit (hitObject); }

玩家不会与墙壁的统一5相撞

我刚刚开始了一个新的个人化的第一人称控制器,像箭头移动风格,它的工作,但是当我尝试与墙壁碰撞它没有发生,我尝试添加一个胶囊,然后添加相机,刚体,字符控制器和我的脚本到那个胶囊,那么如果你能看到有一个箱子对撞机的两个墙壁触发另一个未选中,它走动但它不会碰撞,我会添加我的控制器脚本+ scereenshot,谢谢你时间 #pragma strict public var speed = 100.5; function Update () { //rotate var horizontalDir = parseFloat(Input.GetAxis("Horizontal") * speed * Time.deltaTime); transform.Rotate(0, horizontalDir, 0); //move backward and foreward var verticalDir = parseFloat(Input.GetAxis("Vertical") * (speed / 10) * Time.deltaTime); transform.Translate(0,0, verticalDir); }

团结animation的麻烦

我正在试图为我的剑作出一个反应,所以当我用鼠标左键点击时,剑就会摆动。 我看了一个教程video,并试图按照所有的步骤,但最新发生的是,剑animtion自动播放一个循环 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Sword : MonoBehaviour { void Update () { if (Input.GetButtonDown("Fire1")) { GetComponent<Animation>().Play("Attack"); } } } 我知道这是没有太多的工作,但也许有人知道我可以做错了在前面的步骤

在Unity中closures场景视图中的锚点符号

我如何closures在Unity的场景视图中的锚点符号? 我知道我可以在Gizmos的某个地方做到这一点,但我仍然无法find一个合适的select。

我的class级没有智慧

我一直在使用Monodevelop的当前版本和Unity 4.我没有在我创建的类上获得智能感知,但是我确实对Unity的框架中的类有智能感知。 错误还是就这样? 我使用UnityScript: class SomeClass extends ScriptableObject{ public function Test(){return "";} } 在另一个类中,当我使用一个types的variables作为这个类,我没有得到智能感知。

Unity3Danimation触发器重置

如何使用animation控制器重置animation条件? 我有一个门,当脚本中的布尔属性设置为true时会打开。 然后调用animation器上的setTrigger来播放开门条件,然后将boolean属性重置为false。 5秒后,我关上门。 但是,当我再次将布尔值更改为true以打开门时,setTrigger在animation工具上不再工作,或者门closures的触发器发生冲突。 我将如何解决这个问题? animation师有办法在特定animation完成时将条件设置为false? 最初,我在animation制作中使用了一个布尔条件,但遇到了同样的问题。 我查看了使用触发器的2D示例项目,并假定这只会触发一次。 不过,我猜别的东西可能是错的。 我的脚本中的代码如下:(其中anim是animation组件) void Update(){ if (open) { OpenDoor(); open = false; } } void OpenDoor(){ anim.SetTrigger ("OpenDoor"); Invoke("CloseDoor",5); } void CloseDoor(){ anim.SetTrigger ("CloseDoor"); } 正如我所说的animation第一次正确的触发,但不是在随后的时间。 我只是试图通过改变检查员的公开“开放”财产 谢谢

Android版统一按照刷卡速度提高animation速度

我通过Maya完成了animation,并将FBX文件统一起来。 这是我的代码来计算刷卡的速度: Vector2 speedMeasuredInScreenWidthsPerSecond =(Input.touches[0].deltaPosition / Screen.width) * Input.touches[0].deltaTime; 现在我想采取speedMeasuredInScreenWidthsPerSecond并使用它来相应地增加animation速度,如下所示: animation["gmeChaAnimMiddle"].speed=Mathf.Round(speedMeasuredInScreenWidthsPerSecond); 但是,这导致了我需要将Vector2转换为浮点的错误。 那我该如何克服呢?

实例化预制件,但不在已占用的位置

我想在屏幕上随机生成气泡。 当在一个地方产生气泡时,在其半径1区域附近不应该产生其他气泡,因此它们不会与任何其他气泡碰撞或触发。 我该怎么做 ? public void GenerateBubble () { newBubbleXPos = Random.Range (-7, 7); newBubbleYPos = Random.Range (-3, 3); bubbleClone = (GameObject)Instantiate (bubblePrefab, new Vector3 (newBubbleXPos, newBubbleYPos, 0), Quaternion.identity); UIManager.instance.ChangeBubbleSprite (bubbleClone); bubbleList.Add (bubbleClone); if (bubblePosList.Contains (bubbleClone.transform.position)) { bubbleClone.transform.position=new Vector3(Random.Range (-7,7),Random.Range (-3,3),0); } bubblePosList.Add (bubbleClone.transform.position); bubbleClone.transform.parent = UIManager.instance.CurrentLevel.transform; GLOBALS.bubbleCounter++; } 在这个代码中,每个气泡都是在不同的位置产生的,但是它们可以和其他气泡相碰撞。 我想生成新的气泡不在同一个位置。 我的气泡对撞机的半径是1。

如果我想让它自动运行,我应该在哪里放置代码?

我是编程新手,当用户点击对象时,我发现了一个animation脚本,它具有在OnMouseDown事件中调用的代码。 我想代码自动运行,而不是响应一个事件。 我在哪里可以把代码自动调用

Unity3D:Unity无法检测到空对象

即时通讯实例化一个对象,它将播放我的游戏的背景音乐。 在Awake()函数中,我检查是否有一个标签为“MusicPlayer”的游戏对象,如果没有,我实例化一个预制件(带有“MusicPlayer”标签的音乐播放器)。 现在我的问题是这样的: 即使有一个或多个音乐播放器(带有“MusicPlayer”标签的对象),它也可以实例化预制件。 为什么发生这种情况? 这是我的代码: var musicPrefab : Transform; function Awake() { if(GameObject.FindWithTag("MusicPlayer") == null) { Instantiate(musicPrefab,transform.position,transform.rotation); } } 我也有一个脚本,使音乐播放器不会被重新加载时被破坏。 这是脚本: function Start() { DontDestroyOnLoad (gameObject); } 谢谢你的时间,我希望我已经清楚了。