【cocos2d-x入门实战】微信飞机大战之十五:跨平台移植和广告植入

SpringBoot+Vue+Mysql社区医院信息平台(源码+文档) SpringBoot+Vue+Mysql学生宿舍信息管理系统 WEB端软件项目(源码+文档) 项目包含:①完整源码(后端+管理后台+用户前台);②数据库脚本文件;③万字论文文档;④开题报告;⑤答辩PPT;⑥项目运行视频教程。 项目架构: B/S 架构、MVC 分层设计 技术栈: Java、MySQL、SpringBoot、MyBatis-Plus、Token 权限校验、管理后台 Vue+ElementUI+ECharts、用户前台 Layui+jQuery、Maven 构建。 一、角色设计 学生用户: 注册登录、浏览宿舍信息、查询宿舍安排、在线报修、缴费查询、失物招领、桶装水预订、评论交流、收藏等。 商家用户: 注册登录、桶装水品牌与商品信息维护、预订订单查看与处理。 维修人员: 注册登录、查看待处理报修、接单维修、填写报修处理结果与进度反馈。 管理员: 学生管理、班级管理、宿舍信息管理、宿舍安排管理、报修处理管理、缴费信息管理、卫生检查与文明宿舍管理、失物招领管理、桶装水与商家管理、维修人员管理、公告资讯与轮播图管理等。 二、前台功能模块(学生端) 1. 首页展示:轮播图、宿舍公告、最新动态推荐、常用服务快速入口 2. 宿舍信息模块:宿舍列表、楼栋与房间条件筛选、宿舍详情查看、我的宿舍安排查询 3. 在线报修模块:在线提交宿舍设施报修申请、上传故障描述、查看报修进度与维修处理结果 4. 缴费模块:水电等缴费记录查询、缴费状态查看 5. 卫生检查与文明宿舍:宿舍卫生检查结果公示、文明宿舍展示 6. 失物招领模块:失物信息发布、招领信息发布、详情查看、评论互动 7. 桶装水预订:桶装水品牌与商品浏览、在线预订、我的预订记录查询 8. 假期留宿:假期留校申请提交、申请记录查询 9. 评论与收藏:信息评论、查看他人评论、评论回复互动、收藏感兴趣的内容 10. 个人中心... 立即下载
转载作品自: http://blog.youkuaiyun.com/jackystudio/article/details/12150907

整个游戏是出炉了,但是只在PC上玩很不过瘾,触屏的体验是鼠标没办法达到的。所以这节我们把它移植到Android平台上。当然这个游戏太微不足道了,所以我也不指望它能为我赚什么钱,现在考虑些就图样图森破了。这里的广告只是纯技术上的研究。做游戏,浮躁不得。


1.移植到Android平台

其实这些我在http://blog.youkuaiyun.com/jackystudio/article/details/11516435一文中就有讲过了,这里就再重复一遍吧。Cygwin和Eclipse自行准备好吧。


1.1.配置Android项目

(1)点击已配置好的create-android-project.bat,创建JackyAirplane的安卓项目。配置方式创建请看上文。

(2)Win32项目下的Classes里面的所有源文件和头文件都放进Android项目中的Classes。如果你写的源文件和头文件是放在proj.win32中的,也把它们拷出来到Classes。

(3)进入proj.android,把音效,字体,图片这些资源拷入asset文件夹中。

(4)进入proj.android,res下各目录存放有游戏的图标,你可以进行修改。

(5)进入proj.android,jni→helloworld目录下有main.cpp,这是跨平台的入口,也就是jni层相关。找到这个函数Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit,修改如下内容。

[cpp]  view plain copy
  1. if (!CCDirector::sharedDirector()->getOpenGLView())  
  2. {  
  3.     CCEGLView *view = &CCEGLView::sharedOpenGLView();  
  4.     view->setFrameSize(w, h);  
  5.     // set the design resolution screen size, if you want to use Design Resoulution scaled to current screen, please uncomment next line.  
  6.      view->setDesignResolutionSize(480, 800);//加入这一句,目的就是为了适配屏幕  
  7.   
  8.     AppDelegate *pAppDelegate = new AppDelegate();  
  9.     CCApplication::sharedApplication().run();  
  10. }  
(6)进入proj.android,jni。打开android.mk,修改LOCAL_SRC_FILES字段为下面内容,这就是所有的源码。

[cpp]  view plain copy
  1. LOCAL_SRC_FILES := helloworld/main.cpp \  
  2.                    ../../Classes/AppDelegate.cpp \  
  3.            ../../Classes/BulletLayer.cpp \  
  4.            ../../Classes/ControlLayer.cpp \  
  5.            ../../Classes/Enemy1Layer.cpp \  
  6.            ../../Classes/Enemy2Layer.cpp \  
  7.            ../../Classes/Enemy3Layer.cpp \  
  8.            ../../Classes/GameLayer.cpp \  
  9.            ../../Classes/GameScene.cpp \  
  10.            ../../Classes/PlaneLayer.cpp \  
  11.            ../../Classes/WelcomeLayer.cpp \  
  12.            ../../Classes/WelcomeScene.cpp \  
  13.            ../../Classes/Enemy1Sprite.cpp \  
  14.            ../../Classes/Enemy2Sprite.cpp \  
  15.            ../../Classes/Enemy3Sprite.cpp \  
  16.            ../../Classes/UFOLayer.cpp \  
  17.            ../../Classes/GameOverLayer.cpp \  
  18.            ../../Classes/GameOverScene.cpp \  
  19.            ../../Classes/MutiBulletsLayer.cpp   


1.2.交叉编译

打开Cygwin,把proj.android中的build-native.sh拖到Cygwin中,执行编译。正常编译成功后,你可以在\proj.android\libs\armeabi目录下找到libgame.so。这就是整个游戏的内容被打包进去了。.so是linux下的动态链接库,相当于windows下的.dll。


1.3.导入android项目,生成apk

打开Eclipse,File-Import-Android-Existing Android code to workspace。选择刚才的proj.android。导入。Eclipse工作区就可以看到这个游戏的android项目了。啥都不用改了,直接编译成.apk就可以了。

注意:AVD不支持openGLES2.0,所以必须用真机调试。


2.广告植入

现在这类广告多如牛毛。选择哪家我也就不多说了,免得有广告嫌疑。如何植入广告这里我也只能简单的说下。因为实际植入还是很麻烦的,毕竟广告商的SDK不一样,还涉及到jni技术,java基础,Android开发基础,这些都要有了解。

这里我把广告分为两类,这部分我也算初学,如果有什么错误,烦请指出。。。


2.1.Android广告和cocos2d-x游戏无交互

这类比如开场插屏广告之类的。

这里广告和游戏没有交互,也就是说它和游戏的相对独立的,大体步骤是:

(1)单独的做出一个带有广告LoadingActivity和对应布局,然后在AndroidManifest.xml中把启动Activity指向它。

(2)我们看一下JackyActivityActivity(cocos2d-x自动帮你生成的):

[cpp]  view plain copy
  1. public class JackyAirplane extends Cocos2dxActivity  
[cpp]  view plain copy
  1. public class Cocos2dxActivity extends Activity  
是的,cocos2d-x游戏也是一个Activity,所以可以在LoadingActivity中实现Runnable接口,开启一个线程调用它。

[cpp]  view plain copy
  1. Runnable runnable=new Runnable() {  
  2.       
  3.     @Override  
  4.     public void run() {  
  5.         // TODO Auto-generated method stub  
  6.         Intent intent = new Intent(LoadActivity.this, JackyAirplane.class);  
  7.         LoadActivity.this.startActivity(intent);//切换Activity  
  8.         LoadActivity.this.finish();  
  9.     }  
  10. };  


2.2.Android广告和cocos2d-x游戏有交互

这类比如过场广告,暂停广告之类的。

这里处理起来就比无交互的麻烦多了。其实也就是要在C++代码中调用JavaAPI,所以采用了Jni技术。

(1)Java代码:给JackyAirplane添加一个静态广告成员变量。

[java]  view plain copy
  1. public class JackyAirplane extends Cocos2dxActivity{  
  2. ...  
  3. public static AdView adView;    // 第3方广告  
  4.   
  5. }  

(2)Java代码:添加静态成员方法,用来显示广告。

[java]  view plain copy
  1. public static void showAD() {   
  2.   new Thread(new Runnable(){  
  3.    
  4.   @Override  
  5.   public void run() {  
  6.   adView.setVisibility( adView.VISIBLE );  
  7.   }  
  8.    
  9.   }).start();  
  10. }  

(3)C++代码:通过jni调用showAD()。

[cpp]  view plain copy
  1. #include <jni/JniHelper.h>  
  2.   
  3. JniMethodInfo minfo;    
  4. jobject jobj;    
  5.    
  6. bool b = JniHelper::getStaticMethodInfo(minfo,     
  7. "com/jacky/jackyAirplane/JackyAirplane",  //类路径  
  8. "showAD",   //静态方法名    
  9. "()V");   //括号里的是参数,后面的是返回值  
  10. if(b)  
  11.     jobj = minfo.env->CallStaticObjectMethod(minfo.classID, minfo.methodID);    
  12. else  
  13.     ;//打印错误...  
如果要控制广告的开关,可以在Java内使用Handler来接收消息控制,不过这个时候就要记得传参(开/关)了。


好了,微信飞机大战讲解到这里就全部结束了。感谢CCTV什么的就不来了。希望这一系列的教程能够帮助您开启cocos2d-x游戏的快乐旅途!

本系列源码:https://github.com/fusijie/Jacky_AirPlane.git,直接Fork吧:)

游戏下载猛击这里:http://as.baidu.com/a/item?docid=4225601&pre=web_am_se&f=web_alad_5@next

YOLOv8作物病害检测实战源码 这是一套基于YOLOv8n的农田病虫害目标检测系统,对叶片照片做目标检测,识别健康叶片、褐斑病、白粉病、锈病四类,并给出对应防治建议。全流程纯CPU可跑,配套交付完整Python源码、9章实战教程(md/html/pdf三种格式)、100张自造样本及YOLO标签、训练曲线与混淆矩阵截图、Tkinter界面和答辩PPT。 系统围绕五项功能展开:同一套推理逻辑覆盖图像、视频、摄像头三种来源;图形界面选文件即检测,画面叠彩色框标注病名与置信度,右侧面板同步给出症状与防治措施;检测记录自动写入CSV,统计页一键生成四类病害占比饼图;训练结束自动产出损失与精度曲线;内置防治建议文案库,检测命中即回填面板。 选型用YOLOv8n nano档,参数量约320万、权重约6.2MB,CPU单帧几十毫秒,小样本训练5到8分钟完成。数据由data_gen.py程序化绘制100张叶片图,固定随机种子,重跑分布一致,不依赖公开数据集。依赖全部锁版本,教程第7章整理了19条真实报错及排查方法,第8章给出换模型档、换PlantVillage数据集的迁移路径。 适合做计算机视觉方向课程设计或毕业设计的学生,也适合智慧农业方向想了解检测模型如何落进业务面板的学习者。不需要GPU,不需要系统学过目标检测,教程第3章会按需补齐原理。 使用时先pip install -r requirements.txt装好依赖,download_data.py下载预训练权重,data_gen.py生成样本后train.py训练,完成后用main.py infer批量检测或main.py gui启动界面。 立即下载

相关推荐

数据挖掘实战:决策树 + 聚类 + 关联规则,零 Key 离线可跑(Python 源码)

数据挖掘实战包。用 Python 标准库实现 CART 风格决策树、K-Means 聚类与 Apriori 关联规则,在虚构「星河便利店」会员表和购物篮上跑通分类、分群与购物篮分析,并给出准确率、轮廓系数、支持度/置信度/提升度。零第三方依赖、零 API Key 即可离线跑通。含 4 个样例、离线冒烟、中文 README(含「使用方法」)。均为作者原创可运行源码。MIT。作者 blog.youkuaiyun.com/mtl1994

游戏植入广告获取收益

1. 给游戏加入广告SDK  对于个人而言,游戏写好了,当然就要发布出去了,如果你想让你千辛万苦做出来的游戏给你带来一点点回报,那么,你可以选择加入广告。   加入广告其实并不复杂,当然,第一次总是会遇到各种困难,熬过去了,就很轻松了。   首先,我们的广告从哪里来?从广告商那里?不对,除非我们的游戏很火,每天都有很多人玩,那我们就可以自己去找广告商,这样收益更高。 但作为一个普通人开发的

小刚的博客 1万+

科技中介服务机构在技术供需对接中如何实现服务流程的自动化与标准化?.docx

科技中介服务机构在技术供需对接中如何实现服务流程的自动化与标准化?

【cocos2d-x入门实战】微信飞机大战之一:搞个飞机来玩玩

cocos2d-x之微信打飞机实战演习,原滋原味的微信打飞机源码分享。

偶尔e网事 3万+

产业园区如何高效对接企业技术需求与高校科研成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

国央企创新负责人如何快速掌握本地科技资源分布与匹配情况?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

【cocos2d-x入门实战】微信飞机大战来袭!

【cocos2d-x入门实战】微信飞机大战之零:环境配置、交叉编译及安卓项目的生成 【cocos2d-x入门实战】微信飞机大战之一:搞个飞机来玩玩 【cocos2d-x入门实战】微信飞机大战之二:别急,先处理好CCScene和CCLayer的关系 【cocos2d-x入门实战】微信飞机大战之三:引擎坐标系,锚点和背景滚动 【cocos2d-x入门实战】微信飞机大战之四:主角

Mr.Simple的专栏 2098

国央企创新负责人如何实现科技成果的精准识别与高效筛选?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

【cocos2d-x入门实战】微信飞机大战讲解

分享到:新浪微博腾讯微博【cocos2d-x入门实战】微信飞机大战讲解cocos2d-x之微信打飞机实战演习,原滋原味的微信打飞机源码分享。收藏 最新更新文章 [移动开发] 【cocos2d-x入门实战】微信飞机大战之十五:跨平台移植和广告植入 cocos2d-x之微信打飞机实战演习,原滋原味的微信打飞机源码分享。... cocos2d-x 交叉编译 andro

MTT_SKY 1398

高校技术转移办公室人员如何系统化管理科技成果信息?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

科技中介服务机构如何构建标准化、模块化的智能服务工具?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

产业园区运营负责人如何利用数智工具提升园区企业的技术对接效率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

fab-pm-optimizer-python-entry-py39-20261021-v1-1-0

fab-pm-optimizer-python-entry-py39-20261021-v1-1-0

ICD10 openGauss版

ICD10 openGauss版

PSIM-三相维也纳VIENNA整流器电压电流双闭环+中点电位平衡SVPWM控制仿真

内容概要:本文档详细介绍了一种基于PSIM软件实现的三相维也纳(VIENNA)整流器仿真模型,重点实现了电压电流双闭环控制与中点电位平衡的SVPWM调制策略。该仿真系统通过精确的控制算法有效提升了整流器的功率因数,降低了输入电流谐波含量,并解决了三电平拓扑中常见的直流侧中点电位偏移问题,具有较高的工程实用价值,适用于高效率、高功率密度的电力电子系统设计与科研验证。文档还整合了丰富的配套资源,涵盖多种电力电子变换器拓扑结构、先进控制算法及典型应用场景,形成了系统化的技术资料体系,有助于深入理解现代整流技术的核心原理与发展动态。; 适合人群:面向从事电力电子、电气工程、新能源变换系统等领域的科研人员、高校研究生以及具备一定仿真基础的工程技术人员。; 使用场景及目标:①深入研究三相VIENNA整流器的工作机理与控制特性;②掌握电压外环、电流内环双闭环控制结构的设计方法;③理解并实现SVPWM调制技术与中点电位平衡控制策略的协同作用;④开展相关控制算法的仿真验证、性能优化与实验对比,为高性能整流装置的研发提供理论支撑和技术原型。; 阅读建议:建议结合文中列出的其他仿真案例(如PWM整流器、LLC谐振变换器、DAB变换器等)进行横向对比学习,充分利用所提供的PSIM、MATLAB/Simulink等多平台仿真资源,重点关注控制逻辑与主电路的耦合关系,通过参数调试与波形分析深化对系统动态响应和稳态性能的理解,强化“理论—建模—仿真—优化”的闭环研究能力。

【MFiX后处理】MFiX中使用des_usr_var输出颗粒的传热量(2020-11-27更新变更输出变量名方法)

参考之前Yin的那一篇博客 https://www.cnblogs.com/Jay-CFD/p/10621274.html 输出一下颗粒传热量 使用的算例是fluid_bed_dem_2d 打开des scalar tracking 前面都和Yin那篇一样,打开enable user scalar tracking 输入2 因为第一个用来测试Y加速度了 第二个输出传热量 然后在output vtk中勾选好 更改源代码 源代码为des_thermo_newvalues.f 在mfix-GUI自带的ed

beidou111的博客 1533
上一篇: cocos2dx http 链接以及采集数据 小例子
下一篇: cocos2dx 项目经验之截图设置弹出暂停界面
cocos_Wei
博客等级 码龄15年 77粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值