是男人就下100层【第五层】——2048游戏从源码到发布市场

上一篇《是男人就下100层【第五层】——换肤版2048游戏》中阳光小强对2048游戏用自己的方式进行了实现,并分享了核心源码,这一篇阳光小强打算将该项目的所有源代码公开并结合这个实例在这篇文章中介绍一下如何添加广告和实现分享功能。

最终运行效果如下(更多运行效果请看《是男人就下100层【第五层】——换肤版2048游戏》):


一、如何实现换肤

换肤的思路其实很简单,在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<bitmaps.length; i++){
				bitmaps[i] = null;
			}
			for(int i=0; i<bitmaps_skin3.length; i++){
				bitmaps_skin3[i] = null;
			}
			break;
		case 1:
			for(int i=0; i<bitmaps_skin3.length; i++){
				bitmaps_skin3[i] = null;
			}
			initBitmap();
			break;
		case 2:
			for(int i=0; i<bitmaps.length; i++){
				bitmaps[i] = null;
			}
			initBitmap();
			break;
		}
		invalidate();
	}

二、如何添加广告

在添加广告之前有些朋友可能就会问了,什么广告平台比较好?这个问题的答案其实我也不知道,在这之前阳光小强从来没有在app中添加过广告,这次只是尝试,就先用了有米的广告,最后又换成了聚米的广告(个人觉得聚米的广告收益稍高)。
其实各种平台的广告集成方式基本类似,下面就看看聚米的广告如何集成吧:

我第一次选择的官方统一PUSH包,集成后发现360很容易检测出来,后来又换成了自定义PUSH的方式(官方文档很详细:http://www.adjumi.com/AppDevPlat/Page/SDKSm.aspx),我这里就不一步步的解释了。
最后记得开启广告:

接下来做的事情就很简单了,隔一段时间看看自己的收益吧 大笑

三、如何添加分享功能

分享功能实现的方式大概有两种,一种是通过启动系统的分析组件(界面不好修改,不易控制),另一种是用第三方的分析组件(容易自定义,界面美观,推荐)。
第一种方法实现如下:
			@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文档写的太烂了~~)
友盟的集成方式有三种,我选择的是官方推荐的第二种方式,所以需要引入一个外部的工程(用于分享的工程),并且将这个工程放到了与该工程同级的目录。
友盟社会化分享组件工程(项目中用的Git下载地址:git@code.csdn.net:lxq_xsyu/social_sdk_library_project.git)
这里混淆的时候需要注意一点路径问题:
-libraryjars ../social_sdk_library_project/libs/SocialSDK_QQZone_2.jar

四、完整源代码下载

上面只是抛砖引玉,有关详细和更好的方法请参考该项目,我将项目的所有源代码下载地址贴出(注:请使用Git工具下载,并下载上面的分享组件工程使用如图方式添加)

Git下载地址:git@code.csdn.net:lxq_xsyu/my2048.git
最后如果你觉得对你有帮助,别忘了给阳光小强投上一票,投票地址http://vote.blog.csdn.net/article/details?articleid=37863693

如果有问题请在下面留言~~如果阳光小强看到会及时回复的微笑

  • 25
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 34
    评论
Python项目案例开发从入门到实战的主题为爬虫、游戏和机器学习源码。这本书旨在让读者通过实际案例的开发,逐步掌握Python的应用技巧和项目开发经验。 首先,书中介绍了爬虫的基础知识和原理,然后通过实战案例,教读者如何使用Python编写自己的爬虫程序。案例涵盖了从简单的网页爬取到高级的数据挖掘和分析。读者通过学习这些案例,可以了解爬虫的工作原理和实际应用。 其次,书中还介绍了Python游戏开发的基础知识和技巧。读者可以通过案例学习如何使用Python库和框架,编写自己的游戏程序。案例涵盖了不同类型的游戏,包括文字冒险游戏、迷宫游戏和简单的图形游戏等。读者通过实践,可以逐步提升自己的游戏开发技能。 最后,书中还介绍了机器学习的基本原理和常用算法。通过案例,读者可以学习如何使用Python编写机器学习模型,进行数据预处理和特征工程,并进行模型评估和优化。案例涵盖了分类、回归和聚类等不同类型的机器学习任务,读者可以通过这些案例加深对机器学习的理解,提升自己的数据科学能力。 总体来说,这本书通过实际案例的开发,引导读者逐步掌握Python的应用技巧和项目开发经验。爬虫、游戏和机器学习源码的学习将帮助读者在实践中提升自己的编程能力,并为未来的项目开发打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值