当前位置: 首页 > java >正文

【小松教你手游开发】【unity实用技能】 unity 接WP8 sdk的一些心得

1.在wp8的sdk中,sdk可以在vs中生成的.dll文件,放在unity的plugins文件夹里面,unity的脚本就可以随意调用sdk中的函数,这样就已经可以做到unity传数据到手机上。

但很多时候为了耦合性低一点,会在sdk上在封装一层(或者说在sdk的基础上),在unity打包出来的vs工程上的MainPage.xaml.cs文件上写调用函数。然后在unity上写event事件,以发送信息的形式让vs工程捕捉。这样的话dll文件就不用放在unity工程上,在vs工程再添加引用
事例:
unity端:一个包含调用函数的脚本xxxwp8.cs。一个包含回调的脚本xxxwp8Controller.cs

在xxxwp8.cs脚本中注册两个事件

public static event Action<string> onPurchaseProduct;    
public static event Action<string,string> onInitSdk;    

一个是初始化sdk,一个是支付。
写两个全局函数供其他脚步调研

public static void PurchaseProduct(string productID)    
{    CustomEventArgs theEventArgs = new CustomEventArgs();    theEventArgs.args = productID;    onPurchaseProduct(productID);          
}    public static void initSdk()    
{    CustomEventArgs theEventArgs = new CustomEventArgs();    theEventArgs.args = API_KEY;    theEventArgs.args1 = API_SECRET;    onInitSdk(API_KEY,API_SECRET);    
}    

这边基本就完成。
接下来是包含回调的脚步xxxwp8Controller.cs
首先是购买成功失败回调事件

public static event Action<string> PurchaseSuccessEvent;    
public static event Action<string> PurchaseFailedEvent;   

接着是回调函数

public  void OnPurchaseSucceeded(string featureID)    
{    
}    public  void OnPurchaseFailed(string featureID)    
{    
}    

现在两个回调事件的没有代理,所以在要使用的地方加上代理如

xxxWP8Controller.PurchaseSuccessEvent += OnSkyNetPurchaseSuccess;    
xxxWP8Controller.PurchaseFailedEvent +=  OnSkyNetPurchaseFailed;    
OnSkyNetPurchaseSuccess,<pre name="code" class="csharp">OnSkyNetPurchaseFailed    

这两个函数为空函数也没关系。函数内容写在回调类的函数里就可以。
unity端就是这样。不用加.dll文件进unity的plugins文件夹中。
然后是打出来的包的vs端。首先是要根据sdk给予的文档加各种引用,修改各种参数。
接下来是重点。
修改MainPage.xaml.cs文件。
首先让vs工程能找到你的unity的脚本

public static xxxSDKWP8Controller xxxControllerScript;    
private void Unity_Loaded()    
{    xxxWP8.onPurchaseProduct += xxxWP8_onPurchaseProduct;    xxxWP8.onInitSdk += xxxWP8_onInitSdk;    xxxControllerScript = (xxxSDKWP8Controller)UnityEngine.Object.FindObjectOfType(typeof(xxxSDKWP8Controller));        
}    

这样xxxControllerScript就可以在下面的回调中直接调用unity脚本上的函数。

上面也能看到。

xxxWP8.onPurchaseProduct += xxxWP8_onPurchaseProduct;    
xxxWP8.onInitSdk += xxxWP8_onInitSdk;    

这样的目的就可以使当unity工程上的脚本的世界触发以后能在vs工程反应。

如果所接的sdk以接口方式回调,那就在class上继承接口。重写回调函数

1.public partial class MainPage : PhoneApplicationPage, IPurchaseCallback,IInitSDKCallback    1.void IPurchaseCallback.OnPurchaseFailed(string id, string errorMsg)    
2.        {    
3.           xxxControllerScript.OnPurchaseSucceeded(id);    
4.        }    
5.    
6.        void IPurchaseCallback.OnPurchaseSucceeded(string id)    
7.        {    
8.            xxxControllerScript.OnPurchaseSucceeded(id);    
9.        }    

这样就做到unity和vs之间双向通信

转载于:https://blog.51cto.com/13638120/2084831

http://www.xdnf.cn/news/11020.html

相关文章:

  • suse日常操作(含suse/rhel内核与发行版对应关系)
  • 手把手教你如何破解无线网络密码(蹭网教程)
  • Ubuntu 7.10 Server 安装 Desktop
  • 软件破解脱壳法
  • Jolicloud试用记——网络、游戏和总结
  • 软件问题定义及可行性分析——数据字典
  • 仅需 5 步,用 JavaScript 直接通过前端发送电子邮件
  • 【探花交友】day05—圈子互动
  • vbs无限循环代码_vbs整人代码
  • Web挖掘技术
  • 【值得收藏的种子搜索引擎】
  • VC开发指南--Visual C++/MFC入门教程
  • 老司机是怎么找到资源的,掌握这些搜索技巧,全网资源都是你的
  • 10款精选的后台管理系统
  • 分享88个NET源码,总有一款适合您
  • kali无线渗透之WEP加密模式与破解13_wep加密过程详解,2024年最新被面试官问的网络安全-Framework难倒了
  • 最好的磁盘管理工具Acronis Disk Director Suite 10.0的强大功能介绍
  • 最新Viking(维金)病毒专杀工具,纯VB编写。
  • 密码破解之RADIUS-CHAP-MD5
  • Buffer overrun detected!
  • win7下修改注册表问题 模块jscript.dll已加载,但对DllRegisterServer的调用失败,错误代码为0x80004005 我是WIN7
  • 万年历算法介绍(C代码)
  • SecureCRT for Mac:安全、可靠的终端仿真软件,让数据传输更放心
  • CGI详解(原理,配置及访问)
  • 目前国内氛围比较好的黑客论坛社区有哪些?
  • (爱加密系列教程十九)Android手机一键Root原理分析
  • ITIL流程是什么?理解和应用IT服务管理最重要的框架
  • 【NX】NX二次开发BlockUI集列表的详细使用步骤
  • 联发科MT8377 MT8389 MT6589 MT6577等芯片详细解析
  • 推荐一些电驴网站,坚决扁死VERYCD论坛