最原始的代码是sunstar1989大佬写的C++源码,我这里是用了MOGRE+MyGUI+Physx Candy Wrapper做的一个.NET版本的转换,目前代码托管在GitHub上:

GitHub - cookgreen/BilliardGame: Open Source Billiard Game

关于这个游戏,我只想说两点:

第一点:NxOgre和Physx Candy Wrapper之间有很多不一样的地方

NxOgre是英国人betajean做的一个Physx的封装,相当于是对原本的Physx API进行OO化(也就是对象化),他里面封装了很多的东西,比如Trigger,Volume什么的,这在原来的Physx API是没有的。

而Physx Candy Wrapper是Ageia写的一个关于Physx SDK的.NET的封装,虽然表面上使用了OO设计思想,但是基本上仍然是对Physx API的封装而没有OO化,更没有对Physx进行二次封装,因此在寻找两者关联的时候费了不少劲儿。

这就需要我们有一定的阅读源代码的能力,我查了好多NxOgre的源码,然后再加上对Physx SDK的研究,才总算摸索出一条调用之路。

比如挂钩Physx场景碰撞事件的时候,在C#代码需要你的类实现三个接口:

第一个是IUserNotify

第二个是IUserContactReport

第三个是IUserTriggerReportÿ

基于Ogre3d的.NET版本(MOGRE)做的台球游戏相关推荐

  1. 基于阿里云用C/C++做了一个http协议与TCP协议的web聊天室的服务器——《干饭聊天室》

    基于阿里云用C/C++做了一个http协议与TCP协议的web聊天室的服务器--<干饭聊天室> 在这里首先感谢前端小伙伴飞鸟 前端技术请看一款基于React.C++,使用TCP/HTTP协 ...

  2. 基于Cobbler实现多版本系统批量部署

    前言 运维自动化在生产环境中占据着举足轻重的地位,尤其是面对几百台,几千台甚至几万台的服务器时,仅仅是安装操作系统,如果不通过自动化来完成,根本是不可想象的.记得前面我们探究了基于PXE实现系统全自动 ...

  3. 企业实战|基于Cobbler实现多版本系统批量部署

    前言 运维自动化在生产环境中占据着举足轻重的地位,尤其是面对几百台,几千台甚至几万台的服务器时,仅仅是安装操作系统,如果不通过自动化来完成,根本是不可想象的.记得前面我们探究了基于PXE实现系统全自动 ...

  4. 基于Hadoop2.2.0版本分布式云盘的设计与实现

    基于Hadoop2.2.0版本分布式云盘的设计与实现 一.前言 在学习了hadoop2.2一个月以来,我重点是在学习hadoop2.2的HDFS.即是hadoop的分布式系统,看了很久的源代码看的我真 ...

  5. 基于yolov5的Android版本目标检测app开发(部署安卓手机)

    基于yolov5的Android版本目标检测app开发(部署安卓手机) 0.项目开发需求 (1)开发app部署到安卓手机 (2)支持VOC数据集上所有的目标检测 1.开发环境搭建 windows10+ ...

  6. Elasticsearch集群搭建手册及配置详情(基于elasticsearch-8.5.2版本)

    Elasticsearch集群搭建手册及配置详情(基于elasticsearch-8.5.2版本) 0 安装前准备工作 0.1 安装包下载 组件 安装包 下载地址 es elasticsearch-8 ...

  7. 基于1.3.3版本tooltip的datagrid单元格tip实现

    基于1.3.3版本tooltip的datagrid单元格tip实现 2013年05月25日 ⁄ datagrid ⁄ 共 6122字 ⁄ 评论数 26 ⁄ 被围观 7,033 views+ 文章目录 ...

  8. **角点检测(Harris)基于Opencv2.4.9版本+VS2012开发平台进行编**

    角点检测(Harris)基于Opencv2.4.9版本+VS2012开发平台进行编 角点检测 角点检测(Corner Detection)是计算机视觉系统中用来获得图像特征的一种方法,广泛应用于运动检 ...

  9. flyme最新7基于android,终于来了,魅族开始基于Android 7.0版本的Flyme内测

    拼 命 加 载 中 ... 在大部分厂商已经跟进基于Android 7.0的版本时,作为国内最著名的定制ROM之一的Flyme还停留在基于Android 6.0的版本,在系统更新速度上落后了很多.不过 ...

最新文章

  1. string find()函数
  2. 仅通过SQL备份文件将MOSS服务器场及所有网站数据迁移到新的一台服务器上
  3. Docker搭建Nacos1.3+Seata1.4+MySQL8分布式事务(服务端)
  4. Visual Question Answering概述
  5. python量化常用_Python量化常用函数
  6. 通过aws部署推荐系统_通过AWS Elastic Beanstalk轻松进行Spring Boot部署
  7. [react] react组件的state和props两者有什么区别?
  8. 前端学习(3304):函数组件组件父组件子组件forwarRef聚焦
  9. 一种简单的LRU cache设计 C++
  10. 全局 HOOK 研究
  11. Android 端天气预报APP的实现(二)阿里云天气预报API的获取
  12. 课程设计---宾馆客房管理系统
  13. 全国大学生飞思卡尔智能车竞赛小记
  14. 图像处理-图像边缘处理
  15. C++基于ATM的个人银行账户管理系统
  16. 安全牛3·15期间遭黑客攻击 阿里云成功抵御
  17. win10更新后任务栏卡死,桌面正常解决办法
  18. 在光伏并网柜保护监测领域安科瑞给出的解决方案
  19. Ubuntu使用自带的Liboffice Draw去除PDF水印
  20. win10 wifi连接不上服务器未响应,简单几步解决win10wifi一直断开连接不上的问题...

热门文章

  1. thinkphp发起网络请求
  2. 【异常】com.alicp.jetcache.support.CacheEncodeException: Java Encode error.
  3. Request-URI Too Large
  4. c语言炒股软件公式,操盘手等超贵软件指标公式
  5. unity 获取天气的几种方式
  6. stm32f103c8 can控制步科步进电机
  7. ffmpeg 读取显示摄像头数据
  8. NVivo案例:使用自动化见解分析大型调查数据
  9. 义务教育数学课程标准2011
  10. 征信不良记录,花钱就能修复?