0

まず、私は決して Web デザイナーではないので、自分が何をしているのかほとんどわかりません。

Unity Webplayer アプリケーションの HTML/Javascript に取り組んでおり、Webplayer がブラウザーの表示可能領域のほとんど (すべてではない) を占めるようにしようとしています。ページの は、この<body>ように余白もスクロール バーもないように設定されています。

<body margin="0" marginwidth="0" marginheight="0" scroll="no">

このようにブラウザの表示可能領域の値を取得しています。

winWidth = window.innerWidth;
winHeight = window.innerHeight;

これで Unity Webplayer を呼び出します。

unityObject.embedUnity("unityPlayer", "WebPlayer.unity3d", winWidth, winHeight, params);

このセットアップでは、すべてがほとんど適切に機能するようです。ただし、Firefox 12 で非整数 (つまり、0.5 または 1.9) を乗算するwinWidthと、高さが適切にスケーリングされません。そこに入力した値に関係なく、常に同じ (間違った) 垂直高さになります。winHeightこの図では、innerHeightとの両方innerWidthが乗算されて0.9おり、ご覧のとおり、高さは明らかに間違っています。これは、非整数に何を掛けても、間違った高さになります。 内側の高さ * 0.9

このコードは、Chrome 19 と IE 9 で問題なく動作します。これを修正するにはどうすればよいですか?

4

1 に答える 1

1

あなたが使用している Unity JavaScript インターフェイスに詳しくないので、正確な状況はわかりませんが、プレーヤーの幅と高さを整数で指定する必要がある可能性は十分にあると思います。非整数を生成しています。

最も近い整数の結果を取得するMath.round(winWidth * 0.9)代わりに、単純に記述します。winWidth * 0.9

于 2012-06-04T21:32:59.603 に答える