【问题标题】:Projectile in unity弹丸一体
【发布时间】:2016-06-06 03:42:06
【问题描述】:

我正在做一个项目,在该项目中,用户可以通过 x 轴移动球体,并且可以在滑动球体时通过 y 轴制造弹丸。我知道如何在 x 轴上移动对象,但不知道在滑动该对象时制造弹丸,任何形式的帮助将不胜感激..这是我到目前为止的代码....

void Update() {
    if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved) {
        Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;

        transform.Translate(touchDeltaPosition.x * speed, 0, 0);
    }

【问题讨论】:

  • 那么你的问题是什么?
  • 我想在滑动球体时通过 y 轴进行抛物线投影。
  • 抛物线运动可以通过物理学使用重力和线性拖动来实现。只需在滑动时使用rigidbody.AddForce()

标签: c# unity3d


【解决方案1】:

如果弹丸在球体中,你喜欢移动它,对吗?

在这种情况下,如果您检测到圆/弹丸交叉点,您可以将圆的 Xspeed 添加到弹丸。

//PROJECTILE OBJECT
void OnTriggerStay(Collider other) 
{
     xSpeed = xSpeed + other.gameObject.xSpeed;
}

对于第二个问题,您需要创建一个脚本并将此脚本附加到场景元素,我使用 OnMouseDown 事件,但您可以使用您的事件。

//CREATOR OBJECT
using UnityEngine;
using System.Collections;

public class createProjectile : MonoBehaviour
{

    public GameObject projectile;

    void OnMouseDown()
    {
        Instantiate(projectile);
    }
}

您需要在 Unity 检查器中分配 GameObject 弹丸: UnityInspectorImage

【讨论】:

  • 谢谢,但你能告诉我如何在滑动球体的同时创建射弹吗?
  • 什么事件会产生你的弹丸?
  • 好的,我在答案中添加您的第二个问题。祝你的游戏好运
  • 非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
  • 2018-03-19
  • 1970-01-01
  • 1970-01-01
  • 2011-06-18
  • 2019-07-31
相关资源
最近更新 更多