【问题标题】:How to change the background image when using the Unity Facebook SDK使用 Unity Facebook SDK 时如何更改背景图片
【发布时间】:2013-11-01 20:00:54
【问题描述】:

我正在使用 Unity Facebook SDK 在 Facebook 中设置我的 Unity 游戏。

我已使用“已启用 Unity 集成”设置应用程序,并且游戏可以正常运行。

我想将网页的背景图像从纯白色更改为位图图像。

我通常会编辑 HTML 来执行此操作,但我无法通过 SDK 访问它。

我尝试使用 Application.ExternalEval 将一些 Javascript 注入到 HTML 页面中,类似于:

var content = document.getElementById("pagelet_canvas_content");
content.style.backgroundImage = "url('background.jpg')";

但我无法访问 Chrome 调试器告诉我的任何元素。

有人知道如何个性化 Facebook 页面吗?

【问题讨论】:

    标签: facebook unity3d facebook-unity-sdk


    【解决方案1】:

    这是一些代码,用于在窗口调整大小时居中和调整统一网络播放器的大小。您可以轻松添加 javascript 来加载背景。一旦通过 Application.ExternalEval 加载统一应用程序,就会注入它。

    window.onresize = function (){
    var div = document.getElementById('unityPlayerEmbed');
    if ((div.parentNode.offsetHeight+offset)>div.parentNode.parentNode.parentNode.clientHeight){
        div.style.height=(div.parentNode.parentNode.parentNode.clientHeight-offset)+'px';
        div.parentNode.style.height=div.parentNode.parentNode.parentNode.clientHeight+'px';
        div.parentNode.style.width=(div.parentNode.offsetHeight*1.777)+'px';
    }else{
        div.parentNode.style.width='100%';
        div.style.height=((div.parentNode.offsetWidth*0.5625)-offset)+'px';
        div.parentNode.style.height=(div.parentNode.offsetWidth*0.5625)+'px';
    }
    

    【讨论】:

      【解决方案2】:

      pagelet_canvas_content 位于您无法控制的父框架中。您的游戏在 iframe 中运行。尝试抓取 body 元素并对其进行修改。

      $('body').css('backgroundImage', 'url(background.jpg)');
      

      (或使用 document.getElementsByTagName('body') 等)

      您可能还希望将画布的宽度和高度设置为流体以填充 facebook chrome 内的空间,然后您可能希望使播放器居中(此功能即将在 SDK 中提供,因此您不应该以后再搞这些)。

      如果您有任何问题,请告诉我,感谢您试用 SDK!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-16
        • 2014-03-04
        相关资源
        最近更新 更多