Web应用:直接使用JavaScript版本的百度地图SDK,和C#、Unity毫无关联。
原生应用(这里提供两种思路):
1、针对不同平台,为Unity编写相应插件,主要工作是SDK的接入,和JavaScript无关,需要了解Java和Object-C,经过封装后统一由C#来调用,通常不同的平台下都由官方实现的地图控件,直接使用就可以了。
2、调用不同的浏览器内核,以Web开发的方式载入HTML,再由C#来调用JavaScript实现交互,在Unity中有类似的插件可以实现网页加载,而安卓平台的WebView、Windows平台的WebBrowser等控件都可以实现这种需求。
举个例子:
intMax(int,int);/函数原型声明,注意没函数体,形参名字可加可不加,必须用分号结束/intmain(){intz=Max(1,2);/调用函数/}/下面是函数定义,若它放在main之前,则上面的函数原型声明可不写/intmax(intx,inty){returnx>yx:y;}
下面是一个例子,要根据你自己的接口来显示调用
using System;
using SystemCollectionsGeneric;
using SystemText;
//显示接口实现
namespace interfaceDemo
{
public interface InterfaceA
{
void MethodA();//抽象方法
void MethodB();//
}
public interface InterfaceB
{
void MethodB();//抽象方法,与interfaceA接口方法同名
void MethodC();
}
public class ClassC : InterfaceA, InterfaceB
{
public void MethodA()//实现接口中的方法
{
ConsoleWriteLine("实现接口InterfaceA的MethodA方法");
}
public void MethodC()//实现接口中的方法
{
ConsoleWriteLine("实现接口InterfaceB的MethodC方法");
}
void InterfaceAMethodB()//显示地指明实现的是那个接口的方法,注意不能有public
{
ConsoleWriteLine("实现接口InterfaceA的MethodB方法");
}
void InterfaceBMethodB()//显示地指明实现的是那个接口的方法,注意不能有public
{
ConsoleWriteLine("实现接口InterfaceB的MethodB方法");
}
}
class ShowInterfaceImplement//测试类
{
static void Main(string[] args)
{
ClassC c = new ClassC();//实例化对象
cMethodA();
cMethodC();
//显示接口实现
InterfaceA interA=new ClassC();//接口通过实现接口的类进行实例化
interAMethodB();//调用接口A的方法
InterfaceB interB=new ClassC();
interBMethodB();//调用接口B的方法
ConsoleReadLine();
}
}
}
在c#中一般会封装成dll文件对外提供接口调用,unity的js脚本也是这样的调用方式。
一、创建dll文件
1。打开vs文件->新建-> 项目->C#->类库,输入项目的名称,创建一个dll项目;
2。引入 UnityEngine UnityEditor ;这两个文件放在unity安装目录的Unity\Editor\Data\Managed路径下,
具体添加步骤:右键点击解决方案->添加引用->浏览;
3。如果加入了UnityEngine UnityEditor,在项目中就可以using UnityEngine 和 UnityEditor;如果项目中不需要,也可以省略第二步;
举例说明:
using System;
using SystemCollectionsGeneric;
using SystemLinq;
using SystemText;
using UnityEngine;
using UnityEditor;
using SystemCollections;
namespace dlltest
{
class Class2 : MonoBehaviour
{
void Start()
{
DebugLog("this is unity call C# dll test!");
}
}
}
5。F5启动生成解决方案(debug或者release),把生成的dll放到unity工程的asset下;
6。如果继承了Monobehaviour的类在dll的子对象中有显示,这样就可以绑定到GameObject上了,如果是要引用dll的类,需要using 命名空间,名字一般和项目名称一致才能调用。
USB OK。JOYSTICK1~JOYSTICK11弄不了找俺。。。小意思啦。。力回馈都行。=================RS232接口在游戏设备都逃汰十几年了。。用那干啥。
以上就是关于如何利用百度地图API开发Unity程序全部的内容,包括:如何利用百度地图API开发Unity程序、Unity3D中怎么调用C语言的程序、如何调用别人写好的接口等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)