错误基于艾伦祖科尼的书

问题描述:

使用Unity 5.5和艾伦祖科尼的书我得到“的参数数值型构造不正确的数字”错误基于艾伦祖科尼的书

着色代码添加reccommended:

Shader "book/scroller" 
    { 
    Properties 
    { 
    _MainTex ("Texture", 2D) = "white" {} 
    _ScrollXSpeed ("x scroll speed", Range(0,10)) = 2 
    _ScrollYSpeed("Y scroll speed", Range(0,10)) = 2 
} 
SubShader 
{ 
    Tags { "RenderType"="Opaque" } 
    LOD 100 

    Pass 
    { 
     CGPROGRAM 
     #pragma vertex vert 
     #pragma fragment frag 


     #include "UnityCG.cginc" 

     struct appdata 
     { 
      float4 vertex : POSITION; 
      float2 uv : TEXCOORD0; 
     }; 

     struct v2f 
     { 
      float2 uv : TEXCOORD0; 
      UNITY_FOG_COORDS(1) 
      float4 vertex : SV_POSITION; 
     }; 

     sampler2D _MainTex; 
     float4 _MainTex_ST; 
     fixed _ScrollXSpeed; 
     fixed _ScrollYSpeed; 

     v2f vert (appdata v) 
     { 
      v2f o; 
      o.vertex = UnityObjectToClipPos(v.vertex); 
      o.uv = TRANSFORM_TEX(v.uv, _MainTex); 
      UNITY_TRANSFER_FOG(o,o.vertex); 
      return o; 
     } 

     fixed4 frag (v2f i) : SV_Target 
     { 

      fixed2 scrolledUV = i.uv; 
      fixed2 xScrolledValue = _ScrollXSpeed * _Time; 
      fixed2 yScrolledValue = _ScrollYSpeed * _Time; 
      scrolledUV += fixed2 (xScrolledValue, yScrolledValue); 
      fixed4 col = tex2D(_MainTex, scrolledUV); 
      return col; 
     } 
     ENDCG 
    } 
} 

}

错误示出了在下面的行:

scrolledUV += fixed2 (xSCrolledValue, ySCrolledValue); 

它有什么问题?

+0

请张贴一些代码和背景。它不像每个人都会去买同一本书来找出你在说什么。很明显,你正试图用错误的参数数来调用方法。检查你的方法然后 –

+0

@ŁukaszMotyczka补充了源,谢谢你的建议 – fran35

+1

大概xScrolledValue和yScrolledValue应该是固定/浮动,不固定2 – mgear

错误原因: 您正在创建fixed2-variable并将其作为参数提供两个fixed2值,应该是float。

这里是一个固定版本:

fixed xScrolledValue = _ScrollXSpeed * _Time; 
fixed yScrolledValue = _ScrollYSpeed * _Time; 
scrolledUV += fixed2 (xScrolledValue, yScrolledValue);