标签: unity-game-engine

应用AddForceAtPosition时,Unity对象会移动,只应旋转

我有一个统一的游戏对象,我想用一些力量推动向量.目前我正在尝试添加一些逼真的旋转力,因此使用AddForceAtPosition使用刚体质心的偏移量.然而,当我运行游戏时,除了旋转之外,对象开始略微移动.没有其他力量存在且没有阻力.

rb.AddForceAtPosition(transform.TransformDirection(Vector3.up * 5), transform.position + transform.TransformDirection(mainThrustPt)); 
Run Code Online (Sandbox Code Playgroud)

c# physics unity-game-engine

-1
推荐指数
1
解决办法
493
查看次数

测验游戏 - 如何在不重复的情况下提出6个随机问题?

早上好,我正在做一个问答游戏,每个主题有6个问题.我想随机提出问题(没有转发器),在我完成6个问题后给出最终成绩.

我尝试使用Random.Range,但它没有用,因为有时候我只跑了2个,3个或1个问题并很快进入笔记屏幕,我看到一些关于制作列表的话题Shuffle也试过但是Shuffle没有出现在我的脚本和很多减去.Count命令所以我不知道它是否会起作用.

有谁能够帮我?好吧,我知之甚少,我不知道如何正确使用Shuffle.如果他们可以详细谈论或发送更正的脚本,我将非常感激.提前感谢您的关注和理解,我为任何拼写错误道歉,我是巴西人,我使用谷歌翻译来翻译该消息.

这是我用于问答的完整脚本.

    using UnityEngine;
    using UnityEngine.UI;
    using System.Collections;
    using UnityEngine.SceneManagement;

    public class responder : MonoBehaviour {

    private int idTema;

    public Text pergunta;
    public Text respostaA;
    public Text respostaB;
    public Text respostaC;
    public Text respostaD;
    public Text InfoRespostas;

    public string[] perguntas;          //armazena todas as perguntas
    public string[] alternativaA;       //armazena todas as alternativas A
    public string[] alternativaB;       //armazena todas as alternativas B
    public string[] alternativaC;       //armazena todas as alternativas C
    public string[] alternativaD;       //armazena todas as alternativas D
    public string[] …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine

-1
推荐指数
1
解决办法
192
查看次数

Android公共游戏可以使用Unity Personal

我刚刚开始使用Unity引擎,我想知道

1. Unity free version has the ability to publishing game on Google Play Store?
Run Code Online (Sandbox Code Playgroud)
  1. 免费版(Unity Personal)有哪些限制?

谢谢.

unity-game-engine unityscript

-1
推荐指数
1
解决办法
319
查看次数

如何从字符串转换为UnityEngine.UI.Text

我是团结的新手,我正在制作游戏.

我想在文本标签上打印,但是我收到错误:

无法将类型'string'隐式转换为'UnityEngine.UI.Text'

我该怎么做?

我已经尝试过ToString,但我认为这是为了一个字符串.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class typewrite : MonoBehaviour
{

    private int i;
    public string text;
    public AudioClip clicksound;
    public AudioSource click;
    public string label = "";


    void Start()
    {
        click.clip = clicksound;
    }

    void message() {

        for(i=0; i<=text.Length; i++) {

            label.text += text.Substring(0, i);
            click.Play;

        }

    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢,

EthanZoneCoding

它应该一次打印一个字母:

Ë

防爆

EXA

考试

Examp

为例

每次都发出声音

c# unity-game-engine

-1
推荐指数
1
解决办法
300
查看次数

如何确定第一个simbol是否为"_",如果真的删除它并制作首字母大写?

我们有一个字符串(0 .. Nsimbols long).如何找出它的第一个simbol "_"是否真的删除它并制作首字母大写(例如"_distance" => "Distance")?

我总体上想知道 - 我是如此愚蠢,而我正在研究可见的Unity3d CustomEditor组件的创建Inspector.所以想法是 - 如果类别开始_做解析等.

但它在Unity3d中出现了私有类字段,这些字段通常是在用标签检查器_name标记它时自动编写的.[SerializeField]

.net c# unity-game-engine .net-3.5

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

C#用f浮动的字符串

顺便说一句:xposs是从服务器收到的,所以我不能说它是一个浮点数,我需要将它转换为后面0.0f的浮点数:

xposs = "951.9791"

xspawn = float.Parse(yposs);
Run Code Online (Sandbox Code Playgroud)

这只是在浮点数中返回951.9791,但我想要951.9791f

我也尝试过:

xposs = "951.9791"

xspawn = float.Parse(yposs) + 0.0f;
Run Code Online (Sandbox Code Playgroud)

这仍然不起作用.

我需要它是0.0f格式因为我在Vector3()中使用它,并且没有f似乎不起作用(它很有效但是坐标是完全错误的,如果我在它工作后手动按f.)

c# string parsing unity-game-engine

-2
推荐指数
2
解决办法
2305
查看次数

如果满足if语句,如何添加3(Unity3d)

我正在尝试制作一个if语句,每次满足if语句时都会向迭代器添加3.我知道如何添加1使用coins++但是有一种方法可以添加3.

if (other.tag == "yes") 
{
  coins + 3;
}               
Run Code Online (Sandbox Code Playgroud)

if-statement unity-game-engine

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

有人可以向我解释为什么这是一个无限循环?

有人可以向我解释为什么这是一个无限循环?当我尝试这个时,团结就会挂起.我试图建立一副52张牌

    public class Deck {
        private List<Card> deckList = new List<Card>();

        public Deck() {
            for (int i = 0; i<52; i++) {
                System.Random rnd = new System.Random();
                Card newCard = new Card(rnd.Next(1,13), rnd.Next(1,4));
                if (!deckList.Contains(newCard) || i == 0) {
                    deckList.Add(newCard);
                } else { i--; }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# list unity-game-engine

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

我正在尝试减少此代码的长度

我今天写了一些代码.我无法弄清楚如何减少这段代码的长度,虽然看似重复,但每个部分都不同.

            try {
                totalVerts.Add(verts[i]);
                if (verts[i].x > maxXvert)
                {
                    maxXvert = verts[i].x;
                }
                if (verts[i].x < minXvert)
                {
                    minXvert = verts[i].x;
                }
                if (verts[i].y > maxYvert)
                {
                    maxYvert = verts[i].y;
                }
                if (verts[i].y < minYvert)
                {
                    minYvert = verts[i].y;
                }
                if (verts[i].z > maxZvert)
                {
                    maxZvert = verts[i].z;
                }
                if (verts[i].z < minZvert)
                {
                    minZvert = verts[i].z;
                }
            }
Run Code Online (Sandbox Code Playgroud)

在这段代码中,我将Vector3位置顶点(x,y,z)添加到totalVerts数组中.我也测试每个x,y,z位置是否是所有顶点的最大值或最小值,如果是,我然后将变量maxXvert,maxYvert ...等设置为更高或更低的值.

如果有人能想出减少的方法,那就太好了.谢谢.

c# unity-game-engine

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

Unity错误CS0029:无法将类型`bool'隐式转换为`int',但它是bool

我有错误

CS0029:无法将bool类型隐式转换为int.

我的声明:

public bool isBig = false;
Run Code Online (Sandbox Code Playgroud)

如果语句有错误:

if (player.GetHP() < 6 && player.isBig == false)
Run Code Online (Sandbox Code Playgroud)

我不明白这一点.我也改变了这个bool返回并检查了几个解决方案:

player.GetBig() == false/0 / (player.GetBig()) == false/0 / !(player.GetBig()) 
Run Code Online (Sandbox Code Playgroud)

但没有任何作用......

//编辑

public int GetBig()
    { // isBig is bool
        return this.isBig;
    }

public int GetHP()
{ // HP is int
    return this.HP;
}
Run Code Online (Sandbox Code Playgroud)

c# if-statement unity-game-engine

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