Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何编辑";参考决议;通过统一的脚本?_C#_Unity3d - Fatal编程技术网

C# 如何编辑";参考决议;通过统一的脚本?

C# 如何编辑";参考决议;通过统一的脚本?,c#,unity3d,C#,Unity3d,我想在实时游戏中用C#脚本更改参考分辨率,我如何才能做到 因为我想用最简单的方法缩放我的控件 您不能设置参考分辨率,但可以使用UISCleMode:恒定像素大小计算并设置比例因子 void setreferencesolution(向量2 m_referencesolution,浮点m_匹配宽度或高度=1f) { 私有常量float kLogBase=2; float logWidth=Mathf.Log(screenSize.x/m_referencesolution.x,kLogBas

我想在实时游戏中用C#脚本更改
参考分辨率
,我如何才能做到

因为我想用最简单的方法缩放我的控件


您不能设置参考分辨率,但可以使用UISCleMode:恒定像素大小计算并设置比例因子

void setreferencesolution(向量2 m_referencesolution,浮点m_匹配宽度或高度=1f)
{
私有常量float kLogBase=2;
float logWidth=Mathf.Log(screenSize.x/m_referencesolution.x,kLogBase);
float logHeight=Mathf.Log(screenSize.y/m_referencesolution.y,kLogBase);
float logWeightedAverage=Mathf.Lerp(对数宽度、对数高度、m_匹配宽度或高度);
GetComponent().scaleFactor=Mathf.Pow(kLogBase,logWeightedAverage);
}

您不能设置参考分辨率,但可以使用UISCleMode:恒定像素大小计算并设置比例因子

void setreferencesolution(向量2 m_referencesolution,浮点m_匹配宽度或高度=1f)
{
私有常量float kLogBase=2;
float logWidth=Mathf.Log(screenSize.x/m_referencesolution.x,kLogBase);
float logHeight=Mathf.Log(screenSize.y/m_referencesolution.y,kLogBase);
float logWeightedAverage=Mathf.Lerp(对数宽度、对数高度、m_匹配宽度或高度);
GetComponent().scaleFactor=Mathf.Pow(kLogBase,logWeightedAverage);
}

与的所有其他属性一样,您只需在脚本中使用该属性,如

GetComponent<CanvasScaler>().referenceResolution = new Vector2(xSize, ySize);
GetComponent().referenceResolution=newvector2(xSize,ySize);

与的所有其他属性一样,您只需在脚本中使用该属性,如

GetComponent<CanvasScaler>().referenceResolution = new Vector2(xSize, ySize);
GetComponent().referenceResolution=newvector2(xSize,ySize);
UI缩放模式:
恒定像素大小

简单模板:

public class Scale : MonoBehaviour {

    public float scale = 1f; // 1 by default

    public void Update()
    {
        GetComponent<Canvas>().scaleFactor = scale;
    }
}
公共班级规模:单一行为{
公共浮动比例=1f;//默认为1
公共无效更新()
{
GetComponent().scaleFactor=缩放;
}
}
UI缩放模式:
恒定像素大小

简单模板:

public class Scale : MonoBehaviour {

    public float scale = 1f; // 1 by default

    public void Update()
    {
        GetComponent<Canvas>().scaleFactor = scale;
    }
}
公共班级规模:单一行为{
公共浮动比例=1f;//默认为1
公共无效更新()
{
GetComponent().scaleFactor=缩放;
}
}

哦,我明白了,你能为一个对象编写完整的脚本吗?我无法解释你写了什么。(我没有看到类似于
scale.x=enteredNumber*10;
)的代码
您无法设置参考分辨率。。为什么不呢?(请参阅)答案不正确,您可以使用derHugo的答案设置参考分辨率哦,我知道了,您可以为1个对象编写完整的脚本吗?我无法解释你写了什么。(我没有看到类似于
scale.x=enteredNumber*10;
)的代码
您无法设置参考分辨率。。为什么不呢?(请参阅)答案不正确,您可以使用derHugo的答案设置参考分辨率我应该使用恒定的
像素大小
?在您使用
缩放屏幕大小之前,为什么要更改它?如果切换到
恒定像素大小
,则必须更改
缩放因子
属性instead have
Scale Factor=1
,如何使用脚本编辑它?在您回答一些不同的问题时,您的问题最初是
如何在Unity中通过脚本编辑“参考分辨率”?
。。我向您展示了一个实现这一点的代码示例。如前所述,如果您现在希望使用
恒定像素大小
缩放因子
,您可以按照。。。然而,这实际上并不是你在问题中要求的。我应该使用恒定的
像素大小
?早在你使用
缩放屏幕大小之前,为什么要更改它?如果切换到
恒定像素大小
,则必须更改
缩放因子
属性instead have
Scale Factor=1
,如何使用脚本编辑它?在您回答一些不同的问题时,您的问题最初是
如何在Unity中通过脚本编辑“参考分辨率”?
。。我向您展示了一个实现这一点的代码示例。如前所述,如果您现在希望使用
恒定像素大小
缩放因子
,您可以按照。。。然而,这实际上并不是你在问题中所要求的。你不应该在每一帧中使用
GetComponent
!为什么要在
Update
中使用此选项?您不应该在每一帧中使用
GetComponent
!为什么要在
Update
中使用此选项?