zoukankan      html  css  js  c++  java
  • Unity3d插件开发与SDK对接实战 学习

    c++:

    注意x86/x64,vs2015.

    1 #include "stdafx.h"
    2 
    3 
    4 extern "C"
    5 {
    6     int Add(int a, int b) {
    7         return a + b;
    8     }
    9 }
    TestPlugin.cpp
    1 LIBRARY "TestPlugin"
    2 
    3 EXPORTS
    4 
    5 Add @1
    TestPlugin.def
    1 public class Test : MonoBehaviour {
    2         
    3     private void Start() {
    4         Debug.Log(PluginDefine.Add(1,2));
    5     }
    6 }
    Test.cs

     jni:

     

     java

     1 package com.VoidGame.test;
     2 import android.os.Bundle;
     3 import android.util.Log;
     4 
     5 import com.unity3d.player.UnityPlayerActivity;
     6 
     7 public class MyUnityActivity extends UnityPlayerActivity {
     8     
     9     public static MyUnityActivity Instance;
    10     
    11     protected void onCreate(Bundle savedInstanceState){
    12         super.onCreate(savedInstanceState);
    13         Instance = this;
    14         Log.d("OverrideActivity","my android activity called!");
    15     }
    16     
    17     public int java_add(int a,int b){
    18         return a+b;
    19     }
    20 }
    MyUnityActivity
     1 <?xml version="1.0" encoding="utf-8"?>
     2 <manifest
     3     xmlns:android="http://schemas.android.com/apk/res/android"
     4     package="com.unity3d.player"
     5     android:installLocation="preferExternal"
     6     android:versionCode="1"
     7     android:versionName="1.0">
     8     <supports-screens
     9         android:smallScreens="true"
    10         android:normalScreens="true"
    11         android:largeScreens="true"
    12         android:xlargeScreens="true"
    13         android:anyDensity="true"/>
    14 
    15     <application
    16         android:theme="@style/UnityThemeSelector"
    17         android:icon="@drawable/app_icon"
    18         android:label="@string/app_name"
    19         android:debuggable="true">
    20         <activity android:name="com.VoidGame.test.MyUnityActivity"
    21                   android:label="@string/app_name">
    22             <intent-filter>
    23                 <action android:name="android.intent.action.MAIN" />
    24                 <category android:name="android.intent.category.LAUNCHER" />
    25             </intent-filter>
    26             <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
    27         </activity>
    28     </application>
    29 </manifest>
    AndroidManifest
     1 /*
     2 脚本名称:
     3 脚本作者:
     4 建立时间:
     5 脚本功能:
     6 版本号:
     7 */
     8 using UnityEngine;
     9 using UnityEngine.UI;
    10 using System.Collections;
    11 
    12 namespace VoidGame {
    13 
    14 public class Test : MonoBehaviour {
    15 
    16         private void Start() {
    17 
    18             AndroidJavaClass cls = new AndroidJavaClass("com.VoidGame.test.MyUnityActivity");
    19             AndroidJavaObject instance = cls.GetStatic<AndroidJavaObject>("Instance");
    20             int result = instance.Call<int>("java_add",1,2);
    21             GameObject.Find("Text").GetComponent<Text>().text = result.ToString();
    22         }
    23 
    24         private void OnGUI() {
    25 
    26         }
    27     }
    28 }
    Test
  • 相关阅读:
    NameError:name ‘xrange’ is not defined
    CNN卷积核反传分析
    在定义卷积时为什么要对其中一个函数进行翻转
    Python的浮点数损失精度问题
    Python实现im2col和col2im函数
    2018.04.19
    4 Git 基础
    Clash Royale开发日志
    2018-04-12
    python urllib2
  • 原文地址:https://www.cnblogs.com/revoid/p/6513646.html
Copyright © 2011-2022 走看看