首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >随着时间的推移加速球

随着时间的推移加速球
EN

Stack Overflow用户
提问于 2016-02-06 10:09:42
回答 2查看 125关注 0票数 0

我有一个球,它需要在时间上加速,但是给一个很小的力。我试着用Time.deltatime加速,但是它不起作用。

这是我的代码示例(要开始游戏,您需要一个点击和球是以恒定的速度移动),我的问题是如何能够自动加速一个球在时间。

代码语言:javascript
代码运行次数:0
运行
复制
void Start () 
{   
    Application.targetFrameRate = 60;
    gameStart = false;

}

void Update ()
{
    if (!gameStart) 
    {
        if (Input.touchCount >= 1) 
        {
            gameStart = true;
            GetComponent<Rigidbody2D> ().AddForce (new Vector2 (1f, 0.5f) * force);


        }
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-06 10:58:14

您可以尝试这样做,我没有更改任何变量名来保持对原始代码的熟悉。

代码语言:javascript
代码运行次数:0
运行
复制
Rigidbody2D myRigidbody
void Awake(){ myRigidbody = GetComponent<Rigidbody2D>(); }

void Start () 
{   
    Application.targetFrameRate = 60;
    gameStart = false;

    // Invokes the method setGameStartToFalse in 2 seconds, then repeatedly every 1 seconds.
    InvokeRepeating("setGameStartToFalse", 2f, 1.0F);
}

void FixedUpdate ()
{
    if (!gameStart) 
    {
        if (Input.touchCount >= 1) 
        {
            gameStart = true;
            myRigidbody.AddForce(new Vector2 (1f, 0.5f) * force);
        }
    }
}

void setGameStartToFalse()
{
    gameStart = false;
}
票数 1
EN

Stack Overflow用户

发布于 2016-02-06 10:49:39

Update()方法中,您设置了gamestart to true,以便应用程序在再次设置gamestart to false之前不会在第一个if中执行代码。您还必须检查是否启用了MonoBehaviour,否则更新将不执行

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35239775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档