Тема: Rescue Operation
Показать сообщение отдельно
Старый 26.12.2012, 17:50   #4
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Rescue Operation

На сложном уровне нажал 465 раз и не продвинулся дальше трети экрана. Это такой прикол?

А код имхо говнокод. Нельзя каждую итерацию объекты искать, это медленно очень. Ну и соответственно нет привязки к о времени => нет гарантии, что игра у всех будет одинаково работать.
public int clicks;
    public 
override void Update()
    {
        if (
Input.GetKeyDown(KeyCode.Space))
        {
            
this.clicks++;
            if (((
SpeedTank)GameObject.FindGameObjectWithTag("Difficult").GetComponent(typeof(SpeedTank))).startspeed == && ((SpeedTank)GameObject.FindGameObjectWithTag("Difficult").GetComponent(typeof(SpeedTank))).easyin == 1)
            {
                
float z this.transform.position.0.3f;
                
Vector3 position this.transform.position;
                
float num position.z;
                
Vector3 vector this.transform.position position;
            }
            if (((
SpeedTank)GameObject.FindGameObjectWithTag("Difficult").GetComponent(typeof(SpeedTank))).startspeed == && ((SpeedTank)GameObject.FindGameObjectWithTag("Difficult").GetComponent(typeof(SpeedTank))).mediumin == 1)
            {
                
float z2 this.transform.position.0.2f;
                
Vector3 position2 this.transform.position;
                
float num2 position2.z2;
                
Vector3 vector2 this.transform.position position2;
            }
            if (((
SpeedTank)GameObject.FindGameObjectWithTag("Difficult").GetComponent(typeof(SpeedTank))).startspeed == && ((SpeedTank)GameObject.FindGameObjectWithTag("Difficult").GetComponent(typeof(SpeedTank))).hardin == 1)
            {
                
float z3 this.transform.position.0.1f;
                
Vector3 position3 this.transform.position;
                
float num3 position3.z3;
                
Vector3 vector3 this.transform.position position3;
            }
            if (((
SpeedTank)GameObject.FindGameObjectWithTag("Difficult").GetComponent(typeof(SpeedTank))).startspeed == 4)
            {
                
float z4 this.transform.position.0.6f;
                
Vector3 position4 this.transform.position;
                
float num4 position4.z4;
                
Vector3 vector4 this.transform.position position4;
            }
        }
        else
        {
            
float z5 this.transform.position.0.01f;
            
Vector3 position5 this.transform.position;
            
float num5 position5.z5;
            
Vector3 vector5 this.transform.position position5;
        }
    } 


Теперь я знаю, что js генерит говнокод)))

наверняка вот это:
float z this.transform.position.0.3f;
Vector3 position this.transform.position;
float num position.z;
Vector3 vector this.transform.position position
было вот этим:
transform.position.+= 0.3f
Три лишних переменных, жуть
__________________
Blitz3d to Unity Wiki

Последний раз редактировалось pax, 27.12.2012 в 07:29.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Wegox (27.12.2012)