HTML/JavaScript小工具

HTML/JavaScript小工具

2014年2月13日 星期四

Unity3d 呼叫 Android顯示Button

1 建立一個MainActivity extends UnityPlayerActivity
UnityPlayerActivity 來自於 Unity3D的目錄下
2修改程式的onCreate 將setContentView移除,
 protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

}
3
建立一個靜態方法
public static void setupAdsStatic() {

UnityPlayer.currentActivity.runOnUiThread(new Runnable() {

@Override
public void run() {

LinearLayout layout =
new LinearLayout(UnityPlayer.currentActivity.getApplicationContext());

layout.setOrientation(LinearLayout.VERTICAL);
layout.setGravity(Gravity.BOTTOM);

Button btn = new Button(UnityPlayer.currentActivity.getApplicationContext());
btn.setText("Howard....");
btn.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(UnityPlayer.currentActivity.getApplicationContext(),
"GOGO!!", Toast.LENGTH_SHORT).show();
}
});
layout.addView(btn);
//Drawable.createFromXmlInner(//r, parser, attrs)

UnityPlayer.currentActivity.addContentView(layout,
new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT));

}

});
}

3 AndroidManifest.xml 寫入  的activity加入

<meta-data
                android:name="unityplayer.ForwardNativeEventsToDalvik"
                android:value="true" />
以上是在Android的部分~~詳細請參考附件的專案吧!!

再來是unity3d了~~!
1 在Unity3d建立一個目錄並將相關資料放入!!
Plugins -->Android-->bin 這資料夾放置剛做好的Android程式轉出來的Jar
       -->res 下面方一些相關的資源
         drawable-hdpi
         layout
         values
2 我是用C#於是建立一個C#程式
    void Start()
    {
        if (Application.platform == RuntimePlatform.Android)
        {
       
            AndroidJavaClass  adMobJavaClass = new
                AndroidJavaClass("com.example.testandroidunity.MainActivity");
            adMobJavaClass.CallStatic("setupAdsStatic");
        }

    }
收工~~~~
補上一些檔案~~下次來研究如何將Google Service Admob 放進去
檔案聯結

2014年2月9日 星期日

unity3d 返回鍵或home鍵退出

  //当用户按下手机的返回键或home键退出游戏
        if (Input.GetKeyDown(KeyCode.Escape) || Input.GetKeyDown(KeyCode.Home) )
          {
               Application.Quit();
          }