【问题标题】:Set resolution of facebook canvas unity3d设置facebook画布unity3d的分辨率
【发布时间】:2014-07-19 11:02:51
【问题描述】:

我已将我的统一游戏上传到网络服务器并在 facebook 上运行。但我有 facebook 画布分辨率问题。因为我的游戏是纵向模式。屏幕分辨率为 400 x 600..

如何在我的统一项目中设置此分辨率。因为 facebook 设置不允许我设置画布宽度。

我们有可用的方法: FB.Canvas.SetResolution(int width , int height , bool fullscreen, int prefferedRefreshRate , Params Fbscreen.Layout[] layoutparams)

我不知道我应该写哪个 facebook 布局参数。

帮帮我..

感谢您的帮助和支持.. :)

【问题讨论】:

    标签: facebook unity3d facebook-canvas facebook-unity-sdk


    【解决方案1】:

    我也遇到过类似的问题,如果您需要通过 Unity 的 Web Player 在 Facebook Canvas 上设置游戏的分辨率,您只需:

    Application.ExternalCall("IntegratedPluginCanvas.setResolution", width, height);
    

    让网络播放器的游戏在 Facebook Canvas 上以适当的分辨率运行有点麻烦,特别是如果您在屏幕上注入了自己的 HTML。我发现自己以默认分辨率构建游戏,在 Facebook 开发后台的游戏配置上设置了另一个固定高度,并通过上述方法设置了另一个分辨率。

    不管怎样,试试这个:)

    【讨论】:

      【解决方案2】:

      我使用 Facebook 示例中给出的以下代码解决了我的问题:

       #region FB.Canvas.SetResolution example
      
          public string Width = "800";
          public string Height = "600";
          public bool CenterHorizontal = true;
          public bool CenterVertical = false;
          public string Top = "10";
          public string Left = "10";
      
          public void CallCanvasSetResolution()
          {
              int width;
              if (!Int32.TryParse(Width, out width))
              {
                  width = 800;
              }
              int height;
              if (!Int32.TryParse(Height, out height))
              {
                  height = 600;
              }
              float top;
              if (!float.TryParse(Top, out top))
              {
                  top = 0.0f;
              }
              float left;
              if (!float.TryParse(Left, out left))
              {
                  left = 0.0f;
              }
              if (CenterHorizontal && CenterVertical)
              {
                  FB.Canvas.SetResolution(width, height, false, 0, FBScreen.CenterVertical(), FBScreen.CenterHorizontal());
              } 
              else if (CenterHorizontal) 
              {
                  FB.Canvas.SetResolution(width, height, false, 0, FBScreen.Top(top), FBScreen.CenterHorizontal());
              } 
              else if (CenterVertical)
              {
                  FB.Canvas.SetResolution(width, height, false, 0, FBScreen.CenterVertical(), FBScreen.Left(left));
              }
              else
              {
                  FB.Canvas.SetResolution(width, height, false, 0, FBScreen.Top(top), FBScreen.Left(left));
              }
          }
      
          #endregion
      

      希望对大家有所帮助..谢谢..

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-12-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-08
        • 2012-08-17
        相关资源
        最近更新 更多