文章有参考http://www.cnblogs.com/zhxilin/archive/2013/03/20/2971331.html

下面以接入九幽数据统计插件为例

Step 1:如果是cocos2dx的话,每个版本不一样,比如3.6的话,已不支持wp8的,原因如下:

WP8: remove WP8 support because Angle don't support WP8 any more

以3.3的版本为例,直接打开proj.wp8-xaml目录下的工程文件;

如果不是cocos2dx,那就创建一个directx and xaml 工程。

Step 2:

新建 文件ICallback.h,例如内容可参考如下:

/***

Code begin

***/

#pragma once

namespace SilverlightDirect3DInterop1Comp

{

[Windows::Foundation::Metadata::WebHostHidden]

public interface class ICallback

{

public:

virtual void Exec(Platform::String ^Command, Platform::String ^Param);

int getOfferPoints();

void startLevel(int nLevel);

void failLevel(int nLevel);

void filishLevel(int nLevel);

};

}

/***

Code end

***/

Step 3:在Direct3DInterop.h文件中加入成员变量和成员函数

public:

void SetXmalCallback(ICallback^ callback){ m_globalCallback = callback; };

private:

ICallback^ m_globalCallback;

Step 4:

新建文件JiuYouCallback.cs,内容可参考如下:

using System;

using System.ComponentModel;

using System.Collections.Generic;

using System.Linq;

using System.Net;

using System.Windows;

using System.Windows.Threading;

using JYAnalyticsSdk;

namespace SilverlightDirect3DInterop1Comp

{

    public sealed class JiuYouCallback : ICallback

    {

        //public MainPage m_mainPage;

        static public int s_nOffserPoints;

        public void Exec(String Command, String Param)

        {

            //Execute some C# code, if you call UI stuff you will need to call this too

            //Deployment.Current.Dispatcher.BeginInvoke(() => { 

            // //Lambda code

            //}

        }

       public int getOfferPoints()

       {

            MessageBox.Show("jiuyou", "jiuyou", MessageBoxButton.OK);

           return ;

       }

        public void startLevel(int nLevel) 

        {

            JYAnalytics.TrackEvent("startlevel", Convert.ToString(nLevel));

        }

        public void failLevel(int nLevel) 

        {

            JYAnalytics.TrackEvent("faillevel", Convert.ToString(nLevel));

        }

        public void filishLevel(int nLevel) 

        {

            JYAnalytics.TrackEvent("filishlevel", Convert.ToString(nLevel));

        }

    }

}

Step 5

在 MainPage.xaml.cs中的找到

private void DrawingSurface_Loaded(object sender, RoutedEventArgs e)

在里面加入

 JiuYouCallback sCallBack = new JiuYouCallback();

 m_d3dInterop.SetXmalCallback(sCallBack);//这句是c#调用c++的方法

Step 6

前面5步已经把c++ c#互调的框架搭好了。下面测下是否成功

在Direct3DInterop.cpp文件里添加如下

void Direct3DInterop::OnPointerReleased(DrawingSurfaceManipulationHost^ sender, PointerEventArgs^ args)

{

  int nPoints = m_globalCallback->getOfferPoints();

}

Step 7,运行程序,记得把弄成如下图这样测试

Step 8

接入九幽统计插件,参考文档《九幽数据统计插件(WP8)使用说明文档》

Ps:

注意命名空间要一致,否则可运行不起来哦

比如cocos2d的,c#跟c++这边都有cocos2d

原文链接:http://blog.csdn.net/kuovane/article/details/45723645

【转载】cocs2dx中c++与c#互调的更多相关文章

  1. 如何快速转载CSDN中的博客

    看到一篇<如何快速转载CSDN中的博客>,介绍通过检查元素→复制html来实现快速转载博客的方法.不过,不知道是我没有领会其精神还是其他原因,测试结果为失败.

  2. [转载]Java中继承、装饰者模式和代理模式的区别

    [转载]Java中继承.装饰者模式和代理模式的区别 这是我在学Java Web时穿插学习Java设计模式的笔记 我就不转载原文了,直接指路好了: 装饰者模式和继承的区别: https://blog.c ...

  3. [转载]PyTorch中permute的用法

    [转载]PyTorch中permute的用法 来源:https://blog.csdn.net/york1996/article/details/81876886 permute(dims) 将ten ...

  4. [转载]java中import作用详解

    [转载]java中import作用详解 来源: https://blog.csdn.net/qq_25665807/article/details/74747868 这篇博客讲的真的很清楚,这个作者很 ...

  5. [转载]Pytorch中nn.Linear module的理解

    [转载]Pytorch中nn.Linear module的理解 本文转载并援引全文纯粹是为了构建和分类自己的知识,方便自己未来的查找,没啥其他意思. 这个模块要实现的公式是:y=xAT+*b 来源:h ...

  6. [转载]Java中异常的捕获顺序(多个catch)

    http://blog.sina.com.cn/s/blog_6b022bc60101cdbv.html [转载]Java中异常的捕获顺序(多个catch) (2012-11-05 09:47:28) ...

  7. [转载] Android中Xposed框架篇---利用Xposed框架实现拦截系统方法

    本文转载自: http://www.wjdiankong.cn/android%E4%B8%ADxposed%E6%A1%86%E6%9E%B6%E7%AF%87-%E5%88%A9%E7%94%A8 ...

  8. JavaScript设计模式-单例模式、模块模式(转载 学习中。。。。)

    (转载地址:http://technicolor.iteye.com/blog/1409656) 之前在<JavaScript小特性-面向对象>里面介绍过JavaScript面向对象的特性 ...

  9. Javascript模块化编程(一):模块的写法 (转载 学习中。。。。)

    转载地址:http://www.ruanyifeng.com/blog/2012/10/javascript_module.html 阮一峰 大神:http://www.ruanyifeng.com/ ...

随机推荐

  1. 由IP和掩码计算广播地址

    public static IPAddress GetBroadcast(IPAddress ipAddress, IPAddress subnetMask) { var ip = ipAddress ...

  2. Spring学习笔记之 Spring IOC容器(一)之 实例化容器,创建JavaBean对象,控制Bean实例化,setter方式注入,依赖属性的注入,自动装配功能实现自动属性注入

    本节主要内容:       1.实例化Spring容器示例    2.利用Spring容器创建JavaBean对象    3.如何控制Bean实例化    4.利用Spring实现bean属性sett ...

  3. 初次使用Docker的体验笔记

    一.前言 Docker容器已经发布许久,但作为一名程序员如今才开始接触,实在是罪过--        在此之前,我还没有对Docker进行过深入的了解,对它的认识仍停留在:这是一种新型的虚拟机.这样的 ...

  4. JavaScript吸顶灯的实现

    吸顶灯是各站点常用的一个功能,它有两个特性 向下滚动到div位置时,该div一直固定在页面的顶部 向上滚动到div原有位置时,div又恢复到文档中的原位置 div可能是一个“分类菜单”,也可能是一个“ ...

  5. redis动态修改参数配置

    ./redis-cli -h 10.10.10.11 -p 6401   save  # 保存当前快照   # 列出所有当前配置 config get *   # 查看指定配置 config get  ...

  6. springMVC+jsp+ajax上传文件

    工作中遇到的小问题,做个笔记 实现springMVC + jsp + ajax 上传文件 HTML <body> <form id="myform" method ...

  7. Ubuntu安装Eclips for C/C++及相关配置

    1,安装JDK: sudo apt-get install aptitude sudo aptitude search openjava sudo aptitude install openjdk-7 ...

  8. Can't initialize metastore for hive

    there maybe many reason to cause this,today our issue is that, if you execute hive –database dbname ...

  9. [转]GridView中直接新增行、编辑和删除

    本文转自:http://www.cnblogs.com/gdjlc/archive/2009/11/10/2086951.html .aspx <div><asp:Button ru ...

  10. leetcode_438_Find All Anagrams in a String_哈希表_java实现

    题目: Given a string s and a non-empty string p, find all the start indices of p's anagrams in s. Stri ...