Пули стреляют только в одном направленииC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Пули стреляют только в одном направлении

Сообщение Anonymous »

Я создаю 2D-платформер на Unity и столкнулся с небольшой проблемой. У меня есть враги, которые стреляют в игрока пулями. Однако пули стреляют только в одном направлении, независимо от того, в каком направлении смотрит враг.
В моем Enemy Script у меня есть это:

Код: Выделить всё

Instantiate(bullet, spawnPosition.position, Quaternion.identity);
и в моем сценарии маркеров это есть

Код: Выделить всё

rigidbody2D.velocity = new Vector2(bulletSpeed,0);
Пожалуйста, помогите, если можете.
Я понимаю, почему это происходит, но не могу найти решение. Чтобы обновить свой вопрос, я хочу иметь возможность проверять направление врагов, чтобы я мог изменить скорость пули на положительную/отрицательную, чтобы соответствовать направлению. Поскольку врагов такого типа будет несколько, я не знаю, как это сделать.

Код: Выделить всё

public class bulletScript : MonoBehaviour {

// Use this for initialization
private float bulletSpeed;
GameObject parent;

private Vector3 theScale;

void Start () {

rigidbody2D.velocity = new Vector2(bulletSpeed,0);
}

// Update is called once per frame
void Update () {

//  if(transform.localScale.x < 0) bulletSpeed = -100;
//  if(transform.localScale.x > 0) bulletSpeed = 100;
}
public void SetEnemy(GameObject obj)
{
parent = obj;
}
Затем в HammerScript.cs

Код: Выделить всё

public class HammerScript : MonoBehaviour {

public bulletScript bullet;
public Transform spawnPosition;

void FixedUpdate ()
{

instantiate(bullet, spawnPosition.position, Quaternion.identity);
((bulletScript)bullet).SetEnemy(this);
}
}
2 новые ошибки:

Assets/Scripts/Level 2/HammerScript.cs(89,64): ошибка CS1502: лучший вариант перегруженного метода для BulletScript.SetEnemy(UnityEngine.GameObject) имеет несколько недопустимых аргументов


Assets/ Scripts/Level 2/HammerScript.cs(89,64): ошибка CS1503: аргумент «#1» не может преобразовать выражение HammerScript в тип «UnityEngine.GameObject»


Подробнее здесь: https://stackoverflow.com/questions/246 ... -direction
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Пули не стреляют в pygame
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Пули стреляют из неправильной позиции после перемещения игрока в небольшой игре «Space Invaders»
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Пули стреляют из неправильной позиции после перемещения игрока в небольшой игре «Space Invaders»
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Пули стреляют из неправильной позиции после перемещения игрока в небольшой игре «Space Invaders»
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Наблюдатели-прототипы, прикрепленные к классу, стреляют несколько раз.
    Anonymous » » в форуме Php
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»