public int num;
void Start () {
num = Random.Range (1, 5);
}
Run Code Online (Sandbox Code Playgroud)
当我这样做时,这个词Random会变成红色,它只是说:
"未知的解决错误".
有任何想法吗?
每当我运行此代码时,我会收到多个错误:
transform.rotation = Quaternion.FromToRotation (Vector3(0, 0, 0), Vector3(0, 0, 270));
Run Code Online (Sandbox Code Playgroud)
你能建议修复这段代码吗?
错误:
表达式表示预期的类型',即可变',值'或方法组'
最好的重载方法匹配
UnityEngine.Quaternion.FromToRotation(UnityEngine.Vector3, UnityEngine.Vector3)有一些无效的参数参数#1'无法将对象'表达式转换为类型
UnityEngine.Vector3
是否可以在运行时将方式点分配给Unity中的player或gameObject?
我将在运行时创建一个随机数量的玩家,并创建两倍于玩家或游戏对象的游戏对象或转换...
可以根据玩家的性质或数量在运行时设置路标吗?
欢迎提出任何建议或解决方案.
我和我的朋友正在构建一个简单的空闲游戏,作为我们团结的第一个项目.我们达到了构建处理所有计算的脚本的程度,并与GameObject玩家看到的每个进行通信.
现在,我们应该附加这个脚本?
我们宁愿不使用a,GameObject因为:
1)这GameObject将是一个矫枉过正
2)GameObject存在于我所有"物理"对象存在的空间中的谎言(由于脚本不必"存在于某处",这将是无用的)
第一次在stackoverflow中发帖,如果我犯了任何错误请告诉我^^
所以,我想做的事情似乎应该非常简单.我需要获取下一个场景的名称(不加载它),如构建设置中所列.
做以下事情我认为我有一个简单的解决方案:
int currentIndex = SceneManager.GetActiveScene().buildIndex;
string nextSceneName = SceneManager.GetSceneAt(currentIndex + 1).name
Run Code Online (Sandbox Code Playgroud)
但显然"GetSceneAt"不适用于构建设置中的场景,而是适用于SceneManager所具有的某种内部列表.
我的所有谷歌搜索都会根据场景的特定命名顺序显示解决方案,或者在构建之前将场景列表导出到文件(手动需要导出的列表)等等.我无法想象这样一个简单的问题需要这么复杂的解决方案,这就是我要求自己的原因.
如何在构建设置中获取下一个场景的名称?
我正在尝试为Unity中的CellSize制定一些东西.这适用于GridLayoutGroup组件.我发现用计算器完成的工作完全正常:Screen.Width/1280,Screen.Height/720.由于我使用720p作为基本分辨率,一切看起来很好,我用它作为基础.对于720p的单元尺寸,100x100看起来很棒.
例如,他们的分辨率是1280:1024它应该出来(100,142)然而它总是出来(1.0,1.0).如果分辨率很小......比如320x200就会出现(0.0,0.0).
这是我的代码:
SlotPanel.GetComponent<GridLayoutGroup>().cellSize = new Vector2((Cam.pixelWidth / 1280) * 100, (Cam.pixelHeight / 720) * 100);
Run Code Online (Sandbox Code Playgroud)
Cam是玩家使用的相机.我尝试的另一个代码是:
SlotPanel.GetComponenet<GridLayoutGroup>().cellSize = new Vector2((Screen.Width / 1280) * 100, (Screen.Height / 720) * 100);
Run Code Online (Sandbox Code Playgroud)
两者都会导致同样的问题.在这一点上,我对自己的生气感到失望.我不明白为什么数学是正确的,但它不能正常工作.
我想创建一个Vector3类型的对象,引用我的播放器的位置,以便我可以在我的脚本中使用较短的名称.但我没有这样做.似乎新对象指向其他地址.
我写了一些像这样的代码:
//PlayerController.cs
vector3 playerPos = transform.position;
Debug.Log(System.Object.ReferenceEquals(playerPos,transform.position));
Run Code Online (Sandbox Code Playgroud)
输出是
假
造成这种情况的原因是什么?如何正确引用我的球员位置?
我开始使用Unity,我注意到即使代码变化很小,也会产生大量的git差异.
最初,我.gitignore刚刚有这个:
Temp/
但它没有做太多繁重的工作.
我在Github上找到了这个.gitignore模板,但我很好奇是否有其他人使用它 - 无论是起点还是原样.
我有两个脚本附加到同一个emptygameobject.第一个脚本是:
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
public class SpawnObjects : MonoBehaviour
{
public int numberOfObjects;
public GameObject objectToPlace;
public Vector3 newObjectsSize = new Vector3(5, 5, 5);
public float spawnSpeed = 0.1f;
private int wallsLengthX;
private int wallsLengthZ;
private int wallsPosX;
private int wallsPosZ;
private int currentObjects;
private List<GameObject> objects = new List<GameObject>();
void Start()
{
var wi = GetComponent<Walls>();
wallsLengthX = (int)wi.lengthX;
wallsLengthZ = (int)wi.lengthZ;
wallsPosX = (int)wi.wallsStartPosition.x;
wallsPosZ = (int)wi.wallsStartPosition.z;
StartCoroutine(Spawn());
}
IEnumerator Spawn() …Run Code Online (Sandbox Code Playgroud) 我正在学习团结,我想知道...如果有可能将小动画介绍视频或.gif动画添加到统一的闪屏中?如果是,那该怎么办?我试图使用播放器设置更改启动画面,但.gif动画无效.