2014-10-11 47 views
1

我正在爲我的遊戲製作一個白天和黑夜系統,我有一個腳本,使一天正常不要把夜晚,我想創建另一個副本,並把相同腳本爲晚上,然後第一個腳本調用第二個和第二個調用第一個井是一個無休止的晝夜循環,想知道是否有人有任何想法使它更好或對編程世界是新的,所以我沒有想法如何做到這一點。調用腳本啓動另一個腳本

對不起,我正在努力改善,我是巴西人。我感謝所有的幫助,並等待某人的迴應。

var slider : float; 
var slider2 : float; 
var Hour : float; 
private var Tod: float; 
var sun: Light; 


var NightFogColor : Color; 
var DuskFogColor : Color; 
var MorningFogColor : Color; 
var MiddayFogColor : Color; 

var NightAmbientLight : Color; 
var DuskAmbientLight : Color; 
var MorningAmbientLight : Color; 
var MiddayAmbientLight : Color; 

var NightTint : Color; 
var DuskTint : Color; 
var MorningTint : Color; 
var MiddayTint : Color; 

var SkyBoxMaterial1 : Material; 
var SkyBoxMaterial2 : Material; 

var SunNight : Color; 
var SunDay : Color; 


function OnGUI() { 

slider= GUI.HorizontalSlider(Rect(20,20,200,30), slider, 0,1.0); 
Hour= slider*24; 
Tod= slider2*24; 
sun.transform.localEulerAngles.x= (slider*360)-90; 
slider = slider +Time.deltaTime/900; 
sun.color = Color.Lerp (SunNight, SunDay, slider*2); 
if(slider<0.5){ 
slider2= slider; 
} 
if(slider>0.5){ 
slider2= (1-slider); 
} 
sun.intensity = (slider2-0.2)*2; 


if(Tod<4){ 
//it is Night 
RenderSettings.skybox=SkyBoxMaterial1; 
RenderSettings.skybox.SetFloat("_Blend", 0); 
SkyBoxMaterial1.SetColor ("_Tint", NightTint); 
RenderSettings.ambientLight = NightAmbientLight; 
RenderSettings.fogColor = NightFogColor; 
} 
if(Tod>4&&Tod<6){ 
RenderSettings.skybox=SkyBoxMaterial1; 
RenderSettings.skybox.SetFloat("_Blend", 0); 
RenderSettings.skybox.SetFloat("_Blend", (Tod/2)-2); 
SkyBoxMaterial1.SetColor ("_Tint", Color.Lerp (NightTint, DuskTint, (Tod/2)-2)); 
RenderSettings.ambientLight = Color.Lerp (NightAmbientLight, DuskAmbientLight, (Tod/2)-2); 
RenderSettings.fogColor = Color.Lerp (NightFogColor,DuskFogColor, (Tod/2)-2); 
//it is Dusk 

} 
if(Tod>6&&Tod<8){ 
RenderSettings.skybox=SkyBoxMaterial2; 
RenderSettings.skybox.SetFloat("_Blend", 0); 
RenderSettings.skybox.SetFloat("_Blend", (Tod/2)-3); 
SkyBoxMaterial2.SetColor ("_Tint", Color.Lerp (DuskTint,MorningTint, (Tod/2)-3)); 
RenderSettings.ambientLight = Color.Lerp (DuskAmbientLight, MorningAmbientLight, (Tod/2)-3); 
RenderSettings.fogColor = Color.Lerp (DuskFogColor,MorningFogColor, (Tod/2)-3); 
//it is Morning 

} 
if(Tod>8&&Tod<10){ 
RenderSettings.ambientLight = MiddayAmbientLight; 
RenderSettings.skybox=SkyBoxMaterial2; 
RenderSettings.skybox.SetFloat("_Blend", 1); 
SkyBoxMaterial2.SetColor ("_Tint", Color.Lerp (MorningTint,MiddayTint, (Tod/2)-4)); 
RenderSettings.ambientLight = Color.Lerp (MorningAmbientLight, MiddayAmbientLight, (Tod/2)-4); 
RenderSettings.fogColor = Color.Lerp (MorningFogColor,MiddayFogColor, (Tod/2)-4); 
} 
} 
//it is getting Midday 
+0

這不是一個Javascript。這是UnityScript,來自遊戲引擎Unity – Cheery 2014-10-11 01:03:26

回答

0

如果你只是在尋找代碼啓用和禁用腳本,你可以這樣來做。

假設兩個腳本是在同一個對象

GetComponent(SCRIPTNAME).enabled = TRUE; (或虛假到無效)

相關問題