กรณีที่มันอยู่ในหน้า Web ของมันเองบางทีเจอบางทีก็ไม่เจอ Chrome , IE , Firefox ก็ผลออกมาไม่เหมือนกัน
แบบนี้!
เพราะฉะนั้นถ้าเอามันมาไว้ข้างหน้าไม่ได้ ก็ ซ่อน Unity Web Player ซะเลย ระหว่างที่ แสดง Facebook UI
DIV Container ของ Unity Web Player
<div class="content">
<div id="unityPlayer" name="unityPlayer">
<div class="missing">
<a href="http://unity3d.com/webplayer/" title="Unity Web Player. Install now!">
<img alt="Unity Web Player. Install now!" height="63" src="http://webplayer.unity3d.com/installation/getunity.png" width="193" />
</a>
</div>
</div>
</div>
สมมติจะ เรียก UI AppRequest
และ ระหว่าง ที่ แสดง UI ใช้ JQuery.hide() แต่ ถ้าใช้ method นี้ ตอน JQuery.show(); ตัว Unity Web Player จะโหลด Game ใหม่
และ ระหว่าง ที่ แสดง UI ใช้ JQuery.hide() แต่ ถ้าใช้ method นี้ ตอน JQuery.show(); ตัว Unity Web Player จะโหลด Game ใหม่
เลขใช้แบบ แก้ Width,Height เป็น 0 แทน
ตอน Call Facebook UI อันนี้เป็น script ใน web page ใช้ Application.ExternalCall() เอาจาก script ใน Unity3d
function uiAppRequest( title, message ) {
$('#unityPlayer').width(0);
$('#unityPlayer').height(0);
FB.ui(
{
method: 'apprequests',
message: message,
title: title
},
function(response) {
$('#unityPlayer').width(800);
$('#unityPlayer').height(600);
var unity = unityObject.getObjectById( "unityPlayer" );
if (!response || response.error) {
unity.SendMessage("Facebook", "onUiAppRequestFail", JSON.stringify( response ) );
} else {
unity.SendMessage("Facebook", "onUiAppRequestSuccessful", JSON.stringify( response ) );
}
}
);
}
Unity Web Player หายไป แล้ว Facebook UI แสดงแทน
อธิบาย
- เมื่อ Unity3D เรียก Facebook UI ก็ให้ width = height = 0 เลย
- และ Add Callback Function เมื่อ UI Completed ให้มีส่วนที่สั่งให้ Unity Web Player กลับมาแสดงอีกครั้ง


ไม่มีความคิดเห็น:
แสดงความคิดเห็น