博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
是男人就下100层【第五层】——2048游戏从源代码到公布市场
阅读量:7098 次
发布时间:2019-06-28

本文共 2430 字,大约阅读时间需要 8 分钟。

上一篇《》中阳光小强对2048游戏用自己的方式进行了实现,并分享了核心源码,这一篇阳光小强打算将该项目的全部源码公开并结合这个实例在这篇文章中介绍一下怎样加入广告和实现分享功能。

终于执行效果例如以下(很多其它执行效果请看《》):

一、怎样实现换肤

换肤的思路事实上非常easy。在ActionBar中加入菜单。当用户选择某一个皮肤后就将当前的皮肤状态改动并保存到SharedPreference中,以便后面启动后直接读取皮肤,创建该皮肤的Bitmap对象并在onDraw中绘制。
private void changeSkin(int skin) {		Editor edit = sharedPreference.edit();		edit.putInt("skin", skin);		edit.commit();		my2048View.changeSkin(skin);	}
public void changeSkin(int skin){		this.skin = skin;		switch (skin) {		case 0:			for(int i=0; i

二、怎样加入广告

在加入广告之前有些朋友可能就会问了,什么广告平台比較好?这个问题的答案事实上我也不知道,在这之前阳光小强从来没有在app中加入过广告。这次仅仅是尝试,就先用了有米的广告,最后又换成了聚米的广告(个人认为聚米的广告收益稍高)。

事实上各种平台的广告集成方式基本相似。以下就看看聚米的广告怎样集成吧:
我第一次选择的官方统一PUSH包。集成后发现360非常容易检測出来,后来又换成了自己定义PUSH的方式(官方文档非常具体:http://www.adjumi.com/AppDevPlat/Page/SDKSm.aspx),我这里就不一步步的解释了。
最后记得开启广告:
接下来做的事情就非常easy了,隔一段时间看看自己的收益吧
大笑

三、怎样加入分享功能

分享功能实现的方式大概有两种。一种是通过启动系统的分析组件(界面不好改动。不易控制)。还有一种是用第三方的分析组件(容易自己定义。界面美观,推荐)。

第一种方法实现例如以下:
@Override			public void onClick(View arg0) {				/*my2048View.saveMaxScore();				Intent intent=new Intent(Intent.ACTION_SEND);                    intent.setType("image/*");                    intent.putExtra(Intent.EXTRA_SUBJECT, "LOL版2048");                // intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File("android:resource://com.example.my2048/"+R.raw.share_img)));                intent.putExtra(Intent.EXTRA_TEXT, "我的最高纪录是"+ sharedPreference.getInt("maxScore", 0) +"分,赶快来玩吧,LOL版2048好玩!有木有~~。进去看看:http://blog.csdn.net/dawanganban/article/details/37863693");                            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);                    startActivity(Intent.createChooser(intent, getTitle()));    */				// 是否仅仅有已登录用户才干打开分享选择页				my2048View.saveMaxScore();		        mController.openShare(MainActivity.this, false);			}
另外一种方式的实现有多种平台可选(这里选择友盟)
首先注冊为友盟的开发人员,并获取到友盟的appkey
友盟分享的帮助文档(http://dev.umeng.com/social/android/share/quick-integration),在实现分享之前须要做一些准备工作,去各个分享平台申请appkey
有个分享的具体请參考友盟的API(这里吐槽一下。API文档写的太烂了~~)
友盟的集成方式有三种,我选择的是官方推荐的另外一种方式。所以须要引入一个外部的project(用于分享的project),而且将这个project放到了与该project同级的文件夹。
友盟社会化分享组件project(项目中用的Git下载地址:git@code.csdn.net:lxq_xsyu/social_sdk_library_project.git)
这里混淆的时候须要注意一点路径问题:
-libraryjars ../social_sdk_library_project/libs/SocialSDK_QQZone_2.jar

四、完整源码下载

上面仅仅是抛砖引玉。有关具体和更好的方法请參考该项目,我将项目的全部源码下载地址贴出(注:请使用Git工具下载,并下载上面的分享组件project使用如图方式加入)
Git下载地址:git@code.csdn.net:lxq_xsyu/my2048.git
代码下载地址:
最后假设你认为对你有帮助,别忘了给阳光小强投上一票,投票地址

假设有问题请在以下留言~~假设阳光小强看到会及时回复的微笑

你可能感兴趣的文章
Linux下apache日志分析与状态查看方法
查看>>
hdu2412(树形dp)
查看>>
js返回函数, 函数名后带多个括号的用法及join()的注意事项
查看>>
【NOIP2007】矩阵取数
查看>>
关于VIM在Win10下的无意义折腾
查看>>
ibatis example Class 使用
查看>>
android的触摸事件(转)
查看>>
springMVC与struts2的区别
查看>>
【DB2数据库在windows平台上的安装】
查看>>
课后作业-阅读任务-阅读笔记-4
查看>>
Yii2数据缓存详解
查看>>
02Scala-函数定义、流程控制、异常处理入门实战
查看>>
jquery,smarty,dedecms的插件思路------dede未实践
查看>>
php pdo错误:SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
查看>>
Team Foundation Server:CodeUI Automation Test 学习笔记4
查看>>
Linux 小知识翻译 - 「cron」
查看>>
docker 一些简略环境搭建及部分链接
查看>>
android studio获取SHA1
查看>>
怎么才能在windows使用git命令
查看>>
Sigar应用
查看>>