2013-05-02 3 views
1

эй я увидел кого-то это сделатьустановить несколько поплавков в одну переменную?

// пуля скорость 5, нацеленной на Тиом:

float3 v = ((timmy.transform.position - transform.position).Normalized)*5; 
bullet.velocity = v; 

transform.position является Vector3 (с плавающей точкой х, поплавок у, всплывает г);

так я думал, что я мог бы сделать это

private float3 _position; 
public Food() 
{ 
    float3 position = _position(0.0f,0.0f,0.0f); 
} 

но говорит: тип или пространство имен `float3' не может быть найден. Вам не хватает указаний по использованию или ссылки на сборку?

так как бы я допустил, чтобы одна переменная принимала несколько значений одного и того же типа?

+1

HTTP://stackoverflow.com/q/4079451/335858 – dasblinkenlight

+0

В C# BCL нет 'float3', если вы не используете библиотеку. Но вы можете реализовать свои: http://www.codeproject.com/Articles/17425/A-Vector-Type-for-C –

+0

Связанные: http://stackoverflow.com/q/8145279/335858 – dasblinkenlight

ответ

2

У вас есть несколько возможностей.

Вы можете объявить класс (или на структуру):

public class float3 
{ 
    public float X { get; set; } 
    public float Y { get; set; } 
    public float Z { get; set; } 
} 

Вы можете использовать массив:

private float[] _position; 
public Food() 
{ 
    _position = new[] {0.0f,0.0f,0.0f}; 
} 

Или вы можете использовать кортеж

private Tuple<float,float,float> _position; 
public Food() 
{ 
    _position = Tuple.Create(0.0f,0.0f,0.0f); 
} 
+1

Мне кажется, мне нравится struct-option наилучшим образом, поскольку он сохраняет X, Y и Z-имена. – Davio

+0

Мне тоже нравится, но это действительно зависит от того, чего вы хотите достичь: создание нового класса только для одноразового использования, вероятно, слишком велико. Тогда я бы пошел с массивом, если изменчивость и отсутствие принудительной длины не являются проблемой. В противном случае, я бы предпочел кортеж. – Falanwe

+0

ОК спасибо, я подумал, что, возможно, 3-х стояли за то, сколько плаваний вы хотите иметь в одной переменной, и вы можете сделать любое число, это явно не так. если эти три - мои единственные варианты, я думаю, что я поеду за кортежем, никогда не слышал об этом, так что всегда приятно попробовать что-то новое. – Rottjung

Смежные вопросы