Как двигать 2D объект
|
|
vampir0305 | Дата: Среда, 20 Июля 2016, 20:22 | Сообщение # 1 |
Unity C# Programmer
Сейчас нет на сайте
| Имеется 2D объект и мне нужно его двигать вправо. Я пробовал этот код, но не вышло(С#)
Код using UnityEngine; using System.Collections;
public class Control : MonoBehaviour {
public Vector2 spd = new Vector2(5,0); public Transform body;
// Use this for initialization void Start () {
} // Update is called once per frame void Update () {
body.transform.position + Vector2.right * 2f; }
Красочная сюжетно-ориентированная игра-головоломка
Сообщение отредактировал vampir0305 - Среда, 20 Июля 2016, 20:26 |
|
| |
Egoor | Дата: Среда, 20 Июля 2016, 22:14 | Сообщение # 2 |
участник
Сейчас нет на сайте
|
Код body.transform.position += Vector2.right * 2f;
|
|
| |
Tymonr | Дата: Среда, 20 Июля 2016, 23:05 | Сообщение # 3 |
With OpenSource forever♥
Сейчас нет на сайте
| vampir0305,
посмотри в гугле "операция присвоения" — полезно почитать будет.
А на саму проблему ответили выше
Если вы решили обратиться к нам за помощью, не становитесь в позицию неудачника. И не ведите себя как неудачник. Лучший способ получить быстрый и чуткий ответ, - спрашивать как победитель — спрашивать как человек умный, уверенный в себе и знающий, которому просто понадобилась помощь при решении одной конкретной проблемы. Как правильно задавать вопросы в технических форумах
|
|
| |
EchoIT | Дата: Среда, 20 Июля 2016, 23:29 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| Egoor, Tymonr, чё вы так напали на него, может просто опечатался и не заметил.
Долгожданный анонсик: State of War
|
|
| |
Tymonr | Дата: Четверг, 21 Июля 2016, 03:22 | Сообщение # 5 |
With OpenSource forever♥
Сейчас нет на сайте
| EchoIT, да я и не нападал. Да и Egoor все норм ответил. Раз уж человек сюда пишет, значит что-то не работает. А тут больше не чему не работать
Если вы решили обратиться к нам за помощью, не становитесь в позицию неудачника. И не ведите себя как неудачник. Лучший способ получить быстрый и чуткий ответ, - спрашивать как победитель — спрашивать как человек умный, уверенный в себе и знающий, которому просто понадобилась помощь при решении одной конкретной проблемы. Как правильно задавать вопросы в технических форумах
|
|
| |
vampir0305 | Дата: Четверг, 21 Июля 2016, 06:30 | Сообщение # 6 |
Unity C# Programmer
Сейчас нет на сайте
| Сделал так:
Код using UnityEngine; using System.Collections;
public class Control : MonoBehaviour {
public Vector2 spd = new Vector2(5,0); public Transform body;
// Use this for initialization void Start () {
} // Update is called once per frame void Update () {
body.transform.position += Vector2.right * 2f; }
Всё равно не работает. Выдаёт ошибку Assets/Control.cs(21,23): error CS0121: The call is ambiguous between the following methods or properties: `UnityEngine.Vector2.operator +(UnityEngine.Vector2, UnityEngine.Vector2)' and `UnityEngine.Vector3.operator +(UnityEngine.Vector3, UnityEngine.Vector3)'
Красочная сюжетно-ориентированная игра-головоломка
|
|
| |
Lertmind | Дата: Четверг, 21 Июля 2016, 08:07 | Сообщение # 7 |
заслуженный участник
Сейчас нет на сайте
| vampir0305, Transform.position имеет тип Vector3, поэтому нельзя прибавить Vector2. Кроме того, вместо body.transform.position можно написать просто body.position. Так что получится:
Код body.position += Vector3.right * 2f;
|
|
| |
vampir0305 | Дата: Четверг, 21 Июля 2016, 14:25 | Сообщение # 8 |
Unity C# Programmer
Сейчас нет на сайте
| Lertmind, Не работает. Всё равно пишет ошибку:Assets/Control.cs(22,14): error CS0121: The call is ambiguous between the following methods or properties: `UnityEngine.Vector3.operator +(UnityEngine.Vector3, UnityEngine.Vector3)' and `UnityEngine.Vector2.operator +(UnityEngine.Vector2, UnityEngine.Vector2)'
Красочная сюжетно-ориентированная игра-головоломка
|
|
| |