2014-09-07 2 views
0
#pragma strict 

var targetscript : Diamond; 
var yellow : Color(1,0.92,0.016,1); 
var cyan : Color(0,1,1,1); 
var green : Color(0,1,0,1); 
var red : Color(1,0,0,1); 
var magenta : Color(1,0,1,1); 
var black : Color(0,0,0,1); 

function Start() { 
    gameObject.camera.backgroundColor = yellow; 
} 


function Update() { 
    if (targetscript.score > 4) { 
     gameObject.camera.backgroundColor = Color.Lerp(yellow, cyan); 
    } 

    if (targetscript.score > 9) { 
     gameObject.camera.backgroundColor = Color.Lerp(cyan, green); 
    } 

    if (targetscript.score > 14) { 
     gameObject.camera.backgroundColor = Color.Lerp(green, red); 
    } 

    if (targetscript.score > 19) { 
     gameObject.camera.backgroundColor = Color.Lerp(red, magenta); 
    } 

    if (targetscript.score > 24) { 
     gameObject.camera.backgroundColor = Color.Lerp(magenta); 
    } 

} 

Это дает мне эти ошибки:Ошибки, которые я не знаю, как исправить

Assets/Scripts/colour.js(4,22): UCE0001: ';' expected. Insert a semicolon at the end. 
Assets/Scripts/colour.js(4,22): BCE0044: expecting EOF, found '0.92'. 
Assets/Scripts/colour.js(4,21): BCE0044: expecting), found ','. 
Assets/Scripts/colour.js(4,19): UCE0001: ';' expected. Insert a semicolon at the end. 

Я не найти недостающие! Запятой Я не вижу ничего плохого в цветах! почему это дает мне столько ошибок? Я проверил скрипт более 5 раз, но я не нашел ничего плохого! У кого-нибудь есть идеи? Заранее спасибо

ответ

0
var xxx: yyy = zzz; 

Это, как вы объявляете переменную в Unityscript, где ххх это имя переменной, ууу тип переменной и ZZZ это значение.
В вашем случае вы хотели бы определить тип, но вместо этого вы указали значение, поэтому возникла ошибка.

Изменить все из них, чтобы быть:

var yellow : Color; 
var cyan : Color; 
var green : Color; 
var red : Color; 
var magenta : Color; 
var black : Color; 

Тогда в Start() функции, дать им значение:

yellow = Color(1,0.92,0.016,1); 
cyan = Color(0,1,1,1); 
green = Color(0,1,0,1); 
red = Color(1,0,0,1); 
magenta = Color(1,0,1,1); 
black = Color(0,0,0,1); 
+0

'Активы/Scripts/colour.js (40,63): BCE0017: Лучший перегрузки метода«UnityEngine.Color.Lerp (UnityEngine.Color, UnityEngine .Color, float) 'несовместим с списком аргументов' (UnityEngine.Color) '. ' –

+0

Почему это дает мне эту ошибку? –

+0

'Color.Lerp' использует 3 параметра, как указано [здесь] (http://docs.unity3d.com/ScriptReference/Color.Lerp.html). Первый параметр - цвет, который вы хотите получить, второй - цвет, который вы хотите, чтобы он подрастал, а третий - время процесса lerp. Третий параметр является необязательным. –

1

Поскольку вы делаете объявление переменной с присвоением класса я думаю, что каждый из цветная декларация должна выглядеть примерно так:

var yellow = new Color(1,0.92,0.016,1); 

Этот cre использует желтую переменную с типом цвета, и мы создаем новый экземпляр этого объекта и назначаем его желтому.

0

вы могли бы сделать это так

#pragma strict 
var targetscript : Diamond; 
var yellow : Color = Color(1,0.92,0.016,1); 
var cyan : Color = Color(0,1,1,1); 
var green : Color = Color(0,1,0,1); 
var red : Color = Color(1,0,0,1); 
var magenta : Color = Color(1,0,1,1); 
var black : Color = Color(0,0,0,1); 

function Start() { 
    gameObject.camera.backgroundColor = yellow; 
} 


function Update() { 
    if (targetscript.score > 4) { 
     gameObject.camera.backgroundColor = Color.Lerp(yellow, cyan); 
    } 

    if (targetscript.score > 9) { 
     gameObject.camera.backgroundColor = Color.Lerp(cyan, green); 
    } 

    if (targetscript.score > 14) { 
     gameObject.camera.backgroundColor = Color.Lerp(green, red); 
    } 

    if (targetscript.score > 19) { 
     gameObject.camera.backgroundColor = Color.Lerp(red, magenta); 
    } 

    if (targetscript.score > 24) { 
     gameObject.camera.backgroundColor = Color.Lerp(magenta); 
    } 

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