朝鼠标方向启动我的角色

问题描述 投票:0回答:1

嘿,我对编程非常陌生,我正在开发一个 2D 原型,其中我的角色是一个史莱姆,我希望能够按住按钮来增强跳跃强度,然后在释放时它将向鼠标所在的方向发射

我一直在尝试使用新的 Vector 2 来使用设置的刚体速度,但我似乎无法让它按预期工作

c# unity-game-engine unityscript
1个回答
0
投票

现在让我们来回顾一下:

1.

    float force; 
    RigidBody2D rb;
    [SerializeField] float forcelimit; 
    [SerializeField] float forceIncrease; 

    void Start()
    {
        rb = GetComponent<RigidBody2D>();
    }

    void Update()
    {
        if(Input.GetButton(KeyCode.Mouse0))  // increase force while mouse is pressed. 
        {
            force = Mathf.Clamp(force + forceIncrease, 0, forcelimit);   // limit force to forcelimit    
        } 
 
        if(Input.GetButtonUp(KeyCode.Mouse0))  
        {
            Launch();  
        }  
    }    

    void Launch()    
    { 
        var direction = (Input.mousePosition - transform.position);  
        Vector2  direction2D = new Vector2(direction.x, direction.y);  
        rb.velocity = direction2D * force; // apply force 
        force = 0;   // reset force  
    }   

将上述代码粘贴到派生自 MonoBehaviour 的类中,瞧!!

但是,我强烈建议您在使用 Unity 之前学习实际编程。我不知道你的野心是什么。如果你想真正编程——学习编程!如果您想自己制作游戏,您仍然应该具备编程和数学基础知识。 请注意,此类问题在 stackoverflow 上通常不受欢迎,并且将被关闭。这不是修复我的问题的网站。这是一个寻求帮助的尺寸。不是为了免费完成工作。请参阅提问指南!!! ...

© www.soinside.com 2019 - 2024. All rights reserved.